ydb-embedded-ui 8.11.1 → 8.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/DateRange/__test__/fromDateRangeValues.test.js +4 -4
- package/dist/components/DateRange/__test__/fromDateRangeValues.test.js.map +1 -1
- package/dist/components/DateRange/__test__/getdatePickerSize.test.js +4 -4
- package/dist/components/DateRange/__test__/getdatePickerSize.test.js.map +1 -1
- package/dist/components/DateRange/__test__/toDateRangeValues.test.js +4 -4
- package/dist/components/DateRange/__test__/toDateRangeValues.test.js.map +1 -1
- package/dist/components/ErrorBoundary/ErrorBoundary.d.ts +3 -7
- package/dist/components/ErrorBoundary/ErrorBoundary.js +44 -7
- package/dist/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/dist/components/ErrorBoundary/ErrorBoundary.scss +26 -30
- package/dist/components/ErrorBoundary/i18n/en.json +7 -5
- package/dist/components/ErrorBoundary/i18n/index.d.ts +1 -1
- package/dist/components/ErrorBoundary/i18n/index.js +1 -2
- package/dist/components/ErrorBoundary/i18n/index.js.map +1 -1
- package/dist/components/ErrorBoundary/utils.d.ts +17 -0
- package/dist/components/ErrorBoundary/utils.js +43 -0
- package/dist/components/ErrorBoundary/utils.js.map +1 -0
- package/dist/components/Errors/ResponseError/ResponseError.js +3 -16
- package/dist/components/Errors/ResponseError/ResponseError.js.map +1 -1
- package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
- package/dist/components/NodeHostWrapper/NodeHostWrapper.d.ts +2 -2
- package/dist/components/PDiskInfo/PDiskInfo.d.ts +0 -1
- package/dist/components/PDiskInfo/PDiskInfo.js +3 -7
- package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
- package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/PDiskPopup/PDiskPopup.js +8 -4
- package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
- package/dist/components/QueryExecutionStatus/QueryExecutionStatus.js +49 -17
- package/dist/components/QueryExecutionStatus/QueryExecutionStatus.js.map +1 -1
- package/dist/components/QueryExecutionStatus/QueryExecutionStatus.scss +0 -12
- package/dist/components/QueryResultTable/QueryResultTable.d.ts +2 -0
- package/dist/components/QueryResultTable/QueryResultTable.js +16 -11
- package/dist/components/QueryResultTable/QueryResultTable.js.map +1 -1
- package/dist/components/QueryResultTable/QueryResultTable.scss +6 -0
- package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
- package/dist/components/TabletNameWrapper/TabletNameWrapper.js +2 -3
- package/dist/components/TabletNameWrapper/TabletNameWrapper.js.map +1 -1
- package/dist/components/TenantNameWrapper/TenantNameWrapper.js +2 -3
- package/dist/components/TenantNameWrapper/TenantNameWrapper.js.map +1 -1
- package/dist/components/TooltipsContent/NodeEndpointsTooltipContent/NodeEndpointsTooltipContent.js +2 -3
- package/dist/components/TooltipsContent/NodeEndpointsTooltipContent/NodeEndpointsTooltipContent.js.map +1 -1
- package/dist/components/VDiskInfo/VDiskInfo.js +4 -4
- package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
- package/dist/components/VDiskInfo/VDiskInfo.scss +0 -6
- package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/VDiskPopup/VDiskPopup.js +7 -4
- package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
- package/dist/components/nodesColumns/__test__/utils.test.js +4 -4
- package/dist/components/nodesColumns/__test__/utils.test.js.map +1 -1
- package/dist/components/nodesColumns/constants.d.ts +1 -0
- package/dist/components/nodesColumns/constants.js +5 -0
- package/dist/components/nodesColumns/constants.js.map +1 -1
- package/dist/containers/App/App.d.ts +1 -1
- package/dist/containers/App/App.scss +10 -0
- package/dist/containers/App/Content.js +13 -3
- package/dist/containers/App/Content.js.map +1 -1
- package/dist/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.js +7 -2
- package/dist/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.js.map +1 -1
- package/dist/containers/AppWithClusters/ExtendedTenant/ExtendedTenant.js +3 -3
- package/dist/containers/AppWithClusters/ExtendedTenant/ExtendedTenant.js.map +1 -1
- package/dist/containers/AppWithClusters/useClusterData.d.ts +1 -13
- package/dist/containers/AppWithClusters/useClusterData.js +4 -18
- package/dist/containers/AppWithClusters/useClusterData.js.map +1 -1
- package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js +15 -2
- package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js.map +1 -1
- package/dist/containers/Authentication/Authentication.js +16 -4
- package/dist/containers/Authentication/Authentication.js.map +1 -1
- package/dist/containers/Authentication/utils.d.ts +1 -0
- package/dist/containers/Authentication/utils.js +3 -0
- package/dist/containers/Authentication/utils.js.map +1 -1
- package/dist/containers/Cluster/Cluster.js +1 -1
- package/dist/containers/Cluster/Cluster.js.map +1 -1
- package/dist/containers/Cluster/Cluster.scss +0 -7
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.d.ts +0 -2
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
- package/dist/containers/Header/Header.js +2 -2
- package/dist/containers/Header/Header.js.map +1 -1
- package/dist/containers/Node/Node.js +1 -1
- package/dist/containers/Node/Node.js.map +1 -1
- package/dist/containers/Node/NodeStructure/Pdisk.js +2 -3
- package/dist/containers/Node/NodeStructure/Pdisk.js.map +1 -1
- package/dist/containers/Nodes/Nodes.js +11 -3
- package/dist/containers/Nodes/Nodes.js.map +1 -1
- package/dist/containers/PDiskPage/PDiskPage.js +3 -3
- package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorage.js +4 -1
- package/dist/containers/Storage/PaginatedStorage.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes.js +2 -4
- package/dist/containers/Storage/PaginatedStorageNodes.js.map +1 -1
- package/dist/containers/Storage/StorageControls/StorageControls.js +4 -1
- package/dist/containers/Storage/StorageControls/StorageControls.js.map +1 -1
- package/dist/containers/Storage/StorageGroups/columns/constants.d.ts +1 -0
- package/dist/containers/Storage/StorageGroups/columns/constants.js +10 -0
- package/dist/containers/Storage/StorageGroups/columns/constants.js.map +1 -1
- package/dist/containers/Storage/StorageGroups/columns/hooks.js +9 -3
- package/dist/containers/Storage/StorageGroups/columns/hooks.js.map +1 -1
- package/dist/containers/Tablet/Tablet.js +3 -3
- package/dist/containers/Tablet/Tablet.js.map +1 -1
- package/dist/containers/Tablet/components/TabletControls/TabletControls.js +2 -3
- package/dist/containers/Tablet/components/TabletControls/TabletControls.js.map +1 -1
- package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js +2 -3
- package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js.map +1 -1
- package/dist/containers/Tablets/Tablets.d.ts +1 -2
- package/dist/containers/Tablets/Tablets.js +7 -11
- package/dist/containers/Tablets/Tablets.js.map +1 -1
- package/dist/containers/Tablets/TabletsTable.d.ts +2 -1
- package/dist/containers/Tablets/TabletsTable.js +22 -9
- package/dist/containers/Tablets/TabletsTable.js.map +1 -1
- package/dist/containers/Tablets/i18n/en.json +3 -1
- package/dist/containers/Tablets/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js +1 -1
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +1 -0
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +1 -0
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
- package/dist/containers/Tenant/ObjectSummary/__test__/transformPath.test.js +6 -6
- package/dist/containers/Tenant/ObjectSummary/__test__/transformPath.test.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +43 -16
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/helpers.d.ts +10 -0
- package/dist/containers/Tenant/Query/QueryEditor/helpers.js +15 -0
- package/dist/containers/Tenant/Query/QueryEditor/helpers.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.d.ts +15 -0
- package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js +26 -0
- package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js.map +1 -0
- package/dist/containers/Tenant/Query/{CancelQueryButton/CancelQueryButton.scss → QueryEditorControls/EditorButton.scss} +7 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.d.ts +4 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +77 -18
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.scss +3 -4
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.test.js +3 -3
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.test.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.test.js +3 -3
- package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.test.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.d.ts +4 -2
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +23 -14
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.scss +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.js +2 -7
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js +7 -3
- package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.scss +2 -1
- package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.d.ts +4 -1
- package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js +28 -18
- package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.scss +7 -7
- package/dist/containers/Tenant/Query/QueryResult/i18n/en.json +7 -3
- package/dist/containers/Tenant/Query/QueryResult/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.js +1 -1
- package/dist/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.js.map +1 -1
- package/dist/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.scss +3 -1
- package/dist/containers/Tenant/Query/QueryStoppedBanner/QueryStoppedBanner.d.ts +2 -0
- package/dist/containers/Tenant/Query/QueryStoppedBanner/QueryStoppedBanner.js +17 -0
- package/dist/containers/Tenant/Query/QueryStoppedBanner/QueryStoppedBanner.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryStoppedBanner/QueryStoppedBanner.scss +5 -0
- package/dist/containers/Tenant/Query/i18n/en.json +5 -1
- package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/utils/isQueryCancelledError.js +17 -2
- package/dist/containers/Tenant/Query/utils/isQueryCancelledError.js.map +1 -1
- package/dist/containers/Tenant/utils/controls.js +1 -0
- package/dist/containers/Tenant/utils/controls.js.map +1 -1
- package/dist/containers/Tenant/utils/schema.js +7 -0
- package/dist/containers/Tenant/utils/schema.js.map +1 -1
- package/dist/containers/Tenant/utils/schemaActions.js +1 -0
- package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
- package/dist/containers/UserSettings/i18n/en.json +2 -0
- package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
- package/dist/containers/UserSettings/settings.d.ts +1 -0
- package/dist/containers/UserSettings/settings.js +8 -4
- package/dist/containers/UserSettings/settings.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskPage.js +3 -3
- package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
- package/dist/containers/Versions/NodesTable/NodesTable.js +3 -5
- package/dist/containers/Versions/NodesTable/NodesTable.js.map +1 -1
- package/dist/services/api/auth.d.ts +1 -0
- package/dist/services/api/auth.js.map +1 -1
- package/dist/services/api/base.d.ts +1 -0
- package/dist/services/api/base.js.map +1 -1
- package/dist/services/api/index.d.ts +2 -0
- package/dist/services/api/index.js +2 -0
- package/dist/services/api/index.js.map +1 -1
- package/dist/services/api/streaming.d.ts +12 -0
- package/dist/services/api/streaming.js +65 -0
- package/dist/services/api/streaming.js.map +1 -0
- package/dist/services/api/viewer.d.ts +4 -15
- package/dist/services/api/viewer.js +3 -2
- package/dist/services/api/viewer.js.map +1 -1
- package/dist/services/settings.d.ts +2 -0
- package/dist/services/settings.js +3 -1
- package/dist/services/settings.js.map +1 -1
- package/dist/store/configureStore.js +11 -7
- package/dist/store/configureStore.js.map +1 -1
- package/dist/store/reducers/authentication/authentication.d.ts +1 -0
- package/dist/store/reducers/authentication/authentication.js.map +1 -1
- package/dist/store/reducers/capabilities/capabilities.d.ts +126 -1
- package/dist/store/reducers/capabilities/capabilities.js +6 -2
- package/dist/store/reducers/capabilities/capabilities.js.map +1 -1
- package/dist/store/reducers/capabilities/hooks.d.ts +3 -0
- package/dist/store/reducers/capabilities/hooks.js +14 -1
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/cluster/__test__/parseGroupsStatsQueryResponse.test.js +1 -1
- package/dist/store/reducers/cluster/__test__/parseGroupsStatsQueryResponse.test.js.map +1 -1
- package/dist/store/reducers/query/__test__/utils.test.js +4 -4
- package/dist/store/reducers/query/__test__/utils.test.js.map +1 -1
- package/dist/store/reducers/query/preparePlanData.d.ts +5 -0
- package/dist/store/reducers/query/preparePlanData.js +57 -0
- package/dist/store/reducers/query/preparePlanData.js.map +1 -0
- package/dist/store/reducers/query/prepareQueryData.js +8 -54
- package/dist/store/reducers/query/prepareQueryData.js.map +1 -1
- package/dist/store/reducers/query/query.d.ts +14 -1
- package/dist/store/reducers/query/query.js +109 -3
- package/dist/store/reducers/query/query.js.map +1 -1
- package/dist/store/reducers/query/streamingReducers.d.ts +6 -0
- package/dist/store/reducers/query/streamingReducers.js +97 -0
- package/dist/store/reducers/query/streamingReducers.js.map +1 -0
- package/dist/store/reducers/query/types.d.ts +2 -0
- package/dist/store/reducers/query/utils.d.ts +4 -0
- package/dist/store/reducers/query/utils.js +12 -0
- package/dist/store/reducers/query/utils.js.map +1 -1
- package/dist/styles/illustrations.scss +20 -0
- package/dist/styles/index.scss +1 -0
- package/dist/types/additionalProps.d.ts +1 -1
- package/dist/types/api/capabilities.d.ts +4 -0
- package/dist/types/api/query.d.ts +17 -1
- package/dist/types/api/schema/schema.d.ts +2 -1
- package/dist/types/api/schema/schema.js +1 -0
- package/dist/types/api/schema/schema.js.map +1 -1
- package/dist/types/store/streaming.d.ts +37 -0
- package/dist/types/store/streaming.js +2 -0
- package/dist/types/store/streaming.js.map +1 -0
- package/dist/utils/__test__/getColumnWidth.test.js +15 -15
- package/dist/utils/__test__/getColumnWidth.test.js.map +1 -1
- package/dist/utils/__test__/monitoring.test.js +4 -4
- package/dist/utils/__test__/monitoring.test.js.map +1 -1
- package/dist/utils/__test__/parseBalancer.test.js +9 -9
- package/dist/utils/__test__/parseBalancer.test.js.map +1 -1
- package/dist/utils/__test__/prepareBackend.test.js +3 -3
- package/dist/utils/__test__/prepareBackend.test.js.map +1 -1
- package/dist/utils/bytesParsers/__test__/formatBytes.test.js +6 -6
- package/dist/utils/bytesParsers/__test__/formatBytes.test.js.map +1 -1
- package/dist/utils/constants.d.ts +3 -1
- package/dist/utils/constants.js +2 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/createToast.d.ts +2 -1
- package/dist/utils/createToast.js +2 -2
- package/dist/utils/createToast.js.map +1 -1
- package/dist/utils/dataFormatters/__test__/formatNumbers.test.js +9 -9
- package/dist/utils/dataFormatters/__test__/formatNumbers.test.js.map +1 -1
- package/dist/utils/dataFormatters/__test__/formatStorageValues.test.js +7 -7
- package/dist/utils/dataFormatters/__test__/formatStorageValues.test.js.map +1 -1
- package/dist/utils/dataFormatters/__test__/formatUptime.test.js +11 -11
- package/dist/utils/dataFormatters/__test__/formatUptime.test.js.map +1 -1
- package/dist/utils/dataFormatters/__test__/roundToSignificant.test.js +2 -2
- package/dist/utils/dataFormatters/__test__/roundToSignificant.test.js.map +1 -1
- package/dist/utils/developerUI/__test__/developerUI.test.js +12 -12
- package/dist/utils/developerUI/__test__/developerUI.test.js.map +1 -1
- package/dist/utils/disks/__test__/calculatePDiskSeverity.test.js +5 -5
- package/dist/utils/disks/__test__/calculatePDiskSeverity.test.js.map +1 -1
- package/dist/utils/disks/__test__/calculateVDiskSeverity.test.js +8 -8
- package/dist/utils/disks/__test__/calculateVDiskSeverity.test.js.map +1 -1
- package/dist/utils/disks/__test__/prepareDisks.test.js +7 -7
- package/dist/utils/disks/__test__/prepareDisks.test.js.map +1 -1
- package/dist/utils/downloadFile.d.ts +2 -0
- package/dist/utils/downloadFile.js +17 -0
- package/dist/utils/downloadFile.js.map +1 -0
- package/dist/utils/hooks/__test__/useTableSort.test.js +3 -3
- package/dist/utils/hooks/__test__/useTableSort.test.js.map +1 -1
- package/dist/utils/hooks/useAdditionalNodesProps.d.ts +2 -0
- package/dist/utils/hooks/useAdditionalNodesProps.js +14 -0
- package/dist/utils/hooks/useAdditionalNodesProps.js.map +1 -0
- package/dist/utils/hooks/useIsUserAllowedToMakeChanges.d.ts +1 -0
- package/dist/utils/hooks/useIsUserAllowedToMakeChanges.js +6 -0
- package/dist/utils/hooks/useIsUserAllowedToMakeChanges.js.map +1 -0
- package/dist/utils/hooks/useNodeDeveloperUIHref.js +4 -7
- package/dist/utils/hooks/useNodeDeveloperUIHref.js.map +1 -1
- package/dist/utils/prepareBackend.d.ts +2 -1
- package/dist/utils/prepareBackend.js +3 -2
- package/dist/utils/prepareBackend.js.map +1 -1
- package/dist/utils/prepareErrorMessage.d.ts +1 -0
- package/dist/utils/prepareErrorMessage.js +18 -0
- package/dist/utils/prepareErrorMessage.js.map +1 -0
- package/dist/utils/query.d.ts +3 -2
- package/dist/utils/query.js +18 -31
- package/dist/utils/query.js.map +1 -1
- package/dist/utils/query.test.js +19 -19
- package/dist/utils/query.test.js.map +1 -1
- package/dist/utils/response.js +2 -1
- package/dist/utils/response.js.map +1 -1
- package/dist/utils/timeParsers/__test__/formatDuration.test.js +6 -6
- package/dist/utils/timeParsers/__test__/formatDuration.test.js.map +1 -1
- package/dist/utils/timeParsers/__test__/protobuf.test.js +10 -10
- package/dist/utils/timeParsers/__test__/protobuf.test.js.map +1 -1
- package/package.json +12 -7
- package/dist/components/ElapsedTime/ElapsedTime.d.ts +0 -5
- package/dist/components/ElapsedTime/ElapsedTime.js +0 -25
- package/dist/components/ElapsedTime/ElapsedTime.js.map +0 -1
- package/dist/components/ElapsedTime/ElapsedTime.scss +0 -3
- package/dist/components/ErrorBoundary/i18n/ru.json +0 -7
- package/dist/components/PDiskInfo/PDiskInfo.scss +0 -7
- package/dist/containers/Tablets/index.d.ts +0 -1
- package/dist/containers/Tablets/index.js +0 -2
- package/dist/containers/Tablets/index.js.map +0 -1
- package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.d.ts +0 -7
- package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.js +0 -17
- package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.js.map +0 -1
- package/dist/containers/Tenant/Query/QueryDuration/QueryDuration.d.ts +0 -6
- package/dist/containers/Tenant/Query/QueryDuration/QueryDuration.js +0 -15
- package/dist/containers/Tenant/Query/QueryDuration/QueryDuration.js.map +0 -1
- package/dist/containers/Tenant/Query/QueryDuration/QueryDuration.scss +0 -27
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/utils.d.ts +0 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/utils.js +0 -9
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/utils.js.map +0 -1
@@ -1,33 +1,33 @@
|
|
1
1
|
import { UNBREAKABLE_GAP } from '../../utils';
|
2
2
|
import { formatBytes } from '../formatBytes';
|
3
3
|
describe('formatBytes', () => {
|
4
|
-
|
4
|
+
test('should work with only value', () => {
|
5
5
|
expect(formatBytes({ value: 100 })).toBe(`100${UNBREAKABLE_GAP}B`);
|
6
6
|
expect(formatBytes({ value: 100000 })).toBe(`100${UNBREAKABLE_GAP}KB`);
|
7
7
|
expect(formatBytes({ value: 100000000 })).toBe(`100${UNBREAKABLE_GAP}MB`);
|
8
8
|
expect(formatBytes({ value: 100000000000 })).toBe(`100${UNBREAKABLE_GAP}GB`);
|
9
9
|
expect(formatBytes({ value: 100000000000000 })).toBe(`100${UNBREAKABLE_GAP}TB`);
|
10
10
|
});
|
11
|
-
|
11
|
+
test('should convert to size', () => {
|
12
12
|
expect(formatBytes({ value: 100000, size: 'b' })).toBe(`100${UNBREAKABLE_GAP}000${UNBREAKABLE_GAP}B`);
|
13
13
|
expect(formatBytes({ value: 100000000000000, size: 'gb' })).toBe(`100${UNBREAKABLE_GAP}000${UNBREAKABLE_GAP}GB`);
|
14
14
|
});
|
15
|
-
|
15
|
+
test('should convert without labels', () => {
|
16
16
|
expect(formatBytes({ value: 100000, size: 'b', withSizeLabel: false })).toBe(`100${UNBREAKABLE_GAP}000`);
|
17
17
|
expect(formatBytes({ value: 100000000000000, size: 'gb', withSizeLabel: false })).toBe(`100${UNBREAKABLE_GAP}000`);
|
18
18
|
});
|
19
|
-
|
19
|
+
test('should convert to speed', () => {
|
20
20
|
expect(formatBytes({ value: 100000, withSpeedLabel: true })).toBe(`100${UNBREAKABLE_GAP}KB/s`);
|
21
21
|
expect(formatBytes({ value: 100000, size: 'b', withSpeedLabel: true })).toBe(`100${UNBREAKABLE_GAP}000${UNBREAKABLE_GAP}B/s`);
|
22
22
|
});
|
23
|
-
|
23
|
+
test('should return empty string on invalid data', () => {
|
24
24
|
expect(formatBytes({ value: undefined })).toEqual('');
|
25
25
|
expect(formatBytes({ value: null })).toEqual('');
|
26
26
|
expect(formatBytes({ value: '' })).toEqual('');
|
27
27
|
expect(formatBytes({ value: 'false' })).toEqual('');
|
28
28
|
expect(formatBytes({ value: '123qwe' })).toEqual('');
|
29
29
|
});
|
30
|
-
|
30
|
+
test('should work with precision', () => {
|
31
31
|
expect(formatBytes({ value: 123.123, precision: 2 })).toBe(`123${UNBREAKABLE_GAP}B`);
|
32
32
|
expect(formatBytes({ value: 12.123, precision: 2 })).toBe(`12${UNBREAKABLE_GAP}B`);
|
33
33
|
expect(formatBytes({ value: 1.123, precision: 2 })).toBe(`1.1${UNBREAKABLE_GAP}B`);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"formatBytes.test.js","sourceRoot":"","sources":["../../../../src/utils/bytesParsers/__test__/formatBytes.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,
|
1
|
+
{"version":3,"file":"formatBytes.test.js","sourceRoot":"","sources":["../../../../src/utils/bytesParsers/__test__/formatBytes.test.ts"],"names":[],"mappings":"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"}
|
@@ -37,7 +37,7 @@ export declare const DEFAULT_TABLE_SETTINGS: Settings;
|
|
37
37
|
export declare const TENANT_OVERVIEW_TABLES_SETTINGS: {
|
38
38
|
readonly stickyHead: "fixed";
|
39
39
|
readonly dynamicRender: false;
|
40
|
-
readonly displayIndices?: boolean;
|
40
|
+
readonly displayIndices?: boolean | import("@gravity-ui/react-data-table").DisplayIndicesConfig;
|
41
41
|
readonly stickyTop?: "auto" | number;
|
42
42
|
readonly syncHeadOnResize?: boolean;
|
43
43
|
readonly stickyFooter?: import("@gravity-ui/react-data-table").HeadPosition;
|
@@ -63,6 +63,7 @@ export declare const TENANT_OVERVIEW_TABLES_SETTINGS: {
|
|
63
63
|
export declare const QUERY_EXECUTION_SETTINGS_KEY = "queryExecutionSettings";
|
64
64
|
export declare const LAST_QUERY_EXECUTION_SETTINGS_KEY = "last_query_execution_settings";
|
65
65
|
export declare const QUERY_SETTINGS_BANNER_LAST_CLOSED_KEY = "querySettingsBannerLastClosed";
|
66
|
+
export declare const QUERY_STOPPED_BANNER_CLOSED_KEY = "queryStoppedBannerClosed";
|
66
67
|
export declare const LAST_USED_QUERY_ACTION_KEY = "last_used_query_action";
|
67
68
|
export declare const PARTITIONS_HIDDEN_COLUMNS_KEY = "partitionsHiddenColumns";
|
68
69
|
export declare const TENANT_INITIAL_PAGE_KEY = "saved_tenant_initial_tab";
|
@@ -72,6 +73,7 @@ export declare const SHOW_DOMAIN_DATABASE_KEY = "showDomainDatabase";
|
|
72
73
|
export declare const USE_CLUSTER_BALANCER_AS_BACKEND_KEY = "useClusterBalancerAsBacked";
|
73
74
|
export declare const ENABLE_AUTOCOMPLETE = "enableAutocomplete";
|
74
75
|
export declare const ENABLE_CODE_ASSISTANT = "enableCodeAssistant";
|
76
|
+
export declare const ENABLE_QUERY_STREAMING = "enableQueryStreaming";
|
75
77
|
export declare const AUTOCOMPLETE_ON_ENTER = "autocompleteOnEnter";
|
76
78
|
export declare const IS_HOTKEYS_HELP_HIDDEN_KEY = "isHotKeysHelpHidden";
|
77
79
|
export declare const DEV_ENABLE_TRACING_FOR_ALL_REQUESTS = "enable_tracing_for_all_requests";
|
package/dist/utils/constants.js
CHANGED
@@ -76,6 +76,7 @@ export const TENANT_OVERVIEW_TABLES_SETTINGS = {
|
|
76
76
|
export const QUERY_EXECUTION_SETTINGS_KEY = 'queryExecutionSettings';
|
77
77
|
export const LAST_QUERY_EXECUTION_SETTINGS_KEY = 'last_query_execution_settings';
|
78
78
|
export const QUERY_SETTINGS_BANNER_LAST_CLOSED_KEY = 'querySettingsBannerLastClosed';
|
79
|
+
export const QUERY_STOPPED_BANNER_CLOSED_KEY = 'queryStoppedBannerClosed';
|
79
80
|
export const LAST_USED_QUERY_ACTION_KEY = 'last_used_query_action';
|
80
81
|
export const PARTITIONS_HIDDEN_COLUMNS_KEY = 'partitionsHiddenColumns';
|
81
82
|
// Remain "tab" in key name for backward compatibility
|
@@ -87,6 +88,7 @@ export const SHOW_DOMAIN_DATABASE_KEY = 'showDomainDatabase';
|
|
87
88
|
export const USE_CLUSTER_BALANCER_AS_BACKEND_KEY = 'useClusterBalancerAsBacked';
|
88
89
|
export const ENABLE_AUTOCOMPLETE = 'enableAutocomplete';
|
89
90
|
export const ENABLE_CODE_ASSISTANT = 'enableCodeAssistant';
|
91
|
+
export const ENABLE_QUERY_STREAMING = 'enableQueryStreaming';
|
90
92
|
export const AUTOCOMPLETE_ON_ENTER = 'autocompleteOnEnter';
|
91
93
|
export const IS_HOTKEYS_HELP_HIDDEN_KEY = 'isHotKeysHelpHidden';
|
92
94
|
export const DEV_ENABLE_TRACING_FOR_ALL_REQUESTS = 'enable_tracing_for_all_requests';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"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"}
|
@@ -5,6 +5,7 @@ interface CreateToastProps {
|
|
5
5
|
title?: string;
|
6
6
|
content?: string;
|
7
7
|
type: 'error' | 'success';
|
8
|
+
autoHiding?: number;
|
8
9
|
}
|
9
|
-
declare function createToast({ name, title, type, content }: CreateToastProps): void;
|
10
|
+
declare function createToast({ name, title, type, content, autoHiding }: CreateToastProps): void;
|
10
11
|
export default createToast;
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import { toaster } from '@gravity-ui/uikit/toaster-singleton-react-18';
|
2
2
|
export { toaster };
|
3
|
-
function createToast({ name, title, type, content }) {
|
3
|
+
function createToast({ name, title, type, content, autoHiding }) {
|
4
4
|
return toaster.add({
|
5
5
|
name: name !== null && name !== void 0 ? name : 'Request succeeded',
|
6
6
|
title: title !== null && title !== void 0 ? title : 'Request succeeded',
|
7
7
|
theme: type === 'error' ? 'danger' : 'success',
|
8
8
|
content: content,
|
9
9
|
isClosable: true,
|
10
|
-
autoHiding: type === 'success' ? 5000 : false,
|
10
|
+
autoHiding: autoHiding || (type === 'success' ? 5000 : false),
|
11
11
|
});
|
12
12
|
}
|
13
13
|
export default createToast;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"createToast.js","sourceRoot":"","sources":["../../src/utils/createToast.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,8CAA8C,CAAC;AAErE,OAAO,EAAC,OAAO,EAAC,CAAC;
|
1
|
+
{"version":3,"file":"createToast.js","sourceRoot":"","sources":["../../src/utils/createToast.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,8CAA8C,CAAC;AAErE,OAAO,EAAC,OAAO,EAAC,CAAC;AAUjB,SAAS,WAAW,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAmB;IAC3E,OAAO,OAAO,CAAC,GAAG,CAAC;QACf,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,mBAAmB;QACjC,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,mBAAmB;QACnC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC9C,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,UAAU,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;KAChE,CAAC,CAAC;AACP,CAAC;AAED,eAAe,WAAW,CAAC"}
|
@@ -1,39 +1,39 @@
|
|
1
1
|
import { UNBREAKABLE_GAP } from '../../utils';
|
2
2
|
import { formatNumericValues } from '../dataFormatters';
|
3
3
|
describe('formatNumericValues', () => {
|
4
|
-
|
4
|
+
test('should return ["", ""] when both value and total are undefined', () => {
|
5
5
|
const result = formatNumericValues();
|
6
6
|
expect(result).toEqual(['', '']);
|
7
7
|
});
|
8
|
-
|
8
|
+
test('should format value correctly when total is undefined', () => {
|
9
9
|
const result = formatNumericValues(1000);
|
10
10
|
expect(result).toEqual([`1${UNBREAKABLE_GAP}k`, '']);
|
11
11
|
});
|
12
|
-
|
12
|
+
test('should format total correctly when value is undefined', () => {
|
13
13
|
const result = formatNumericValues(undefined, 1000000);
|
14
14
|
expect(result).toEqual(['', `1${UNBREAKABLE_GAP}m`]);
|
15
15
|
});
|
16
|
-
|
16
|
+
test('should format both value and total correctly', () => {
|
17
17
|
const result = formatNumericValues(1024, 2048);
|
18
18
|
expect(result).toEqual(['1', `2${UNBREAKABLE_GAP}k`]);
|
19
19
|
});
|
20
|
-
|
20
|
+
test('should format values without units (less than 1000)', () => {
|
21
21
|
const result1 = formatNumericValues(10, 20);
|
22
22
|
expect(result1).toEqual(['10', `20`]);
|
23
23
|
});
|
24
|
-
|
24
|
+
test('should format value with label if set', () => {
|
25
25
|
const result = formatNumericValues(1024, 2048, undefined, undefined, true);
|
26
26
|
expect(result).toEqual([`1${UNBREAKABLE_GAP}k`, `2${UNBREAKABLE_GAP}k`]);
|
27
27
|
});
|
28
|
-
|
28
|
+
test('should return ["0", formattedTotal] when value is 0', () => {
|
29
29
|
const result = formatNumericValues(0, 2048);
|
30
30
|
expect(result).toEqual(['0', `2${UNBREAKABLE_GAP}k`]);
|
31
31
|
});
|
32
|
-
|
32
|
+
test('should use provided size and delimiter', () => {
|
33
33
|
const result = formatNumericValues(5120, 10240, 'billion', '/');
|
34
34
|
expect(result).toEqual(['0', '0/b']);
|
35
35
|
});
|
36
|
-
|
36
|
+
test('should handle non-numeric total gracefully', () => {
|
37
37
|
const result = formatNumericValues(2048, 'Not a number');
|
38
38
|
expect(result).toEqual([`2${UNBREAKABLE_GAP}k`, '']);
|
39
39
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"formatNumbers.test.js","sourceRoot":"","sources":["../../../../src/utils/dataFormatters/__test__/formatNumbers.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAEtD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,
|
1
|
+
{"version":3,"file":"formatNumbers.test.js","sourceRoot":"","sources":["../../../../src/utils/dataFormatters/__test__/formatNumbers.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAEtD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,eAAe,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAS,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3E,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,eAAe,GAAG,EAAE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,cAAqB,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,eAAe,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
@@ -1,31 +1,31 @@
|
|
1
1
|
import { UNBREAKABLE_GAP } from '../../utils';
|
2
2
|
import { formatStorageValues } from '../dataFormatters';
|
3
3
|
describe('formatStorageValues', () => {
|
4
|
-
|
4
|
+
test('should return ["", ""] when both value and total are undefined', () => {
|
5
5
|
const result = formatStorageValues();
|
6
6
|
expect(result).toEqual(['', '']);
|
7
7
|
});
|
8
|
-
|
8
|
+
test('should format value correctly when total is undefined', () => {
|
9
9
|
const result = formatStorageValues(1024);
|
10
10
|
expect(result).toEqual([`1${UNBREAKABLE_GAP}KB`, '']);
|
11
11
|
});
|
12
|
-
|
12
|
+
test('should format total correctly when value is undefined', () => {
|
13
13
|
const result = formatStorageValues(undefined, 2048);
|
14
14
|
expect(result).toEqual(['', `2${UNBREAKABLE_GAP}KB`]);
|
15
15
|
});
|
16
|
-
|
16
|
+
test('should format both value and total correctly', () => {
|
17
17
|
const result = formatStorageValues(1024, 2048);
|
18
18
|
expect(result).toEqual(['1', `2${UNBREAKABLE_GAP}KB`]);
|
19
19
|
});
|
20
|
-
|
20
|
+
test('should return ["0", formattedTotal] when value is 0', () => {
|
21
21
|
const result = formatStorageValues(0, 2048);
|
22
22
|
expect(result).toEqual(['0', `2${UNBREAKABLE_GAP}KB`]);
|
23
23
|
});
|
24
|
-
|
24
|
+
test('should use provided size and delimiter', () => {
|
25
25
|
const result = formatStorageValues(5120, 10240, 'mb', '/');
|
26
26
|
expect(result).toEqual(['0', '0/MB']);
|
27
27
|
});
|
28
|
-
|
28
|
+
test('should handle non-numeric total gracefully', () => {
|
29
29
|
const result = formatStorageValues(2048, 'Not a number');
|
30
30
|
expect(result).toEqual([`2${UNBREAKABLE_GAP}KB`, '']);
|
31
31
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"formatStorageValues.test.js","sourceRoot":"","sources":["../../../../src/utils/dataFormatters/__test__/formatStorageValues.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAEtD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,
|
1
|
+
{"version":3,"file":"formatStorageValues.test.js","sourceRoot":"","sources":["../../../../src/utils/dataFormatters/__test__/formatStorageValues.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAEtD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,eAAe,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,eAAe,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,eAAe,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,eAAe,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,cAAqB,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,eAAe,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
@@ -1,21 +1,21 @@
|
|
1
1
|
import { UNBREAKABLE_GAP } from '../../utils';
|
2
2
|
import { formatUptimeInSeconds, getDowntimeFromDateFormatted, getUptimeFromDateFormatted, } from '../dataFormatters';
|
3
3
|
describe('getUptimeFromDateFormatted', () => {
|
4
|
-
|
4
|
+
test('should calculate and format uptime', () => {
|
5
5
|
expect(getUptimeFromDateFormatted(3600000, 7200000)).toBe('1:00:00');
|
6
6
|
});
|
7
|
-
|
7
|
+
test('should return 0 if dateFrom after dateTo', () => {
|
8
8
|
expect(getUptimeFromDateFormatted(3600000, 3599000)).toBe('0s');
|
9
9
|
});
|
10
10
|
});
|
11
11
|
describe('getDowntimeFromDateFormatted', () => {
|
12
|
-
|
12
|
+
test('should calculate and format downtime as -uptime', () => {
|
13
13
|
expect(getDowntimeFromDateFormatted(3600000, 7200000)).toBe('-1:00:00');
|
14
14
|
});
|
15
|
-
|
15
|
+
test('should not add sign if downtime is 0', () => {
|
16
16
|
expect(getDowntimeFromDateFormatted(3600000, 3600000)).toBe('0s');
|
17
17
|
});
|
18
|
-
|
18
|
+
test('should return 0 if dateFrom after dateTo', () => {
|
19
19
|
expect(getDowntimeFromDateFormatted(3600000, 3599000)).toBe('0s');
|
20
20
|
});
|
21
21
|
});
|
@@ -23,7 +23,7 @@ describe('formatUptimeInSeconds', () => {
|
|
23
23
|
const M = 60;
|
24
24
|
const H = 60 * M;
|
25
25
|
const D = 24 * H;
|
26
|
-
|
26
|
+
test('should return days if value is more than 24h', () => {
|
27
27
|
expect(formatUptimeInSeconds(24 * H)).toBe('1d' + UNBREAKABLE_GAP + '00:00:00');
|
28
28
|
expect(formatUptimeInSeconds(D + H + M + 12)).toBe('1d' + UNBREAKABLE_GAP + '01:01:12');
|
29
29
|
// 1 week
|
@@ -32,26 +32,26 @@ describe('formatUptimeInSeconds', () => {
|
|
32
32
|
expect(formatUptimeInSeconds(30 * D + 11 * H + 30 * M + 12)).toBe('30d' + UNBREAKABLE_GAP + '11:30:12');
|
33
33
|
expect(formatUptimeInSeconds(1234 * D + 12 * H + 12 * M + 12)).toBe('1234d' + UNBREAKABLE_GAP + '12:12:12');
|
34
34
|
});
|
35
|
-
|
35
|
+
test('should return hours if value is less than 24h', () => {
|
36
36
|
expect(formatUptimeInSeconds(H + M + 12)).toBe('1:01:12');
|
37
37
|
expect(formatUptimeInSeconds(12 * H + 12 * M + 12)).toBe('12:12:12');
|
38
38
|
});
|
39
|
-
|
39
|
+
test('should return minutes if value is less than hour', () => {
|
40
40
|
expect(formatUptimeInSeconds(M + 12)).toBe('1:12');
|
41
41
|
expect(formatUptimeInSeconds(12 * M + 2)).toBe('12:02');
|
42
42
|
});
|
43
|
-
|
43
|
+
test('should return second if value is less than hour', () => {
|
44
44
|
expect(formatUptimeInSeconds(12)).toBe('12s');
|
45
45
|
expect(formatUptimeInSeconds(2)).toBe('2s');
|
46
46
|
});
|
47
|
-
|
47
|
+
test('should correctly process negative values', () => {
|
48
48
|
expect(formatUptimeInSeconds(-0)).toBe('0s');
|
49
49
|
expect(formatUptimeInSeconds(-12)).toBe('-12s');
|
50
50
|
expect(formatUptimeInSeconds(-1 * (12 * M + 2))).toBe('-12:02');
|
51
51
|
expect(formatUptimeInSeconds(-1 * (12 * H + 12 * M + 12))).toBe('-12:12:12');
|
52
52
|
expect(formatUptimeInSeconds(-1 * (12 * D + 12 * H + 12 * M + 12))).toBe('-12d' + UNBREAKABLE_GAP + '12:12:12');
|
53
53
|
});
|
54
|
-
|
54
|
+
test('should return empty placeholder on NaN', () => {
|
55
55
|
expect(formatUptimeInSeconds(Number.NaN)).toBe(undefined);
|
56
56
|
});
|
57
57
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"formatUptime.test.js","sourceRoot":"","sources":["../../../../src/utils/dataFormatters/__test__/formatUptime.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EACH,qBAAqB,EACrB,4BAA4B,EAC5B,0BAA0B,GAC7B,MAAM,mBAAmB,CAAC;AAE3B,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACxC,
|
1
|
+
{"version":3,"file":"formatUptime.test.js","sourceRoot":"","sources":["../../../../src/utils/dataFormatters/__test__/formatUptime.test.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { roundToPrecision } from '../dataFormatters';
|
2
2
|
describe('roundToSignificant', () => {
|
3
|
-
|
3
|
+
test('should work with only value', () => {
|
4
4
|
expect(roundToPrecision(123)).toBe(123);
|
5
5
|
expect(roundToPrecision(123.123)).toBe(123);
|
6
6
|
expect(roundToPrecision(12.123)).toBe(12);
|
@@ -8,7 +8,7 @@ describe('roundToSignificant', () => {
|
|
8
8
|
expect(roundToPrecision(0.123)).toBe(0);
|
9
9
|
expect(roundToPrecision(0)).toBe(0);
|
10
10
|
});
|
11
|
-
|
11
|
+
test('should work with precision', () => {
|
12
12
|
expect(roundToPrecision(123, 2)).toBe(123);
|
13
13
|
expect(roundToPrecision(123.123, 2)).toBe(123);
|
14
14
|
expect(roundToPrecision(12.123, 2)).toBe(12);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"roundToSignificant.test.js","sourceRoot":"","sources":["../../../../src/utils/dataFormatters/__test__/roundToSignificant.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAEnD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,
|
1
|
+
{"version":3,"file":"roundToSignificant.test.js","sourceRoot":"","sources":["../../../../src/utils/dataFormatters/__test__/roundToSignificant.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAEnD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
@@ -1,46 +1,46 @@
|
|
1
1
|
import { createDeveloperUIInternalPageHref, createDeveloperUILinkWithNodeId, createPDiskDeveloperUILink, createVDiskDeveloperUILink, } from '../developerUI';
|
2
2
|
describe('Developer UI links generators', () => {
|
3
3
|
describe('createDeveloperUIInternalPageHref', () => {
|
4
|
-
|
4
|
+
test('should create correct link for embedded UI', () => {
|
5
5
|
expect(createDeveloperUIInternalPageHref('')).toBe('/internal');
|
6
6
|
});
|
7
|
-
|
7
|
+
test('should create correct link for embedded UI with node', () => {
|
8
8
|
expect(createDeveloperUIInternalPageHref('/node/5')).toBe('/node/5/internal');
|
9
9
|
});
|
10
|
-
|
10
|
+
test('should create correct link for embedded UI with proxy', () => {
|
11
11
|
expect(createDeveloperUIInternalPageHref('/my-ydb-host.net:8765')).toBe('/my-ydb-host.net:8765/internal');
|
12
12
|
});
|
13
|
-
|
13
|
+
test('should create correct link for UI with custom host', () => {
|
14
14
|
expect(createDeveloperUIInternalPageHref('http://my-ydb-host.net:8765')).toBe('http://my-ydb-host.net:8765/internal');
|
15
15
|
});
|
16
|
-
|
16
|
+
test('should create correct link for UI with custom host and node', () => {
|
17
17
|
expect(createDeveloperUIInternalPageHref('http://my-ydb-host.net:8765/node/5')).toBe('http://my-ydb-host.net:8765/node/5/internal');
|
18
18
|
});
|
19
|
-
|
19
|
+
test('should create correct link for UI with custom host and proxy', () => {
|
20
20
|
expect(createDeveloperUIInternalPageHref('https://my-ydb-proxy/my-ydb-host.net:8765')).toBe('https://my-ydb-proxy/my-ydb-host.net:8765/internal');
|
21
21
|
});
|
22
22
|
});
|
23
23
|
describe('createDeveloperUILinkWithNodeId', () => {
|
24
|
-
|
24
|
+
test('should create relative link with no host', () => {
|
25
25
|
expect(createDeveloperUILinkWithNodeId(1)).toBe('/node/1');
|
26
26
|
});
|
27
|
-
|
27
|
+
test('should create relative link with existing relative path with nodeId', () => {
|
28
28
|
expect(createDeveloperUILinkWithNodeId(1, '/node/3/')).toBe('/node/1');
|
29
29
|
});
|
30
|
-
|
30
|
+
test('should create full link with host', () => {
|
31
31
|
expect(createDeveloperUILinkWithNodeId(1, 'http://ydb-vla-dev02-001.search.yandex.net:8765')).toBe('http://ydb-vla-dev02-001.search.yandex.net:8765/node/1');
|
32
32
|
});
|
33
|
-
|
33
|
+
test('should create full link with host with existing node path with nodeId', () => {
|
34
34
|
expect(createDeveloperUILinkWithNodeId(1, 'http://ydb-vla-dev02-001.search.yandex.net:8765/node/3')).toBe('http://ydb-vla-dev02-001.search.yandex.net:8765/node/1');
|
35
35
|
});
|
36
36
|
});
|
37
37
|
describe('createPDiskDeveloperUILink', () => {
|
38
|
-
|
38
|
+
test('should create link with pDiskId and nodeId', () => {
|
39
39
|
expect(createPDiskDeveloperUILink({ nodeId: 1, pDiskId: 1 })).toBe('/node/1/actors/pdisks/pdisk000000001');
|
40
40
|
});
|
41
41
|
});
|
42
42
|
describe('createVDiskDeveloperUILink', () => {
|
43
|
-
|
43
|
+
test('should create link with pDiskId, vDiskSlotId nodeId', () => {
|
44
44
|
expect(createVDiskDeveloperUILink({
|
45
45
|
nodeId: 1,
|
46
46
|
pDiskId: 1,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"developerUI.test.js","sourceRoot":"","sources":["../../../../src/utils/developerUI/__test__/developerUI.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iCAAiC,EACjC,+BAA+B,EAC/B,0BAA0B,EAC1B,0BAA0B,GAC7B,MAAM,gBAAgB,CAAC;AAExB,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC3C,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC/C,
|
1
|
+
{"version":3,"file":"developerUI.test.js","sourceRoot":"","sources":["../../../../src/utils/developerUI/__test__/developerUI.test.ts"],"names":[],"mappings":"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"}
|
@@ -2,12 +2,12 @@ import { TPDiskState } from '../../../types/api/pdisk';
|
|
2
2
|
import { calculatePDiskSeverity } from '../calculatePDiskSeverity';
|
3
3
|
import { DISK_COLOR_STATE_TO_NUMERIC_SEVERITY } from '../constants';
|
4
4
|
describe('PDisk state', () => {
|
5
|
-
|
5
|
+
test('Should determine severity based on State if space severity is OK', () => {
|
6
6
|
const normalDiskSeverity = calculatePDiskSeverity({ State: TPDiskState.Normal });
|
7
7
|
const erroredDiskSeverity = calculatePDiskSeverity({ State: TPDiskState.ChunkQuotaError });
|
8
8
|
expect(normalDiskSeverity).not.toEqual(erroredDiskSeverity);
|
9
9
|
});
|
10
|
-
|
10
|
+
test('Should determine severity based on space utilization if state severity is OK', () => {
|
11
11
|
const severity1 = calculatePDiskSeverity({ State: TPDiskState.Normal, AllocatedPercent: 0 });
|
12
12
|
const severity2 = calculatePDiskSeverity({ State: TPDiskState.Normal, AllocatedPercent: 86 });
|
13
13
|
const severity3 = calculatePDiskSeverity({ State: TPDiskState.Normal, AllocatedPercent: 96 });
|
@@ -15,7 +15,7 @@ describe('PDisk state', () => {
|
|
15
15
|
expect(severity2).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow);
|
16
16
|
expect(severity3).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
17
17
|
});
|
18
|
-
|
18
|
+
test('Should determine severity based on max severity of state and space utilization ', () => {
|
19
19
|
const severity1 = calculatePDiskSeverity({
|
20
20
|
State: TPDiskState.ChunkQuotaError,
|
21
21
|
AllocatedPercent: 0,
|
@@ -24,13 +24,13 @@ describe('PDisk state', () => {
|
|
24
24
|
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
25
25
|
expect(severity2).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
26
26
|
});
|
27
|
-
|
27
|
+
test('Should display as unavailabe when no State is provided', () => {
|
28
28
|
const severity1 = calculatePDiskSeverity({});
|
29
29
|
const severity2 = calculatePDiskSeverity({ State: TPDiskState.ChunkQuotaError });
|
30
30
|
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
31
31
|
expect(severity2).not.toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
32
32
|
});
|
33
|
-
|
33
|
+
test('Should display as unavailabe when no State is provided event if space severity is not OK', () => {
|
34
34
|
const severity1 = calculatePDiskSeverity({ AllocatedPercent: 86 });
|
35
35
|
const severity2 = calculatePDiskSeverity({ AllocatedPercent: 96 });
|
36
36
|
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"calculatePDiskSeverity.test.js","sourceRoot":"","sources":["../../../../src/utils/disks/__test__/calculatePDiskSeverity.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAC,sBAAsB,EAAC,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAC,oCAAoC,EAAC,MAAM,cAAc,CAAC;AAElE,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,
|
1
|
+
{"version":3,"file":"calculatePDiskSeverity.test.js","sourceRoot":"","sources":["../../../../src/utils/disks/__test__/calculatePDiskSeverity.test.ts"],"names":[],"mappings":"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"}
|
@@ -3,7 +3,7 @@ import { EVDiskState } from '../../../types/api/vdisk';
|
|
3
3
|
import { calculateVDiskSeverity } from '../calculateVDiskSeverity';
|
4
4
|
import { DISK_COLOR_STATE_TO_NUMERIC_SEVERITY } from '../constants';
|
5
5
|
describe('VDisk state', () => {
|
6
|
-
|
6
|
+
test('Should determine severity based on the highest value among VDiskState, DiskSpace and FrontQueues', () => {
|
7
7
|
const severity1 = calculateVDiskSeverity({
|
8
8
|
VDiskState: EVDiskState.OK, // severity 1, green
|
9
9
|
DiskSpace: EFlag.Yellow, // severity 3, yellow
|
@@ -23,7 +23,7 @@ describe('VDisk state', () => {
|
|
23
23
|
expect(severity2).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
24
24
|
expect(severity3).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Orange);
|
25
25
|
});
|
26
|
-
|
26
|
+
test('Should not pick the highest severity based on FrontQueues value', () => {
|
27
27
|
const severity1 = calculateVDiskSeverity({
|
28
28
|
VDiskState: EVDiskState.OK, // severity 1, green
|
29
29
|
DiskSpace: EFlag.Green, // severity 1, green
|
@@ -38,7 +38,7 @@ describe('VDisk state', () => {
|
|
38
38
|
expect(severity2).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
39
39
|
});
|
40
40
|
// prettier-ignore
|
41
|
-
|
41
|
+
test('Should display as unavailable when no VDiskState is provided', () => {
|
42
42
|
const severity1 = calculateVDiskSeverity({});
|
43
43
|
const severity2 = calculateVDiskSeverity({
|
44
44
|
VDiskState: EVDiskState.OK
|
@@ -71,7 +71,7 @@ describe('VDisk state', () => {
|
|
71
71
|
expect(severity7).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
72
72
|
expect(severity8).not.toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
73
73
|
});
|
74
|
-
|
74
|
+
test('Should display as unavailable when no VDiskState is provided even if DiskSpace or FrontQueues flags are not green', () => {
|
75
75
|
const severity1 = calculateVDiskSeverity({
|
76
76
|
DiskSpace: EFlag.Red,
|
77
77
|
FrontQueues: EFlag.Yellow,
|
@@ -79,7 +79,7 @@ describe('VDisk state', () => {
|
|
79
79
|
// unavailable disks display with the grey color
|
80
80
|
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Grey);
|
81
81
|
});
|
82
|
-
|
82
|
+
test('Should display replicating VDisks in OK state with a distinct color', () => {
|
83
83
|
const severity1 = calculateVDiskSeverity({
|
84
84
|
VDiskState: EVDiskState.OK, // severity 1, green
|
85
85
|
Replicated: false,
|
@@ -91,14 +91,14 @@ describe('VDisk state', () => {
|
|
91
91
|
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Blue);
|
92
92
|
expect(severity2).not.toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Blue);
|
93
93
|
});
|
94
|
-
|
94
|
+
test('Should not display VDisk as replicating if Replicated is undefined', () => {
|
95
95
|
const severity = calculateVDiskSeverity({
|
96
96
|
VDiskState: EVDiskState.OK, // severity 1, green
|
97
97
|
Replicated: undefined,
|
98
98
|
});
|
99
99
|
expect(severity).not.toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Blue);
|
100
100
|
});
|
101
|
-
|
101
|
+
test('Should display replicating VDisks in a not-OK state with a regular color', () => {
|
102
102
|
const severity1 = calculateVDiskSeverity({
|
103
103
|
VDiskState: EVDiskState.Initial, // severity 3, yellow
|
104
104
|
Replicated: false,
|
@@ -110,7 +110,7 @@ describe('VDisk state', () => {
|
|
110
110
|
expect(severity1).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow);
|
111
111
|
expect(severity2).toEqual(DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red);
|
112
112
|
});
|
113
|
-
|
113
|
+
test('Should always display donor VDisks with a regular color', () => {
|
114
114
|
const severity1 = calculateVDiskSeverity({
|
115
115
|
VDiskState: EVDiskState.OK, // severity 1, green
|
116
116
|
Replicated: false, // donors are always in the not replicated state since they are leftovers
|