diff --git a/src/platform/plugins/shared/data_view_editor/public/components/data_view_editor.tsx b/src/platform/plugins/shared/data_view_editor/public/components/data_view_editor.tsx index 35ec408be9005..ec193823a561e 100644 --- a/src/platform/plugins/shared/data_view_editor/public/components/data_view_editor.tsx +++ b/src/platform/plugins/shared/data_view_editor/public/components/data_view_editor.tsx @@ -25,6 +25,7 @@ export const DataViewEditor = ({ requireTimestampField = false, editData, allowAdHocDataView, + getDataViewHelpText, }: DataViewEditorPropsWithServices) => { const { Provider: KibanaReactContextProvider } = createKibanaReactContext(services); @@ -44,6 +45,7 @@ export const DataViewEditor = ({ requireTimestampField={requireTimestampField} editData={editData} allowAdHocDataView={allowAdHocDataView} + getDataViewHelpText={getDataViewHelpText} /> diff --git a/src/platform/plugins/shared/data_view_editor/public/components/data_view_editor_flyout_content.tsx b/src/platform/plugins/shared/data_view_editor/public/components/data_view_editor_flyout_content.tsx index d36eb4765e064..795e9afc8273d 100644 --- a/src/platform/plugins/shared/data_view_editor/public/components/data_view_editor_flyout_content.tsx +++ b/src/platform/plugins/shared/data_view_editor/public/components/data_view_editor_flyout_content.tsx @@ -7,7 +7,8 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import React, { useEffect, useCallback } from 'react'; +import type { ReactNode } from 'react'; +import React, { useEffect, useCallback, useMemo } from 'react'; import { css } from '@emotion/react'; import { EuiTitle, @@ -70,6 +71,7 @@ export interface Props { showManagementLink?: boolean; allowAdHoc: boolean; dataViewEditorService: DataViewEditorService; + getDataViewHelpText?: (dataView: DataView) => ReactNode | string | undefined; } const editorTitle = i18n.translate('indexPatternEditor.title', { @@ -87,6 +89,7 @@ const IndexPatternEditorFlyoutContentComponent = ({ editData, allowAdHoc, showManagementLink, + getDataViewHelpText, dataViewEditorService, }: Props) => { const styles = useMemoCss(componentStyles); @@ -195,6 +198,10 @@ const IndexPatternEditorFlyoutContentComponent = ({ }, [dataViewEditorService, type]); const getRollupIndices = (rollupCapsRes: RollupIndicesCapsResponse) => Object.keys(rollupCapsRes); + const titleHelpText = useMemo( + () => editData && getDataViewHelpText && getDataViewHelpText(editData), + [editData, getDataViewHelpText] + ); const onTypeChange = useCallback( (newType: INDEX_PATTERN_TYPE) => { @@ -298,6 +305,7 @@ const IndexPatternEditorFlyoutContentComponent = ({ indexPatternValidationProvider={ dataViewEditorService.indexPatternValidationProvider } + titleHelpText={titleHelpText} /> diff --git a/src/platform/plugins/shared/data_view_editor/public/components/data_view_flyout_content_container.tsx b/src/platform/plugins/shared/data_view_editor/public/components/data_view_flyout_content_container.tsx index 247ddb48a9e42..fdf4df7647ca2 100644 --- a/src/platform/plugins/shared/data_view_editor/public/components/data_view_flyout_content_container.tsx +++ b/src/platform/plugins/shared/data_view_editor/public/components/data_view_flyout_content_container.tsx @@ -25,6 +25,7 @@ const DataViewFlyoutContentContainer = ({ editData, allowAdHocDataView, showManagementLink, + getDataViewHelpText, }: DataViewEditorProps) => { const { services: { dataViews, notifications, http }, @@ -100,6 +101,7 @@ const DataViewFlyoutContentContainer = ({ showManagementLink={showManagementLink} allowAdHoc={allowAdHocDataView || false} dataViewEditorService={dataViewEditorService} + getDataViewHelpText={getDataViewHelpText} /> ); }; diff --git a/src/platform/plugins/shared/data_view_editor/public/components/form_fields/title_field.tsx b/src/platform/plugins/shared/data_view_editor/public/components/form_fields/title_field.tsx index 713425ba53607..596e6f6b1ae79 100644 --- a/src/platform/plugins/shared/data_view_editor/public/components/form_fields/title_field.tsx +++ b/src/platform/plugins/shared/data_view_editor/public/components/form_fields/title_field.tsx @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import type { ChangeEvent } from 'react'; +import type { ChangeEvent, ReactNode } from 'react'; import React, { useState, useMemo } from 'react'; import { i18n } from '@kbn/i18n'; import { EuiFormRow, EuiFieldText } from '@elastic/eui'; @@ -30,6 +30,7 @@ interface TitleFieldProps { matchedIndices: MatchedIndicesSet; rollupIndex: string | null | undefined; }>; + titleHelpText?: ReactNode | string; } const rollupIndexPatternNoMatchError = { @@ -114,11 +115,13 @@ interface GetTitleConfigArgs { isRollup: boolean; matchedIndices: MatchedItem[]; rollupIndicesCapabilities: RollupIndicesCapsResponse; + titleHelpText?: ReactNode | string; } const getTitleConfig = ({ isRollup, rollupIndicesCapabilities, + titleHelpText, }: GetTitleConfigArgs): FieldConfig => { const titleFieldConfig = schema.title; @@ -134,6 +137,7 @@ const getTitleConfig = ({ return { ...titleFieldConfig!, validations, + helpText: titleHelpText, }; }; @@ -142,6 +146,7 @@ export const TitleField = ({ matchedIndices$, rollupIndicesCapabilities, indexPatternValidationProvider, + titleHelpText, }: TitleFieldProps) => { const [appendedWildcard, setAppendedWildcard] = useState(false); const matchedIndices = useObservable(matchedIndices$, matchedIndiciesDefault).exactMatchedIndices; @@ -152,8 +157,9 @@ export const TitleField = ({ isRollup, matchedIndices, rollupIndicesCapabilities, + titleHelpText, }), - [isRollup, matchedIndices, rollupIndicesCapabilities] + [isRollup, matchedIndices, rollupIndicesCapabilities, titleHelpText] ); return ( diff --git a/src/platform/plugins/shared/data_view_editor/public/open_editor.tsx b/src/platform/plugins/shared/data_view_editor/public/open_editor.tsx index 0712952592072..28c70cc0b4084 100644 --- a/src/platform/plugins/shared/data_view_editor/public/open_editor.tsx +++ b/src/platform/plugins/shared/data_view_editor/public/open_editor.tsx @@ -50,6 +50,7 @@ export const getEditorOpener = requireTimestampField = false, allowAdHocDataView = false, editData, + getDataViewHelpText, }: DataViewEditorProps): CloseEditor => { const closeEditor = () => { if (overlayRef) { @@ -80,6 +81,7 @@ export const getEditorOpener = requireTimestampField={requireTimestampField} allowAdHocDataView={allowAdHocDataView} showManagementLink={Boolean(editData && editData.isPersisted())} + getDataViewHelpText={getDataViewHelpText} /> , core diff --git a/src/platform/plugins/shared/data_view_editor/public/types.ts b/src/platform/plugins/shared/data_view_editor/public/types.ts index 3458e25171290..67c914d512f05 100644 --- a/src/platform/plugins/shared/data_view_editor/public/types.ts +++ b/src/platform/plugins/shared/data_view_editor/public/types.ts @@ -7,7 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import type { FC } from 'react'; +import type { FC, ReactNode } from 'react'; import type { ApplicationStart, IUiSettingsClient, @@ -71,6 +71,10 @@ export interface DataViewEditorProps { * if set to true a link to the management page is shown */ showManagementLink?: boolean; + /** + * Optional callback to get help text based on the active data view + */ + getDataViewHelpText?: (dataView: DataView) => ReactNode | string | undefined; } // eslint-disable-next-line @typescript-eslint/no-empty-interface diff --git a/src/platform/plugins/shared/unified_search/public/dataview_picker/change_dataview.tsx b/src/platform/plugins/shared/unified_search/public/dataview_picker/change_dataview.tsx index cd980ddf69a9c..9aa3c3fea0e1c 100644 --- a/src/platform/plugins/shared/unified_search/public/dataview_picker/change_dataview.tsx +++ b/src/platform/plugins/shared/unified_search/public/dataview_picker/change_dataview.tsx @@ -70,6 +70,7 @@ export function ChangeDataView({ onEditDataView, onCreateDefaultAdHocDataView, onClosePopover, + getDataViewHelpText, }: DataViewPickerProps) { const { euiTheme } = useEuiTheme(); const [isPopoverOpen, setPopoverIsOpen] = useState(false); @@ -178,6 +179,7 @@ export function ChangeDataView({ onSave: (updatedDataView) => { onEditDataView(updatedDataView); }, + getDataViewHelpText, }); } else { application.navigateToApp('management', { @@ -272,6 +274,7 @@ export function ChangeDataView({ onEditDataView, searchListInputId, selectableProps, + getDataViewHelpText, ]); return ( diff --git a/src/platform/plugins/shared/unified_search/public/dataview_picker/data_view_picker.tsx b/src/platform/plugins/shared/unified_search/public/dataview_picker/data_view_picker.tsx index 6fcf7f33569e7..f5b310f04c14d 100644 --- a/src/platform/plugins/shared/unified_search/public/dataview_picker/data_view_picker.tsx +++ b/src/platform/plugins/shared/unified_search/public/dataview_picker/data_view_picker.tsx @@ -7,6 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ +import type { ReactNode } from 'react'; import React from 'react'; import type { EuiButtonProps, EuiSelectableProps } from '@elastic/eui'; import type { DataView, DataViewListItem, DataViewSpec } from '@kbn/data-views-plugin/public'; @@ -76,6 +77,10 @@ export interface DataViewPickerProps { * Optional callback when data view picker is closed */ onClosePopover?: () => void; + /** + * Optional callback to get help text based on the active data view + */ + getDataViewHelpText?: (dataView: DataView) => ReactNode | string | undefined; } export const DataViewPicker = ({ @@ -93,6 +98,7 @@ export const DataViewPicker = ({ selectableProps, onCreateDefaultAdHocDataView, isDisabled, + getDataViewHelpText, }: DataViewPickerProps) => { return ( ); }; diff --git a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/components/data_view_picker/index.tsx b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/components/data_view_picker/index.tsx index 0418821e0a454..c2ce011e511d4 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/components/data_view_picker/index.tsx +++ b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/components/data_view_picker/index.tsx @@ -8,8 +8,9 @@ import { DataViewPicker as UnifiedDataViewPicker } from '@kbn/unified-search-plugin/public'; import React, { useCallback, useRef, useMemo, memo } from 'react'; import { useDispatch, useSelector } from 'react-redux'; - import { DataView } from '@kbn/data-views-plugin/public'; +import { EuiCode } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; import { EXPLORE_DATA_VIEW_PREFIX } from '../../../../common/constants'; import type { SourcererUrlState } from '../../../sourcerer/store/model'; import { useUpdateUrlParam } from '../../../common/utils/global_query_string'; @@ -21,7 +22,7 @@ import { useSelectDataView } from '../../hooks/use_select_data_view'; import { DataViewManagerScopeName } from '../../constants'; import { useManagedDataViews } from '../../hooks/use_managed_data_views'; import { useSavedDataViews } from '../../hooks/use_saved_data_views'; -import { DEFAULT_SECURITY_DATA_VIEW, LOADING } from './translations'; +import { LOADING } from './translations'; import { DATA_VIEW_PICKER_TEST_ID } from './constants'; import { useDataView } from '../../hooks/use_data_view'; import { browserFieldsManager } from '../../utils/security_browser_fields_manager'; @@ -137,6 +138,20 @@ export const DataViewPicker = memo(({ scope, onClosePopover, disabled }: DataVie [dataViewId, data.dataViews, scope, dataViewFieldEditor, handleChangeDataView] ); + const getDataViewHelpText = useCallback( + (dv: DataView) => + dv.id === defaultDataViewId ? ( + {'securitySolution:defaultIndex'}, + }} + /> + ) : undefined, + [defaultDataViewId] + ); + /** * Selects data view again. After changes are made to the data view, this results in cache invalidation and will force the reload everywhere. */ @@ -162,16 +177,10 @@ export const DataViewPicker = memo(({ scope, onClosePopover, disabled }: DataVie return { label: LOADING }; } - if (dataView?.id === defaultDataViewId) { - return { - label: DEFAULT_SECURITY_DATA_VIEW, - }; - } - return { label: dataView?.name || dataView?.id || 'Data view', }; - }, [dataView?.id, dataView?.name, defaultDataViewId, status]); + }, [dataView?.id, dataView?.name, status]); return (
@@ -187,6 +196,7 @@ export const DataViewPicker = memo(({ scope, onClosePopover, disabled }: DataVie savedDataViews={savedDataViews} managedDataViews={managedDataViews} onClosePopover={onClosePopover} + getDataViewHelpText={getDataViewHelpText} />
); diff --git a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/components/data_view_picker/translations.ts b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/components/data_view_picker/translations.ts index 5c76926c4b8e7..140e2e090d817 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/components/data_view_picker/translations.ts +++ b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/components/data_view_picker/translations.ts @@ -14,13 +14,20 @@ export const LOADING = i18n.translate('xpack.securitySolution.dataViewManager.lo export const DEFAULT_SECURITY_DATA_VIEW = i18n.translate( 'xpack.securitySolution.dataViewManager.defaultSecurityDataView', { - defaultMessage: 'Default security data view', + defaultMessage: 'Security solution default', } ); export const DEFAULT_SECURITY_ALERT_DATA_VIEW = i18n.translate( 'xpack.securitySolution.dataViewManager.defaultSecurityAlertDataView', { - defaultMessage: 'Security alert data view', + defaultMessage: 'Security solution alerts', + } +); + +export const SECURITY_SOLUTION_EXPLORE_DATA_VIEW = i18n.translate( + 'xpack.securitySolution.dataViewManager.securitySolutionExploreDataView', + { + defaultMessage: 'Security solution explore', } ); diff --git a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_managed_data_views.test.ts b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_managed_data_views.test.ts index fd1c253cd2b17..33ce7a1d3b5fb 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_managed_data_views.test.ts +++ b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_managed_data_views.test.ts @@ -46,7 +46,7 @@ describe('useManagedDataViews', () => { }); }); - it('should filter data views to only include those with DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID', () => { + it('should filter data views to only include those with Alert Data View ID', () => { // Create mock data views with a mix of IDs const mockDataViews = [ { id: DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID, title: 'Security solution data view' }, @@ -67,27 +67,17 @@ describe('useManagedDataViews', () => { const { result } = renderHook(() => useManagedDataViews()); // Expect only data views with matching ID to be included - expect(result.current.length).toBe(3); + expect(result.current.length).toBe(1); // Verify the IDs of the filtered data views result.current.forEach((dataView, i) => { if (i <= 1) { - expect(dataView.id).toBe(DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID); - } else { expect(dataView.id).toBe(DEFAULT_ALERT_DATA_VIEW_ID); } }); // Verify DataView constructor was called with correct arguments - expect(DataView).toHaveBeenCalledTimes(3); - expect(DataView).toHaveBeenCalledWith({ - spec: mockDataViews[0], - fieldFormats: mockFieldFormats, - }); - expect(DataView).toHaveBeenCalledWith({ - spec: mockDataViews[2], - fieldFormats: mockFieldFormats, - }); + expect(DataView).toHaveBeenCalledTimes(1); expect(DataView).toHaveBeenCalledWith({ spec: mockDataViews[3], fieldFormats: mockFieldFormats, diff --git a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_managed_data_views.ts b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_managed_data_views.ts index 5960d12b103fe..cf182c93d2fc0 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_managed_data_views.ts +++ b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_managed_data_views.ts @@ -19,7 +19,6 @@ export const useManagedDataViews = (): DataView[] => { const { dataViews: dataViewSpecs, adhocDataViews, - defaultDataViewId, alertDataViewId, } = useSelector(sharedStateSelector); const { @@ -29,13 +28,8 @@ export const useManagedDataViews = (): DataView[] => { return useMemo( () => [...dataViewSpecs, ...adhocDataViews] - .filter( - (dv) => - dv.id === defaultDataViewId || - dv.id === alertDataViewId || - dv.id?.startsWith(EXPLORE_DATA_VIEW_PREFIX) - ) + .filter((dv) => dv.id === alertDataViewId || dv.id?.startsWith(EXPLORE_DATA_VIEW_PREFIX)) .map((spec) => new DataView({ spec, fieldFormats })), - [dataViewSpecs, adhocDataViews, defaultDataViewId, alertDataViewId, fieldFormats] + [dataViewSpecs, adhocDataViews, alertDataViewId, fieldFormats] ); }; diff --git a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_saved_data_views.test.ts b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_saved_data_views.test.ts index bcf77edbb2421..94d3205c97de9 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_saved_data_views.test.ts +++ b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_saved_data_views.test.ts @@ -20,11 +20,11 @@ describe('useSavedDataViews', () => { jest.clearAllMocks(); }); - it('should filter out the default data view and transform the remaining ones', () => { + it('should not filter out the default data view and transform the remaining ones', () => { // Mock data to be returned by the selector const mockDataViews = [ { - id: DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID, // This should be filtered out + id: DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID, // This should not be filtered out title: 'Default View', name: 'default_view', }, @@ -55,15 +55,20 @@ describe('useSavedDataViews', () => { // Render the hook const { result } = renderHook(() => useSavedDataViews()); - // Expect the default view to be filtered out - expect(result.current).toHaveLength(2); + // Expect the alert view to be filtered out + expect(result.current).toHaveLength(3); expect( result.current.find((item) => item.id === DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID) - ).toBeUndefined(); + ).not.toBeUndefined(); expect(result.current.find((item) => item.id === DEFAULT_ALERT_DATA_VIEW_ID)).toBeUndefined(); // Expect the custom views to be correctly transformed expect(result.current).toEqual([ + { + id: DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID, // This should not be filtered out + title: 'Default View', + name: 'default_view', + }, { id: 'custom-view-1', title: 'Custom View 1', diff --git a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_saved_data_views.ts b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_saved_data_views.ts index 2a7b628be67fb..fdde44eb554bf 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_saved_data_views.ts +++ b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/hooks/use_saved_data_views.ts @@ -15,21 +15,17 @@ import { sharedStateSelector } from '../redux/selectors'; * The list excludes managed data views (default security solution data view and alert data view) */ export const useSavedDataViews = (): DataViewListItem[] => { - const { - dataViews: dataViewSpecs, - defaultDataViewId, - alertDataViewId, - } = useSelector(sharedStateSelector); + const { dataViews: dataViewSpecs, alertDataViewId } = useSelector(sharedStateSelector); return useMemo( () => dataViewSpecs - .filter((dv) => dv.id !== defaultDataViewId && dv.id !== alertDataViewId) + .filter((dv) => dv.id !== alertDataViewId) .map((spec) => ({ id: spec.id ?? '', title: spec.title ?? '', name: spec.name, })), - [dataViewSpecs, defaultDataViewId, alertDataViewId] + [dataViewSpecs, alertDataViewId] ); }; diff --git a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/redux/listeners/init_listener.test.ts b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/redux/listeners/init_listener.test.ts index 216e130fa0218..0923fc7c777a4 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/redux/listeners/init_listener.test.ts +++ b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/redux/listeners/init_listener.test.ts @@ -107,7 +107,7 @@ describe('createInitListener', () => { ); expect(jest.mocked(mockListenerApi.dispatch)).toBeCalledWith( selectDataViewAsync({ - id: DEFAULT_ALERT_DATA_VIEW_ID, + id: DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID, scope: DataViewManagerScopeName.detections, }) ); diff --git a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/redux/listeners/init_listener.ts b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/redux/listeners/init_listener.ts index a958c233ee23d..b8d9636e41033 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/redux/listeners/init_listener.ts +++ b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/redux/listeners/init_listener.ts @@ -96,15 +96,6 @@ export const createInitListener = (dependencies: { // NOTE: only init default data view for slices that are not initialized yet .filter((scope) => !listenerApi.getState().dataViewManager[scope].dataViewId) .forEach((scope) => { - if (scope === DataViewManagerScopeName.detections) { - return listenerApi.dispatch( - selectDataViewAsync({ - id: alertDataView.id, - scope, - }) - ); - } - if (scope === DataViewManagerScopeName.explore) { return listenerApi.dispatch( selectDataViewAsync({ diff --git a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/utils/create_explore_data_view.ts b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/utils/create_explore_data_view.ts index b6aec04ed395e..c94bd887aee2b 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/utils/create_explore_data_view.ts +++ b/x-pack/solutions/security/plugins/security_solution/public/data_view_manager/utils/create_explore_data_view.ts @@ -8,6 +8,7 @@ import type { DataViewsServicePublic, DataView } from '@kbn/data-views-plugin/public'; import type { SpacesPluginStart } from '@kbn/spaces-plugin/public'; import { EXPLORE_DATA_VIEW_PREFIX } from '../../../common/constants'; +import { SECURITY_SOLUTION_EXPLORE_DATA_VIEW } from '../components/data_view_picker/translations'; export const createExploreDataView = async ( dependencies: { @@ -23,7 +24,7 @@ export const createExploreDataView = async ( return dependencies.dataViews.create({ id: `${EXPLORE_DATA_VIEW_PREFIX}-${(await dependencies.spaces.getActiveSpace()).id}`, - name: 'Explore data view', + name: SECURITY_SOLUTION_EXPLORE_DATA_VIEW, title: exploreDataViewPattern, }); }; diff --git a/x-pack/solutions/security/test/serverless/functional/test_suites/constants.ts b/x-pack/solutions/security/test/serverless/functional/test_suites/constants.ts index 255e7fb3611e7..5fa79c348968a 100644 --- a/x-pack/solutions/security/test/serverless/functional/test_suites/constants.ts +++ b/x-pack/solutions/security/test/serverless/functional/test_suites/constants.ts @@ -7,6 +7,6 @@ export const SECURITY_ES_ARCHIVES_DIR = 'x-pack/solutions/security/test/security_solution_cypress/es_archives'; -export const SECURITY_SOLUTION_DATA_VIEW = 'Default security data view'; +export const SECURITY_SOLUTION_DATA_VIEW = 'Security solution default'; export const SECURITY_SOLUTION_INDEX_PATTERN = '.alerts-security.alerts-default,apm-*-transaction*,auditbeat-*,endgame-*,filebeat-*,logs-*,packetbeat-*,traces-apm*,winlogbeat-*,-*elastic-cloud-logs-*';