From 485c571c60c998e0ecde14b3de3342bdfed77958 Mon Sep 17 00:00:00 2001 From: mufazalov Date: Mon, 28 Oct 2024 17:48:26 +0300 Subject: [PATCH 1/2] fix: pass database to capabilities query --- .../NodeHostWrapper/NodeHostWrapper.tsx | 2 +- src/components/Tablet/Tablet.tsx | 8 +++--- .../TabletNameWrapper/TabletNameWrapper.tsx | 4 +-- .../TabletsStatistic/TabletsStatistic.tsx | 28 ++++--------------- .../TenantNameWrapper/TenantNameWrapper.tsx | 2 +- src/components/nodesColumns/columns.tsx | 2 +- src/containers/App/Content.tsx | 4 +-- src/containers/Header/breadcrumbs.tsx | 4 +-- src/containers/Node/Node.tsx | 27 ++++++++++++++---- src/containers/Node/NodePages.ts | 12 ++++++-- src/containers/Tablet/Tablet.tsx | 16 ++++------- .../Diagnostics/Consumers/columns/columns.tsx | 5 ++-- .../Tenant/Diagnostics/Diagnostics.tsx | 7 ++--- .../Tenant/ObjectSummary/ObjectSummary.tsx | 9 +++--- src/containers/Tenant/Tenant.tsx | 16 ++++++++++- src/containers/Tenant/TenantPages.tsx | 1 + src/routes.ts | 19 ++++++++++++- src/services/api.ts | 4 +-- .../reducers/capabilities/capabilities.ts | 23 +++++++++++---- src/store/reducers/capabilities/hooks.ts | 25 +++++++++++++++-- src/store/reducers/pdisk/pdisk.ts | 2 +- 21 files changed, 138 insertions(+), 82 deletions(-) diff --git a/src/components/NodeHostWrapper/NodeHostWrapper.tsx b/src/components/NodeHostWrapper/NodeHostWrapper.tsx index c5dcce59ab..66528207c6 100644 --- a/src/components/NodeHostWrapper/NodeHostWrapper.tsx +++ b/src/components/NodeHostWrapper/NodeHostWrapper.tsx @@ -37,7 +37,7 @@ export const NodeHostWrapper = ({node, getNodeRef, database}: NodeHostWrapperPro const nodePath = isNodeAvailable ? getDefaultNodePath(node.NodeId, { - tenantName: database ?? node.TenantName, + database: database ?? node.TenantName, }) : undefined; diff --git a/src/components/Tablet/Tablet.tsx b/src/components/Tablet/Tablet.tsx index 3e2713acfb..e0fc6a658e 100644 --- a/src/components/Tablet/Tablet.tsx +++ b/src/components/Tablet/Tablet.tsx @@ -13,14 +13,14 @@ const b = cn('tablet'); interface TabletProps { tablet?: TTabletStateInfo; - tenantName?: string; + database?: string; } -export const Tablet = ({tablet = {}, tenantName}: TabletProps) => { - const {TabletId: id, NodeId, Type} = tablet; +export const Tablet = ({tablet = {}, database}: TabletProps) => { + const {TabletId: id} = tablet; const status = tablet.Overall?.toLowerCase(); - const tabletPath = id && getTabletPagePath(id, {nodeId: NodeId, tenantName, type: Type}); + const tabletPath = id && getTabletPagePath(id, {database}); return ( { interface TabletsStatisticProps { tablets: TTabletStateInfo[]; - tenantName: string | undefined; + database: string | undefined; nodeId: string | number; - backend?: string; } -export const TabletsStatistic = ({ - tablets = [], - tenantName, - nodeId, - backend, -}: TabletsStatisticProps) => { +export const TabletsStatistic = ({tablets = [], database, nodeId}: TabletsStatisticProps) => { const renderTabletInfo = (item: ReturnType[number], index: number) => { - const tabletsPath = createHref( - routes.node, - {id: nodeId, activeTab: TABLETS}, - { - tenantName, - backend, - }, - ); + const tabletsPath = getDefaultNodePath(nodeId, {database}, TABLETS); const label = `${item.label}: ${item.count}`; const className = b('tablet', {state: item.state?.toLowerCase()}); - return backend ? ( - - {label} - - ) : ( + return ( {label} diff --git a/src/components/TenantNameWrapper/TenantNameWrapper.tsx b/src/components/TenantNameWrapper/TenantNameWrapper.tsx index 5810fcf0d9..e428780113 100644 --- a/src/components/TenantNameWrapper/TenantNameWrapper.tsx +++ b/src/components/TenantNameWrapper/TenantNameWrapper.tsx @@ -66,7 +66,7 @@ export function TenantNameWrapper({tenant, additionalTenantsProps}: TenantNameWr status={tenant.Overall} hasClipboardButton path={getTenantPath({ - name: tenant.Name, + database: tenant.Name, backend, })} /> diff --git a/src/components/nodesColumns/columns.tsx b/src/components/nodesColumns/columns.tsx index ed86780f14..f726c7b864 100644 --- a/src/components/nodesColumns/columns.tsx +++ b/src/components/nodesColumns/columns.tsx @@ -230,7 +230,7 @@ export function getTabletsColumn< render: ({row}) => { return row.Tablets ? ( diff --git a/src/containers/App/Content.tsx b/src/containers/App/Content.tsx index 9f7ceab287..6f05e1fa86 100644 --- a/src/containers/App/Content.tsx +++ b/src/containers/App/Content.tsx @@ -12,7 +12,7 @@ import type {SlotComponent} from '../../components/slots/types'; import routes from '../../routes'; import type {RootState} from '../../store'; import {authenticationApi} from '../../store/reducers/authentication/authentication'; -import {capabilitiesApi} from '../../store/reducers/capabilities/capabilities'; +import {useCapabilitiesQuery} from '../../store/reducers/capabilities/hooks'; import {nodesListApi} from '../../store/reducers/nodesList'; import {cn} from '../../utils/cn'; import {lazyComponent} from '../../utils/lazyComponent'; @@ -200,7 +200,7 @@ function GetNodesList() { } function GetCapabilities() { - capabilitiesApi.useGetClusterCapabilitiesQuery(undefined); + useCapabilitiesQuery(); return null; } diff --git a/src/containers/Header/breadcrumbs.tsx b/src/containers/Header/breadcrumbs.tsx index dbe6d8b6d9..14e036b499 100644 --- a/src/containers/Header/breadcrumbs.tsx +++ b/src/containers/Header/breadcrumbs.tsx @@ -67,7 +67,7 @@ const getTenantBreadcrumbs: GetBreadcrumbs = (options, const breadcrumbs = getClusterBreadcrumbs(options, query); const text = tenantName ? prepareTenantName(tenantName) : headerKeyset('breadcrumbs.tenant'); - const link = tenantName ? getTenantPath({...query, name: tenantName}) : undefined; + const link = tenantName ? getTenantPath({...query, database: tenantName}) : undefined; const lastItem = {text, link, icon: }; breadcrumbs.push(lastItem); @@ -92,7 +92,7 @@ const getNodeBreadcrumbs: GetBreadcrumbs = (options, que const lastItem = { text, link: nodeId - ? getDefaultNodePath(nodeId, {tenantName, ...query}, nodeActiveTab) + ? getDefaultNodePath(nodeId, {database: tenantName, ...query}, nodeActiveTab) : undefined, icon: getNodeIcon(nodeRole), }; diff --git a/src/containers/Node/Node.tsx b/src/containers/Node/Node.tsx index 7424d777cd..77cf7c658c 100644 --- a/src/containers/Node/Node.tsx +++ b/src/containers/Node/Node.tsx @@ -2,14 +2,15 @@ import React from 'react'; import {Tabs} from '@gravity-ui/uikit'; import {Helmet} from 'react-helmet-async'; -import {Link, useLocation, useRouteMatch} from 'react-router-dom'; +import {Link, useRouteMatch} from 'react-router-dom'; +import {useQueryParams} from 'use-query-params'; import {AutoRefreshControl} from '../../components/AutoRefreshControl/AutoRefreshControl'; import {BasicNodeViewer} from '../../components/BasicNodeViewer'; import {ResponseError} from '../../components/Errors/ResponseError'; import {FullNodeViewer} from '../../components/FullNodeViewer/FullNodeViewer'; import {Loader} from '../../components/Loader'; -import routes, {createHref, parseQuery} from '../../routes'; +import routes from '../../routes'; import { useCapabilitiesLoaded, useDiskPagesAvailable, @@ -22,7 +23,16 @@ import {useAutoRefreshInterval, useTypedDispatch} from '../../utils/hooks'; import {StorageWrapper} from '../Storage/StorageWrapper'; import {Tablets} from '../Tablets'; -import {NODE_PAGES, OVERVIEW, STORAGE, STRUCTURE, TABLETS} from './NodePages'; +import type {NodeTab} from './NodePages'; +import { + NODE_PAGES, + OVERVIEW, + STORAGE, + STRUCTURE, + TABLETS, + getDefaultNodePath, + nodePageQueryParams, +} from './NodePages'; import NodeStructure from './NodeStructure/NodeStructure'; import './Node.scss'; @@ -40,13 +50,12 @@ export function Node(props: NodeProps) { const container = React.useRef(null); const dispatch = useTypedDispatch(); - const location = useLocation(); const match = useRouteMatch<{id: string; activeTab: string}>(routes.node) ?? Object.create(null); const {id: nodeId, activeTab} = match.params; - const {tenantName: tenantNameFromQuery} = parseQuery(location); + const [{database: tenantNameFromQuery}] = useQueryParams(nodePageQueryParams); const [autoRefreshInterval] = useAutoRefreshInterval(); const {currentData, isFetching, error} = nodeApi.useGetNodeInfoQuery( @@ -109,7 +118,13 @@ export function Node(props: NodeProps) { activeTab={activeTabVerified.id} wrapTo={({id}, tabNode) => ( diff --git a/src/containers/Node/NodePages.ts b/src/containers/Node/NodePages.ts index 235b060092..7c46c6ed09 100644 --- a/src/containers/Node/NodePages.ts +++ b/src/containers/Node/NodePages.ts @@ -1,4 +1,6 @@ -import type {Query} from '../../routes'; +import {StringParam} from 'use-query-params'; + +import type {QueryParamsTypeFromQueryObject} from '../../routes'; import routes, {createHref} from '../../routes'; export const STORAGE = 'storage'; @@ -27,9 +29,15 @@ export const NODE_PAGES = [ }, ]; +export const nodePageQueryParams = { + database: StringParam, +}; + +type NodePageQuery = QueryParamsTypeFromQueryObject; + export function getDefaultNodePath( nodeId: string | number, - query: Query = {}, + query: NodePageQuery = {}, activeTab: NodeTab = OVERVIEW, ) { return createHref( diff --git a/src/containers/Tablet/Tablet.tsx b/src/containers/Tablet/Tablet.tsx index bd6d52c7f5..20f84044a0 100644 --- a/src/containers/Tablet/Tablet.tsx +++ b/src/containers/Tablet/Tablet.tsx @@ -4,7 +4,7 @@ import {Flex, Tabs} from '@gravity-ui/uikit'; import {skipToken} from '@reduxjs/toolkit/query'; import {Helmet} from 'react-helmet-async'; import {useParams} from 'react-router-dom'; -import {StringParam, useQueryParams} from 'use-query-params'; +import {useQueryParams} from 'use-query-params'; import {z} from 'zod'; import {EmptyStateWrapper} from '../../components/EmptyState'; @@ -13,7 +13,7 @@ import {ResponseError} from '../../components/Errors/ResponseError'; import {InternalLink} from '../../components/InternalLink'; import {LoaderWrapper} from '../../components/LoaderWrapper/LoaderWrapper'; import {PageMetaWithAutorefresh} from '../../components/PageMeta/PageMeta'; -import {getTabletPagePath} from '../../routes'; +import {getTabletPagePath, tabletPageQueryParams} from '../../routes'; import {selectIsUserAllowedToMakeChanges} from '../../store/reducers/authentication/authentication'; import {setHeaderBreadcrumbs} from '../../store/reducers/header/header'; import {tabletApi} from '../../store/reducers/tablet'; @@ -58,19 +58,13 @@ const TABLET_PAGE_TABS = [ const tabletTabSchema = z.nativeEnum(TABLET_TABS_IDS).catch(TABLET_TABS_IDS.history); -const tabletQueryParams = { - tenantName: StringParam, - clusterName: StringParam, - activeTab: StringParam, -}; - export function Tablet() { const dispatch = useTypedDispatch(); const {id} = useParams<{id: string}>(); - const [{tenantName: queryDatabase, clusterName: queryClusterName}] = - useQueryParams(tabletQueryParams); + const [{database: queryDatabase, clusterName: queryClusterName}] = + useQueryParams(tabletPageQueryParams); const [autoRefreshInterval] = useAutoRefreshInterval(); const {currentData, isFetching, error} = tabletApi.useGetTabletQuery( @@ -168,7 +162,7 @@ function TabletTabs({ hiveId?: string; history: ITabletPreparedHistoryItem[]; }) { - const [{activeTab, ...restParams}, setParams] = useQueryParams(tabletQueryParams); + const [{activeTab, ...restParams}, setParams] = useQueryParams(tabletPageQueryParams); const isUserAllowedToMakeChanges = useTypedSelector(selectIsUserAllowedToMakeChanges); const noAdvancedInfo = !isUserAllowedToMakeChanges || !hasHive(hiveId); diff --git a/src/containers/Tenant/Diagnostics/Consumers/columns/columns.tsx b/src/containers/Tenant/Diagnostics/Consumers/columns/columns.tsx index 7d368a2756..1d3549ee26 100644 --- a/src/containers/Tenant/Diagnostics/Consumers/columns/columns.tsx +++ b/src/containers/Tenant/Diagnostics/Consumers/columns/columns.tsx @@ -4,12 +4,11 @@ import qs from 'qs'; import {InternalLink} from '../../../../../components/InternalLink'; import {SpeedMultiMeter} from '../../../../../components/SpeedMultiMeter'; -import routes, {createHref} from '../../../../../routes'; import {TENANT_DIAGNOSTICS_TABS_IDS} from '../../../../../store/reducers/tenant/constants'; import type {IPreparedConsumerData} from '../../../../../types/store/topic'; import {cn} from '../../../../../utils/cn'; import {formatMsToUptime} from '../../../../../utils/dataFormatters/dataFormatters'; -import {TenantTabsGroups} from '../../../TenantPages'; +import {TenantTabsGroups, getTenantPath} from '../../../TenantPages'; import {ReadLagsHeader} from '../Headers'; import { CONSUMERS_COLUMNS_IDS, @@ -40,7 +39,7 @@ export const columns: Column[] = [ return ( { - const path = createHref(routes.tenant, undefined, { + const path = getTenantPath({ ...queryParams, [TenantTabsGroups.diagnosticsTab]: id, }); diff --git a/src/containers/Tenant/ObjectSummary/ObjectSummary.tsx b/src/containers/Tenant/ObjectSummary/ObjectSummary.tsx index 46a116800d..5c1b472c95 100644 --- a/src/containers/Tenant/ObjectSummary/ObjectSummary.tsx +++ b/src/containers/Tenant/ObjectSummary/ObjectSummary.tsx @@ -11,7 +11,7 @@ import {AsyncReplicationState} from '../../../components/AsyncReplicationState'; import {toFormattedSize} from '../../../components/FormattedBytes/utils'; import {LinkWithIcon} from '../../../components/LinkWithIcon/LinkWithIcon'; import SplitPane from '../../../components/SplitPane'; -import routes, {createExternalUILink, createHref} from '../../../routes'; +import {createExternalUILink} from '../../../routes'; import {overviewApi} from '../../../store/reducers/overview/overview'; import {TENANT_SUMMARY_TABS_IDS} from '../../../store/reducers/tenant/constants'; import {setSummaryTab} from '../../../store/reducers/tenant/tenant'; @@ -29,7 +29,7 @@ import {useAutoRefreshInterval, useTypedDispatch, useTypedSelector} from '../../ import {Acl} from '../Acl/Acl'; import {EntityTitle} from '../EntityTitle/EntityTitle'; import {SchemaViewer} from '../Schema/SchemaViewer/SchemaViewer'; -import {TENANT_INFO_TABS, TENANT_SCHEMA_TAB, TenantTabsGroups} from '../TenantPages'; +import {TENANT_INFO_TABS, TENANT_SCHEMA_TAB, TenantTabsGroups, getTenantPath} from '../TenantPages'; import {getSummaryControls} from '../utils/controls'; import { PaneVisibilityActionTypes, @@ -128,13 +128,12 @@ export function ObjectSummary({ items={tabsItems} activeTab={summaryTab} wrapTo={({id}, node) => { - const path = createHref(routes.tenant, undefined, { + const tabPath = getTenantPath({ ...queryParams, - name: tenantName, [TenantTabsGroups.summaryTab]: id, }); return ( - + {node} ); diff --git a/src/containers/Tenant/Tenant.tsx b/src/containers/Tenant/Tenant.tsx index 91c974ca77..c12a23adae 100644 --- a/src/containers/Tenant/Tenant.tsx +++ b/src/containers/Tenant/Tenant.tsx @@ -48,7 +48,21 @@ export function Tenant(props: TenantProps) { getTenantSummaryState, ); - const [{name: tenantName, schema}] = useQueryParams({name: StringParam, schema: StringParam}); + // TODO: name is used together with database to keep old links valid + // Remove it after some time - 1-2 weeks + const [{database, name, schema}, setQuery] = useQueryParams({ + database: StringParam, + name: StringParam, + schema: StringParam, + }); + + React.useEffect(() => { + if (name && !database) { + setQuery({database: name, name: undefined}, 'replaceIn'); + } + }, [database, name, setQuery]); + + const tenantName = database ?? name; if (!tenantName) { throw new Error('Tenant name is not defined'); diff --git a/src/containers/Tenant/TenantPages.tsx b/src/containers/Tenant/TenantPages.tsx index ca651ad6d8..dc806fdc2d 100644 --- a/src/containers/Tenant/TenantPages.tsx +++ b/src/containers/Tenant/TenantPages.tsx @@ -8,6 +8,7 @@ type TenantQueryParams = { }; type AdditionalQueryParams = { + database?: string; name?: string; backend?: string; }; diff --git a/src/routes.ts b/src/routes.ts index 17b10a5daf..5590a0ed23 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -2,6 +2,8 @@ import type {Location} from 'history'; import isEmpty from 'lodash/isEmpty'; import {compile} from 'path-to-regexp'; import qs from 'qs'; +import type {QueryParamConfig} from 'use-query-params'; +import {StringParam} from 'use-query-params'; import {backend, clusterName, webVersion} from './store'; @@ -91,6 +93,13 @@ export function getLocationObjectFromHref(href: string) { return {pathname, search, hash}; } +// ==== Get page path functions ==== + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type QueryParamsTypeFromQueryObject>> = { + [QueryParamName in keyof T]?: Parameters[0]; +}; + export function getPDiskPagePath( pDiskId: string | number, nodeId: string | number, @@ -112,6 +121,14 @@ export function getStorageGroupPath(groupId: string | number, query: Query = {}) return createHref(routes.storageGroup, undefined, {...query, groupId}); } -export function getTabletPagePath(tabletId: string | number, query: Query = {}) { +export const tabletPageQueryParams = { + database: StringParam, + clusterName: StringParam, + activeTab: StringParam, +} as const; + +export type TabletPageQuery = QueryParamsTypeFromQueryObject; + +export function getTabletPagePath(tabletId: string | number, query: TabletPageQuery = {}) { return createHref(routes.tablet, {id: tabletId}, {...query}); } diff --git a/src/services/api.ts b/src/services/api.ts index 2a1d9b3e6a..796dfe0f7e 100644 --- a/src/services/api.ts +++ b/src/services/api.ts @@ -142,8 +142,8 @@ export class YdbEmbeddedAPI extends AxiosWrapper { return arr.join(','); } - getClusterCapabilities() { - return this.get(this.getPath('/viewer/capabilities'), {}, {}); + getClusterCapabilities({database}: {database?: string}) { + return this.get(this.getPath('/viewer/capabilities'), {database}, {}); } getClusterInfo(clusterName?: string, {concurrentId, signal}: AxiosOptions = {}) { return this.get( diff --git a/src/store/reducers/capabilities/capabilities.ts b/src/store/reducers/capabilities/capabilities.ts index 759e583eca..827d27e1ef 100644 --- a/src/store/reducers/capabilities/capabilities.ts +++ b/src/store/reducers/capabilities/capabilities.ts @@ -8,9 +8,9 @@ import {api} from './../api'; export const capabilitiesApi = api.injectEndpoints({ endpoints: (build) => ({ getClusterCapabilities: build.query({ - queryFn: async () => { + queryFn: async (params: {database?: string}) => { try { - const data = await window.api.getClusterCapabilities(); + const data = await window.api.getClusterCapabilities(params); return {data}; } catch (error) { // If capabilities endpoint is not available, there will be an error @@ -23,20 +23,31 @@ export const capabilitiesApi = api.injectEndpoints({ overrideExisting: 'throw', }); -export const selectCapabilities = - capabilitiesApi.endpoints.getClusterCapabilities.select(undefined); +const createCapabilitiesSelector = createSelector( + (database?: string) => database, + (database) => capabilitiesApi.endpoints.getClusterCapabilities.select({database}), +); + +export const selectDatabaseCapabilities = createSelector( + (state: RootState) => state, + (_state: RootState, database?: string) => createCapabilitiesSelector(database), + (state, selectCapabilities) => selectCapabilities(state), +); export const selectCapabilityVersion = createSelector( (state: RootState) => state, (_state: RootState, capability: Capability) => capability, - (state, capability) => selectCapabilities(state).data?.Capabilities?.[capability], + (_state: RootState, _capability: Capability, database?: string) => database, + (state, capability, database) => + selectDatabaseCapabilities(state, database).data?.Capabilities?.[capability], ); export async function queryCapability( capability: Capability, + database: string | undefined, {dispatch, getState}: {dispatch: AppDispatch; getState: () => RootState}, ) { - const thunk = capabilitiesApi.util.getRunningQueryThunk('getClusterCapabilities', undefined); + const thunk = capabilitiesApi.util.getRunningQueryThunk('getClusterCapabilities', {database}); await dispatch(thunk); return selectCapabilityVersion(getState(), capability) || 0; diff --git a/src/store/reducers/capabilities/hooks.ts b/src/store/reducers/capabilities/hooks.ts index 321d5a4137..5e52a3d35e 100644 --- a/src/store/reducers/capabilities/hooks.ts +++ b/src/store/reducers/capabilities/hooks.ts @@ -1,16 +1,35 @@ +import {StringParam, useQueryParam} from 'use-query-params'; + import type {Capability} from '../../../types/api/capabilities'; import {useTypedSelector} from '../../../utils/hooks'; -import {capabilitiesApi, selectCapabilityVersion} from './capabilities'; +import {capabilitiesApi, selectCapabilityVersion, selectDatabaseCapabilities} from './capabilities'; + +function useDatabaseFromQuery() { + const [database] = useQueryParam('database', StringParam); + + // Remove null from database type + return database ?? undefined; +} + +export function useCapabilitiesQuery() { + const database = useDatabaseFromQuery(); + + capabilitiesApi.useGetClusterCapabilitiesQuery({database}); +} export function useCapabilitiesLoaded() { - const {data, error} = capabilitiesApi.useGetClusterCapabilitiesQuery(undefined); + const database = useDatabaseFromQuery(); + + const {data, error} = useTypedSelector((state) => selectDatabaseCapabilities(state, database)); return Boolean(data || error); } const useGetFeatureVersion = (feature: Capability) => { - return useTypedSelector((state) => selectCapabilityVersion(state, feature) || 0); + const database = useDatabaseFromQuery(); + + return useTypedSelector((state) => selectCapabilityVersion(state, feature, database) || 0); }; export const useCreateDirectoryFeatureAvailable = () => { diff --git a/src/store/reducers/pdisk/pdisk.ts b/src/store/reducers/pdisk/pdisk.ts index b7fcbcf474..8f04e016a9 100644 --- a/src/store/reducers/pdisk/pdisk.ts +++ b/src/store/reducers/pdisk/pdisk.ts @@ -15,7 +15,7 @@ export const pDiskApi = api.injectEndpoints({ endpoints: (build) => ({ getPdiskInfo: build.query({ queryFn: async ({nodeId, pDiskId}: PDiskParams, {signal, getState, dispatch}) => { - const pDiskInfoHandlerVersion = await queryCapability('/pdisk/info', { + const pDiskInfoHandlerVersion = await queryCapability('/pdisk/info', undefined, { getState: getState as GetState, dispatch, }); From 281c64b2a13c2205e42a2732b830d20678187b64 Mon Sep 17 00:00:00 2001 From: mufazalov Date: Tue, 29 Oct 2024 15:46:12 +0300 Subject: [PATCH 2/2] tests: update queries --- tests/suites/tenant/diagnostics/diagnostics.test.ts | 6 +++--- tests/suites/tenant/initialLoad.test.ts | 2 +- tests/suites/tenant/queryEditor/queryEditor.test.ts | 2 +- tests/suites/tenant/queryHistory/queryHistory.test.ts | 2 +- tests/suites/tenant/summary/objectSummary.test.ts | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/suites/tenant/diagnostics/diagnostics.test.ts b/tests/suites/tenant/diagnostics/diagnostics.test.ts index 3153741757..bfc93c6048 100644 --- a/tests/suites/tenant/diagnostics/diagnostics.test.ts +++ b/tests/suites/tenant/diagnostics/diagnostics.test.ts @@ -11,7 +11,7 @@ test.describe('Diagnostics tab', async () => { test('Primary keys header is visible in Schema tab', async ({page}) => { const pageQueryParams = { schema: dsVslotsSchema, - name: tenantName, + database: tenantName, tenantPage: 'diagnostics', }; const tenantPage = new TenantPage(page); @@ -32,7 +32,7 @@ test.describe('Diagnostics tab', async () => { test('No runnning queries in Queries if no queries are running', async ({page}) => { const pageQueryParams = { schema: tenantName, - name: tenantName, + database: tenantName, tenantPage: 'diagnostics', }; const tenantPage = new TenantPage(page); @@ -47,7 +47,7 @@ test.describe('Diagnostics tab', async () => { test('Running query is shown if query is running', async ({page}) => { const pageQueryParams = { schema: tenantName, - name: tenantName, + database: tenantName, tenantPage: 'query', }; const tenantPage = new TenantPage(page); diff --git a/tests/suites/tenant/initialLoad.test.ts b/tests/suites/tenant/initialLoad.test.ts index 41640691a2..3135db0f0b 100644 --- a/tests/suites/tenant/initialLoad.test.ts +++ b/tests/suites/tenant/initialLoad.test.ts @@ -6,7 +6,7 @@ import {TenantPage} from './TenantPage'; const pageQueryParams = { schema: tenantName, - name: tenantName, + database: tenantName, tenantPage: 'diagnostics', }; diff --git a/tests/suites/tenant/queryEditor/queryEditor.test.ts b/tests/suites/tenant/queryEditor/queryEditor.test.ts index 1db10a9a11..e9cd270d4e 100644 --- a/tests/suites/tenant/queryEditor/queryEditor.test.ts +++ b/tests/suites/tenant/queryEditor/queryEditor.test.ts @@ -19,7 +19,7 @@ test.describe('Test Query Editor', async () => { test.beforeEach(async ({page}) => { const pageQueryParams = { schema: tenantName, - name: tenantName, + database: tenantName, general: 'query', }; diff --git a/tests/suites/tenant/queryHistory/queryHistory.test.ts b/tests/suites/tenant/queryHistory/queryHistory.test.ts index 4e17b2b52e..0b2db63b16 100644 --- a/tests/suites/tenant/queryHistory/queryHistory.test.ts +++ b/tests/suites/tenant/queryHistory/queryHistory.test.ts @@ -15,7 +15,7 @@ test.describe('Query History', () => { test.beforeEach(async ({page}) => { const pageQueryParams = { schema: tenantName, - name: tenantName, + database: tenantName, general: 'query', }; diff --git a/tests/suites/tenant/summary/objectSummary.test.ts b/tests/suites/tenant/summary/objectSummary.test.ts index 186761c222..37f9149644 100644 --- a/tests/suites/tenant/summary/objectSummary.test.ts +++ b/tests/suites/tenant/summary/objectSummary.test.ts @@ -10,7 +10,7 @@ test.describe('Object Summary', async () => { test.beforeEach(async ({page}) => { const pageQueryParams = { schema: dsVslotsSchema, - name: tenantName, + database: tenantName, general: 'query', }; const tenantPage = new TenantPage(page);