Skip to content

Commit 057a0f5

Browse files
committed
Use dataSource to check if data source enabled
Signed-off-by: Lin Wang <wonglam@amazon.com>
1 parent a486b62 commit 057a0f5

File tree

3 files changed

+8
-60
lines changed

3 files changed

+8
-60
lines changed

public/components/__tests__/data_source_top_nav_menu.test.tsx

+2-40
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import userEvent from '@testing-library/user-event';
88
import { render, screen, waitFor } from '../../../test/test_utils';
99
import { DataSourceTopNavMenu, DataSourceTopNavMenuProps } from '../data_source_top_nav_menu';
1010
import { coreMock } from '../../../../../src/core/public/mocks';
11-
import { DataSourceContext, DataSourceContextProvider } from '../../contexts';
11+
import { DataSourceContext } from '../../contexts';
1212

1313
function setup(options: Partial<DataSourceTopNavMenuProps> = {}) {
1414
const user = userEvent.setup({});
@@ -38,15 +38,10 @@ function setup(options: Partial<DataSourceTopNavMenuProps> = {}) {
3838
);
3939

4040
const DataSourceConsumer = () => {
41-
const { dataSourceEnabled, selectedDataSourceOption } = useContext(DataSourceContext);
41+
const { selectedDataSourceOption } = useContext(DataSourceContext);
4242

4343
return (
4444
<div>
45-
<input
46-
value={JSON.stringify(dataSourceEnabled)}
47-
aria-label="dataSourceEnabled"
48-
onChange={() => {}}
49-
/>
5045
<input
5146
value={
5247
selectedDataSourceOption === undefined
@@ -65,13 +60,6 @@ function setup(options: Partial<DataSourceTopNavMenuProps> = {}) {
6560
<DataSourceTopNavMenu
6661
notifications={coreStart.notifications}
6762
savedObjects={coreStart.savedObjects}
68-
dataSource={{
69-
dataSourceEnabled: true,
70-
noAuthenticationTypeEnabled: true,
71-
awsSigV4AuthEnabled: true,
72-
hideLocalCluster: false,
73-
usernamePasswordAuthEnabled: true,
74-
}}
7563
dataSourceManagement={{
7664
registerAuthenticationMethod: jest.fn(),
7765
ui: {
@@ -89,42 +77,16 @@ function setup(options: Partial<DataSourceTopNavMenuProps> = {}) {
8977
}
9078

9179
describe('<DataSourceTopNavMenu />', () => {
92-
it('should not render data source menu when data source and data source management not defined', () => {
93-
setup({
94-
dataSource: undefined,
95-
dataSourceManagement: undefined,
96-
});
97-
expect(screen.queryByText('Data Source Menu')).not.toBeInTheDocument();
98-
});
99-
it('should not render data source menu when data source not defined', () => {
100-
setup({
101-
dataSource: undefined,
102-
});
103-
expect(screen.queryByText('Data Source Menu')).not.toBeInTheDocument();
104-
});
10580
it('should not render data source menu when data source management not defined', () => {
10681
setup({
10782
dataSourceManagement: undefined,
10883
});
10984
expect(screen.queryByText('Data Source Menu')).not.toBeInTheDocument();
11085
});
111-
it('should not render data source menu when data source not enabled', () => {
112-
setup({
113-
dataSource: {
114-
dataSourceEnabled: false,
115-
noAuthenticationTypeEnabled: false,
116-
awsSigV4AuthEnabled: false,
117-
hideLocalCluster: false,
118-
usernamePasswordAuthEnabled: false,
119-
},
120-
});
121-
expect(screen.queryByText('Data Source Menu')).not.toBeInTheDocument();
122-
});
12386

12487
it('should render data source menu and data source context', () => {
12588
setup();
12689
expect(screen.getByText('Data Source Menu')).toBeInTheDocument();
127-
expect(screen.getByLabelText('dataSourceEnabled')).toHaveValue('true');
12890
expect(screen.getByLabelText('selectedDataSourceOption')).toHaveValue('null');
12991
});
13092

public/components/app.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export const MlCommonsPluginApp = ({
5656
savedObjects,
5757
setActionMenu,
5858
}: MlCommonsPluginAppDeps) => {
59-
const dataSourceEnabled = !!dataSource?.dataSourceEnabled;
59+
const dataSourceEnabled = !!dataSource;
6060
return (
6161
<I18nProvider>
6262
<DataSourceContextProvider
@@ -86,7 +86,6 @@ export const MlCommonsPluginApp = ({
8686
{dataSourceEnabled && (
8787
<DataSourceTopNavMenu
8888
notifications={notifications}
89-
dataSource={dataSource}
9089
dataSourceManagement={dataSourceManagement}
9190
setActionMenu={setActionMenu}
9291
savedObjects={savedObjects}

public/components/data_source_top_nav_menu.tsx

+5-18
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,32 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
import React, { useMemo, useContext, useEffect, useCallback } from 'react';
6+
import React, { useMemo, useContext, useCallback } from 'react';
77

88
import type { CoreStart, MountPoint, SavedObjectsStart } from '../../../../src/core/public';
99
import type {
1010
DataSourceManagementPluginSetup,
1111
DataSourceSelectableConfig,
1212
} from '../../../../src/plugins/data_source_management/public';
13-
import type { DataSourcePluginSetup } from '../../../../src/plugins/data_source/public';
1413
import { DataSourceContext } from '../contexts/data_source_context';
1514

1615
export interface DataSourceTopNavMenuProps {
1716
notifications: CoreStart['notifications'];
1817
savedObjects: SavedObjectsStart;
19-
dataSource?: DataSourcePluginSetup;
2018
dataSourceManagement?: DataSourceManagementPluginSetup;
2119
setActionMenu: (menuMount: MountPoint | undefined) => void;
2220
}
2321

2422
export const DataSourceTopNavMenu = ({
25-
dataSource,
2623
savedObjects,
2724
notifications,
2825
setActionMenu,
2926
dataSourceManagement,
3027
}: DataSourceTopNavMenuProps) => {
31-
const dataSourceEnabled = !!dataSource?.dataSourceEnabled;
32-
const DataSourceMenu = useMemo(
33-
() => (dataSourceEnabled ? dataSourceManagement?.ui.getDataSourceMenu() : null),
34-
[dataSourceEnabled, dataSourceManagement]
35-
);
36-
const {
37-
selectedDataSourceOption,
38-
setSelectedDataSourceOption,
39-
setDataSourceEnabled,
40-
} = useContext(DataSourceContext);
28+
const DataSourceMenu = useMemo(() => dataSourceManagement?.ui.getDataSourceMenu(), [
29+
dataSourceManagement,
30+
]);
31+
const { selectedDataSourceOption, setSelectedDataSourceOption } = useContext(DataSourceContext);
4132
const activeOption = useMemo(() => (selectedDataSourceOption ? [selectedDataSourceOption] : []), [
4233
selectedDataSourceOption,
4334
]);
@@ -51,10 +42,6 @@ export const DataSourceTopNavMenu = ({
5142
[setSelectedDataSourceOption]
5243
);
5344

54-
useEffect(() => {
55-
setDataSourceEnabled(dataSourceEnabled);
56-
}, [dataSourceEnabled, setDataSourceEnabled]);
57-
5845
if (!DataSourceMenu) {
5946
return null;
6047
}

0 commit comments

Comments
 (0)