[Security Solution] move detection_engine files out of the detections folder (#221867)

## Summary

This PR is only moving files and update file paths. No code changes are
implemented whatsoever.
The PR focuses on moving a bunch of folders and files that lived under
the `detections` folder but were actually only used within the
`detection_engine` folder.
- if the files/folders were used within a single `detection_engine`
folder (like for example `rule_actions_overflow` is only used within
`rule_details_ui`) then things were moved closest to where it was used)
- if the files/folders were used within multiple `detection_engine`
folders, then things were moved into a `components` folder under the
existing `common` folder at the root of `detection_engine`

**_If there are any folders or files that you feel should live in a
specific folder, let me know. I'm happy to move things around some
more!_**

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
This commit is contained in:
Philippe Oberti 2025-06-02 14:08:18 -05:00 committed by GitHub
parent dbe3a5d769
commit 9b4f96731b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
55 changed files with 120 additions and 122 deletions

2
.github/CODEOWNERS vendored
View file

@ -2514,8 +2514,6 @@ x-pack/test/security_solution_cypress/cypress/tasks/expandable_flyout @elastic/
/x-pack/solutions/security/plugins/security_solution/public/detection_engine/rule_management_ui @elastic/security-detection-rule-management /x-pack/solutions/security/plugins/security_solution/public/detection_engine/rule_management_ui @elastic/security-detection-rule-management
/x-pack/solutions/security/plugins/security_solution/public/detection_engine/rule_monitoring @elastic/security-detection-rule-management /x-pack/solutions/security/plugins/security_solution/public/detection_engine/rule_monitoring @elastic/security-detection-rule-management
/x-pack/solutions/security/plugins/security_solution/public/detections/components/callouts @elastic/security-detection-rule-management /x-pack/solutions/security/plugins/security_solution/public/detections/components/callouts @elastic/security-detection-rule-management
/x-pack/solutions/security/plugins/security_solution/public/detections/components/rules @elastic/security-detection-rule-management
/x-pack/solutions/security/plugins/security_solution/public/detections/components/rules/rule_preview @elastic/security-detection-engine
/x-pack/solutions/security/plugins/security_solution/public/detections/containers/detection_engine/rules @elastic/security-detection-rule-management /x-pack/solutions/security/plugins/security_solution/public/detections/containers/detection_engine/rules @elastic/security-detection-rule-management
/x-pack/solutions/security/plugins/security_solution/public/detections/mitre @elastic/security-detection-rule-management /x-pack/solutions/security/plugins/security_solution/public/detections/mitre @elastic/security-detection-rule-management
/x-pack/solutions/security/plugins/security_solution/public/detection_engine/common @elastic/security-detection-rule-management /x-pack/solutions/security/plugins/security_solution/public/detection_engine/common @elastic/security-detection-rule-management

View file

@ -231,6 +231,11 @@ module.exports = {
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]common[\/\\]components[\/\\]utility_bar[\/\\]utility_bar_action.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]common[\/\\]components[\/\\]utility_bar[\/\\]utility_bar_action.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]common[\/\\]mock[\/\\]storybook_providers.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]common[\/\\]mock[\/\\]storybook_providers.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]common[\/\\]mock[\/\\]test_providers.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]common[\/\\]mock[\/\\]test_providers.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]common[\/\\]components[\/\\]related_integrations[\/\\]integrations_description[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]common[\/\\]components[\/\\]related_integrations[\/\\]integrations_description[\/\\]integration_status_badge.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]common[\/\\]components[\/\\]related_integrations[\/\\]integrations_description[\/\\]integration_version_mismatch_icon.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]common[\/\\]components[\/\\]related_integrations[\/\\]integrations_popover[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]common[\/\\]components[\/\\]rule_switch[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_creation[\/\\]components[\/\\]eql_query_edit[\/\\]eql_overview_link.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_creation[\/\\]components[\/\\]eql_query_edit[\/\\]eql_overview_link.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_creation[\/\\]components[\/\\]ml_job_link[\/\\]ml_job_link.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_creation[\/\\]components[\/\\]ml_job_link[\/\\]ml_job_link.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_creation[\/\\]components[\/\\]step_about_rule_details[\/\\]index.test.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_creation[\/\\]components[\/\\]step_about_rule_details[\/\\]index.test.tsx/,
@ -256,6 +261,7 @@ module.exports = {
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_creation_ui[\/\\]pages[\/\\]rule_creation[\/\\]index.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_creation_ui[\/\\]pages[\/\\]rule_creation[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_details_ui[\/\\]pages[\/\\]rule_details[\/\\]execution_log_table[\/\\]execution_log_table.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_details_ui[\/\\]pages[\/\\]rule_details[\/\\]execution_log_table[\/\\]execution_log_table.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_details_ui[\/\\]pages[\/\\]rule_details[\/\\]index.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_details_ui[\/\\]pages[\/\\]rule_details[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_details_ui[\/\\]pages[\/\\]rule_details[\/\\]rule_actions_overflow[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_exceptions[\/\\]components[\/\\]add_exception_flyout[\/\\]index.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_exceptions[\/\\]components[\/\\]add_exception_flyout[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_exceptions[\/\\]components[\/\\]all_exception_items_table[\/\\]all_items.test.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_exceptions[\/\\]components[\/\\]all_exception_items_table[\/\\]all_items.test.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_exceptions[\/\\]components[\/\\]all_exception_items_table[\/\\]all_items.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_exceptions[\/\\]components[\/\\]all_exception_items_table[\/\\]all_items.tsx/,
@ -278,6 +284,7 @@ module.exports = {
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_management[\/\\]components[\/\\]rule_details[\/\\]badge_list.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_management[\/\\]components[\/\\]rule_details[\/\\]badge_list.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_management[\/\\]components[\/\\]rule_details[\/\\]rule_about_section.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_management[\/\\]components[\/\\]rule_details[\/\\]rule_about_section.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_management[\/\\]components[\/\\]rule_details[\/\\]rule_details_flyout.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_management[\/\\]components[\/\\]rule_details[\/\\]rule_details_flyout.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_management_ui[\/\\]components[\/\\]pre_packaged_rules[\/\\]load_empty_prompt.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_management_ui[\/\\]components[\/\\]rules_table[\/\\]add_prebuilt_rules_table[\/\\]add_prebuilt_rules_table_filters.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_management_ui[\/\\]components[\/\\]rules_table[\/\\]add_prebuilt_rules_table[\/\\]add_prebuilt_rules_table_filters.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_management_ui[\/\\]components[\/\\]rules_table[\/\\]rules_table_filters[\/\\]rule_search_field.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_management_ui[\/\\]components[\/\\]rules_table[\/\\]rules_table_filters[\/\\]rule_search_field.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_management_ui[\/\\]components[\/\\]rules_table[\/\\]rules_table_filters[\/\\]rules_table_filters.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detection_engine[\/\\]rule_management_ui[\/\\]components[\/\\]rules_table[\/\\]rules_table_filters[\/\\]rules_table_filters.tsx/,
@ -299,13 +306,6 @@ module.exports = {
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]alerts_table[\/\\]additional_filters_action[\/\\]index.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]alerts_table[\/\\]additional_filters_action[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]alerts_table[\/\\]index.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]alerts_table[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]osquery[\/\\]osquery_flyout.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]osquery[\/\\]osquery_flyout.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]rules[\/\\]pre_packaged_rules[\/\\]load_empty_prompt.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]rules[\/\\]related_integrations[\/\\]integrations_description[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]rules[\/\\]related_integrations[\/\\]integrations_description[\/\\]integration_status_badge.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]rules[\/\\]related_integrations[\/\\]integrations_description[\/\\]integration_version_mismatch_icon.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]rules[\/\\]related_integrations[\/\\]integrations_popover[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]rules[\/\\]rule_actions_overflow[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]rules[\/\\]rule_switch[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]severity[\/\\]index.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]severity[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]status[\/\\]index.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]status[\/\\]index.tsx/,
/x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]value_lists_management_flyout[\/\\]reference_error_modal[\/\\]reference_error_modal.tsx/, /x-pack[\/\\]solutions[\/\\]security[\/\\]plugins[\/\\]security_solution[\/\\]public[\/\\]detections[\/\\]components[\/\\]value_lists_management_flyout[\/\\]reference_error_modal[\/\\]reference_error_modal.tsx/,

View file

@ -9,7 +9,7 @@ import React from 'react';
import styled from 'styled-components'; import styled from 'styled-components';
import type { RelatedIntegrationArray } from '../../../../../../common/api/detection_engine/model/rule_schema'; import type { RelatedIntegrationArray } from '../../../../../../common/api/detection_engine/model/rule_schema';
import type { ListItems } from '../../../../../detection_engine/rule_creation_ui/components/description_step/types'; import type { ListItems } from '../../../../rule_creation_ui/components/description_step/types';
import type { IntegrationDetails } from '../integration_details'; import type { IntegrationDetails } from '../integration_details';
import { useRelatedIntegrations } from '../use_related_integrations'; import { useRelatedIntegrations } from '../use_related_integrations';

View file

@ -5,15 +5,15 @@
* 2.0. * 2.0.
*/ */
import { cleanup, waitFor, renderHook } from '@testing-library/react'; import { cleanup, renderHook, waitFor } from '@testing-library/react';
import { useIntegrations } from './use_integrations'; import { useIntegrations } from './use_integrations';
import { fleetIntegrationsApi } from '../../../../detection_engine/fleet_integrations/api'; import { fleetIntegrationsApi } from '../../../fleet_integrations/api';
import { useToasts } from '../../../../common/lib/kibana'; import { useToasts } from '../../../../common/lib/kibana';
import { createReactQueryWrapper } from '../../../../common/mock'; import { createReactQueryWrapper } from '../../../../common/mock';
jest.mock('../../../../detection_engine/fleet_integrations/api'); jest.mock('../../../fleet_integrations/api');
jest.mock('../../../../common/lib/kibana'); jest.mock('../../../../common/lib/kibana');
describe('useIntegrations', () => { describe('useIntegrations', () => {

View file

@ -8,7 +8,7 @@
import { useQuery } from '@tanstack/react-query'; import { useQuery } from '@tanstack/react-query';
import type { Integration } from '../../../../../common/api/detection_engine/fleet_integrations'; import type { Integration } from '../../../../../common/api/detection_engine/fleet_integrations';
import { fleetIntegrationsApi } from '../../../../detection_engine/fleet_integrations'; import { fleetIntegrationsApi } from '../../../fleet_integrations';
const ONE_MINUTE = 60000; const ONE_MINUTE = 60000;

View file

@ -5,24 +5,22 @@
* 2.0. * 2.0.
*/ */
import { mount, type ComponentType as EnzymeComponentType } from 'enzyme'; import { type ComponentType as EnzymeComponentType, mount } from 'enzyme';
import React from 'react'; import React from 'react';
import { waitFor } from '@testing-library/react'; import { waitFor } from '@testing-library/react';
import { performBulkAction } from '../../../../detection_engine/rule_management/api/api'; import { performBulkAction } from '../../../rule_management/api/api';
import { RuleSwitchComponent } from '.'; import { RuleSwitchComponent } from '.';
import { getRulesSchemaMock } from '../../../../../common/api/detection_engine/model/rule_schema/mocks'; import { getRulesSchemaMock } from '../../../../../common/api/detection_engine/model/rule_schema/mocks';
import { useRulesTableContextOptional } from '../../../../detection_engine/rule_management_ui/components/rules_table/rules_table/rules_table_context'; import { useRulesTableContextOptional } from '../../../rule_management_ui/components/rules_table/rules_table/rules_table_context';
import { useRulesTableContextMock } from '../../../../detection_engine/rule_management_ui/components/rules_table/rules_table/__mocks__/rules_table_context'; import { useRulesTableContextMock } from '../../../rule_management_ui/components/rules_table/rules_table/__mocks__/rules_table_context';
import { TestProviders } from '../../../../common/mock'; import { TestProviders } from '../../../../common/mock';
import { useAppToasts } from '../../../../common/hooks/use_app_toasts'; import { useAppToasts } from '../../../../common/hooks/use_app_toasts';
import { useAppToastsMock } from '../../../../common/hooks/use_app_toasts.mock'; import { useAppToastsMock } from '../../../../common/hooks/use_app_toasts.mock';
jest.mock('../../../../common/hooks/use_app_toasts'); jest.mock('../../../../common/hooks/use_app_toasts');
jest.mock('../../../../detection_engine/rule_management/api/api'); jest.mock('../../../rule_management/api/api');
jest.mock( jest.mock('../../../rule_management_ui/components/rules_table/rules_table/rules_table_context');
'../../../../detection_engine/rule_management_ui/components/rules_table/rules_table/rules_table_context'
);
jest.mock('../../../../common/lib/apm/use_start_transaction'); jest.mock('../../../../common/lib/apm/use_start_transaction');
const useAppToastsValueMock = useAppToastsMock.create(); const useAppToastsValueMock = useAppToastsMock.create();

View file

@ -12,8 +12,8 @@ import styled from 'styled-components';
import { BulkActionTypeEnum } from '../../../../../common/api/detection_engine/rule_management'; import { BulkActionTypeEnum } from '../../../../../common/api/detection_engine/rule_management';
import { SINGLE_RULE_ACTIONS } from '../../../../common/lib/apm/user_actions'; import { SINGLE_RULE_ACTIONS } from '../../../../common/lib/apm/user_actions';
import { useStartTransaction } from '../../../../common/lib/apm/use_start_transaction'; import { useStartTransaction } from '../../../../common/lib/apm/use_start_transaction';
import { useExecuteBulkAction } from '../../../../detection_engine/rule_management/logic/bulk_actions/use_execute_bulk_action'; import { useExecuteBulkAction } from '../../../rule_management/logic/bulk_actions/use_execute_bulk_action';
import { useRulesTableContextOptional } from '../../../../detection_engine/rule_management_ui/components/rules_table/rules_table/rules_table_context'; import { useRulesTableContextOptional } from '../../../rule_management_ui/components/rules_table/rules_table/rules_table_context';
import { ruleSwitchAriaLabel } from './translations'; import { ruleSwitchAriaLabel } from './translations';
const StaticSwitch = styled(EuiSwitch)` const StaticSwitch = styled(EuiSwitch)`

View file

@ -12,17 +12,17 @@ import semver from 'semver';
import { css } from '@emotion/css'; import { css } from '@emotion/css';
import type { EuiComboBoxOptionOption } from '@elastic/eui'; import type { EuiComboBoxOptionOption } from '@elastic/eui';
import { import {
EuiTextTruncate,
EuiButtonIcon, EuiButtonIcon,
EuiComboBox, EuiComboBox,
EuiFieldText, EuiFieldText,
EuiFlexGroup, EuiFlexGroup,
EuiFlexItem, EuiFlexItem,
EuiFormRow, EuiFormRow,
EuiTextTruncate,
} from '@elastic/eui'; } from '@elastic/eui';
import type { FieldHook } from '../../../../shared_imports'; import type { FieldHook } from '../../../../shared_imports';
import type { Integration, RelatedIntegration } from '../../../../../common/api/detection_engine'; import type { Integration, RelatedIntegration } from '../../../../../common/api/detection_engine';
import { useIntegrations } from '../../../../detections/components/rules/related_integrations/use_integrations'; import { useIntegrations } from '../../../common/components/related_integrations/use_integrations';
import { IntegrationStatusBadge } from './integration_status_badge'; import { IntegrationStatusBadge } from './integration_status_badge';
import * as i18n from './translations'; import * as i18n from './translations';

View file

@ -6,7 +6,7 @@
*/ */
import { EuiDescriptionList, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { EuiDescriptionList, EuiFlexGroup, EuiFlexItem } from '@elastic/eui';
import { isEmpty, chunk, get, pick, isNumber } from 'lodash/fp'; import { chunk, get, isEmpty, isNumber, pick } from 'lodash/fp';
import React, { memo, useState } from 'react'; import React, { memo, useState } from 'react';
import styled from 'styled-components'; import styled from 'styled-components';
import type { ThreatMapping, Threats, Type } from '@kbn/securitysolution-io-ts-alerting-types'; import type { ThreatMapping, Threats, Type } from '@kbn/securitysolution-io-ts-alerting-types';
@ -17,7 +17,7 @@ import type {
RelatedIntegrationArray, RelatedIntegrationArray,
RequiredFieldArray, RequiredFieldArray,
} from '../../../../../common/api/detection_engine/model/rule_schema'; } from '../../../../../common/api/detection_engine/model/rule_schema';
import { buildRelatedIntegrationsDescription } from '../../../../detections/components/rules/related_integrations/integrations_description'; import { buildRelatedIntegrationsDescription } from '../../../common/components/related_integrations/integrations_description';
import { DEFAULT_TIMELINE_TITLE } from '../../../../timelines/components/timeline/translations'; import { DEFAULT_TIMELINE_TITLE } from '../../../../timelines/components/timeline/translations';
import type { EqlOptions } from '../../../../../common/search_strategy'; import type { EqlOptions } from '../../../../../common/search_strategy';
import { useKibana } from '../../../../common/lib/kibana'; import { useKibana } from '../../../../common/lib/kibana';
@ -26,26 +26,26 @@ import type { FieldValueTimeline } from '../../../rule_creation/components/pick_
import type { FormSchema } from '../../../../shared_imports'; import type { FormSchema } from '../../../../shared_imports';
import type { ListItems } from './types'; import type { ListItems } from './types';
import { import {
buildAlertSuppressionDescription,
buildAlertSuppressionMissingFieldsDescription,
buildAlertSuppressionWindowDescription,
buildEqlOptionsDescription,
buildHighlightedFieldsOverrideDescription,
buildIntervalDescription,
buildNoteDescription,
buildQueryBarDescription, buildQueryBarDescription,
buildRequiredFieldsDescription,
buildRiskScoreDescription,
buildRuleTypeDescription,
buildSetupDescription,
buildSeverityDescription, buildSeverityDescription,
buildStringArrayDescription, buildStringArrayDescription,
buildThreatDescription, buildThreatDescription,
buildThreatMappingDescription,
buildThresholdDescription,
buildUnorderedListArrayDescription, buildUnorderedListArrayDescription,
buildUrlsDescription, buildUrlsDescription,
buildNoteDescription,
buildRiskScoreDescription,
buildRuleTypeDescription,
buildThresholdDescription,
buildThreatMappingDescription,
buildEqlOptionsDescription,
buildRequiredFieldsDescription,
buildAlertSuppressionDescription,
buildAlertSuppressionWindowDescription,
buildAlertSuppressionMissingFieldsDescription,
buildHighlightedFieldsOverrideDescription,
buildSetupDescription,
getQueryLabel, getQueryLabel,
buildIntervalDescription,
} from './helpers'; } from './helpers';
import * as i18n from './translations'; import * as i18n from './translations';
import { buildMlJobsDescription } from './build_ml_jobs_description'; import { buildMlJobsDescription } from './build_ml_jobs_description';
@ -55,10 +55,10 @@ import { filterEmptyThreats } from '../../pages/rule_creation/helpers';
import { useLicense } from '../../../../common/hooks/use_license'; import { useLicense } from '../../../../common/hooks/use_license';
import type { LicenseService } from '../../../../../common/license'; import type { LicenseService } from '../../../../../common/license';
import { import {
isThresholdRule,
isSuppressionRuleConfiguredWithMissingFields,
isSuppressionRuleConfiguredWithGroupBy,
isSuppressionRuleConfiguredWithDuration, isSuppressionRuleConfiguredWithDuration,
isSuppressionRuleConfiguredWithGroupBy,
isSuppressionRuleConfiguredWithMissingFields,
isThresholdRule,
} from '../../../../../common/detection_engine/utils'; } from '../../../../../common/detection_engine/utils';
import { import {
ALERT_SUPPRESSION_DURATION_FIELD_NAME, ALERT_SUPPRESSION_DURATION_FIELD_NAME,
@ -80,6 +80,7 @@ import type { FieldValueQueryBar } from '../query_bar_field';
const DescriptionListContainer = styled(EuiDescriptionList)` const DescriptionListContainer = styled(EuiDescriptionList)`
max-width: 600px; max-width: 600px;
.euiDescriptionList__description { .euiDescriptionList__description {
overflow-wrap: anywhere; overflow-wrap: anywhere;
} }

View file

@ -78,7 +78,7 @@ import {
buildShowBuildingBlockFilter, buildShowBuildingBlockFilter,
buildThreatMatchFilter, buildThreatMatchFilter,
} from '../../../../detections/components/alerts_table/default_config'; } from '../../../../detections/components/alerts_table/default_config';
import { RuleSwitch } from '../../../../detections/components/rules/rule_switch'; import { RuleSwitch } from '../../../common/components/rule_switch';
import { StepPanel } from '../../../rule_creation/components/step_panel'; import { StepPanel } from '../../../rule_creation/components/step_panel';
import { import {
getMachineLearningJobId, getMachineLearningJobId,
@ -89,7 +89,7 @@ import { CreatedBy, UpdatedBy } from '../../../../detections/components/rules/ru
import { useGlobalTime } from '../../../../common/containers/use_global_time'; import { useGlobalTime } from '../../../../common/containers/use_global_time';
import { inputsSelectors } from '../../../../common/store/inputs'; import { inputsSelectors } from '../../../../common/store/inputs';
import { setAbsoluteRangeDatePicker } from '../../../../common/store/inputs/actions'; import { setAbsoluteRangeDatePicker } from '../../../../common/store/inputs/actions';
import { RuleActionsOverflow } from '../../../../detections/components/rules/rule_actions_overflow'; import { RuleActionsOverflow } from './rule_actions_overflow';
import { useMlCapabilities } from '../../../../common/components/ml/hooks/use_ml_capabilities'; import { useMlCapabilities } from '../../../../common/components/ml/hooks/use_ml_capabilities';
import { hasMlAdminPermissions } from '../../../../../common/machine_learning/has_ml_admin_permissions'; import { hasMlAdminPermissions } from '../../../../../common/machine_learning/has_ml_admin_permissions';
import { hasMlLicense } from '../../../../../common/machine_learning/has_ml_license'; import { hasMlLicense } from '../../../../../common/machine_learning/has_ml_license';
@ -117,7 +117,7 @@ import {
RuleStatus, RuleStatus,
RuleStatusFailedCallOut, RuleStatusFailedCallOut,
ruleStatusI18n, ruleStatusI18n,
} from '../../../../detections/components/rules/rule_execution_status'; } from '../../../common/components/rule_execution_status';
import { ExecutionEventsTable } from '../../../rule_monitoring'; import { ExecutionEventsTable } from '../../../rule_monitoring';
import { ExecutionLogTable } from './execution_log_table/execution_log_table'; import { ExecutionLogTable } from './execution_log_table/execution_log_table';
import { RuleBackfillsInfo } from '../../../rule_gaps/components/rule_backfills_info'; import { RuleBackfillsInfo } from '../../../rule_gaps/components/rule_backfills_info';

View file

@ -8,24 +8,22 @@
import { fireEvent, render, waitFor } from '@testing-library/react'; import { fireEvent, render, waitFor } from '@testing-library/react';
import React from 'react'; import React from 'react';
import { RuleActionsOverflow } from '.'; import { RuleActionsOverflow } from '.';
import { ManualRuleRunEventTypes } from '../../../../common/lib/telemetry'; import { ManualRuleRunEventTypes } from '../../../../../common/lib/telemetry';
import { TestProviders } from '../../../../common/mock'; import { TestProviders } from '../../../../../common/mock';
import { useBulkExport } from '../../../../detection_engine/rule_management/logic/bulk_actions/use_bulk_export'; import { useBulkExport } from '../../../../rule_management/logic/bulk_actions/use_bulk_export';
import { useExecuteBulkAction } from '../../../../detection_engine/rule_management/logic/bulk_actions/use_execute_bulk_action'; import { useExecuteBulkAction } from '../../../../rule_management/logic/bulk_actions/use_execute_bulk_action';
import { mockRule } from '../../../../detection_engine/rule_management_ui/components/rules_table/__mocks__/mock'; import { mockRule } from '../../../../rule_management_ui/components/rules_table/__mocks__/mock';
const showBulkDuplicateExceptionsConfirmation = () => Promise.resolve(null); const showBulkDuplicateExceptionsConfirmation = () => Promise.resolve(null);
const showManualRuleRunConfirmation = () => Promise.resolve(null); const showManualRuleRunConfirmation = () => Promise.resolve(null);
jest.mock('../../../../common/hooks/use_experimental_features'); jest.mock('../../../../../common/hooks/use_experimental_features');
jest.mock( jest.mock('../../../../rule_management/logic/bulk_actions/use_execute_bulk_action');
'../../../../detection_engine/rule_management/logic/bulk_actions/use_execute_bulk_action' jest.mock('../../../../rule_management/logic/bulk_actions/use_bulk_export');
);
jest.mock('../../../../detection_engine/rule_management/logic/bulk_actions/use_bulk_export');
const mockReportEvent = jest.fn(); const mockReportEvent = jest.fn();
jest.mock('../../../../common/lib/kibana', () => { jest.mock('../../../../../common/lib/kibana', () => {
const actual = jest.requireActual('../../../../common/lib/kibana'); const actual = jest.requireActual('../../../../../common/lib/kibana');
return { return {
...actual, ...actual,
useKibana: jest.fn().mockImplementation(() => { useKibana: jest.fn().mockImplementation(() => {

View file

@ -14,27 +14,27 @@ import {
} from '@elastic/eui'; } from '@elastic/eui';
import React, { useCallback, useMemo } from 'react'; import React, { useCallback, useMemo } from 'react';
import styled from 'styled-components'; import styled from 'styled-components';
import { useScheduleRuleRun } from '../../../../detection_engine/rule_gaps/logic/use_schedule_rule_run'; import { useScheduleRuleRun } from '../../../../rule_gaps/logic/use_schedule_rule_run';
import type { TimeRange } from '../../../../detection_engine/rule_gaps/types'; import type { TimeRange } from '../../../../rule_gaps/types';
import { APP_UI_ID, SecurityPageName } from '../../../../../common/constants'; import { APP_UI_ID, SecurityPageName } from '../../../../../../common';
import { DuplicateOptions } from '../../../../../common/detection_engine/rule_management/constants'; import { DuplicateOptions } from '../../../../../../common/detection_engine/rule_management/constants';
import { BulkActionTypeEnum } from '../../../../../common/api/detection_engine/rule_management'; import { BulkActionTypeEnum } from '../../../../../../common/api/detection_engine/rule_management';
import { getRulesUrl } from '../../../../common/components/link_to/redirect_to_detection_engine'; import { getRulesUrl } from '../../../../../common/components/link_to/redirect_to_detection_engine';
import { useBoolState } from '../../../../common/hooks/use_bool_state'; import { useBoolState } from '../../../../../common/hooks/use_bool_state';
import { SINGLE_RULE_ACTIONS } from '../../../../common/lib/apm/user_actions'; import { SINGLE_RULE_ACTIONS } from '../../../../../common/lib/apm/user_actions';
import { useStartTransaction } from '../../../../common/lib/apm/use_start_transaction'; import { useStartTransaction } from '../../../../../common/lib/apm/use_start_transaction';
import { useKibana } from '../../../../common/lib/kibana'; import { useKibana } from '../../../../../common/lib/kibana';
import { canEditRuleWithActions } from '../../../../common/utils/privileges'; import { canEditRuleWithActions } from '../../../../../common/utils/privileges';
import type { Rule } from '../../../../detection_engine/rule_management/logic'; import type { Rule } from '../../../../rule_management/logic';
import { useBulkExport } from '../../../../detection_engine/rule_management/logic/bulk_actions/use_bulk_export'; import { useBulkExport } from '../../../../rule_management/logic/bulk_actions/use_bulk_export';
import { import {
goToRuleEditPage, goToRuleEditPage,
useExecuteBulkAction, useExecuteBulkAction,
} from '../../../../detection_engine/rule_management/logic/bulk_actions/use_execute_bulk_action'; } from '../../../../rule_management/logic/bulk_actions/use_execute_bulk_action';
import { useDownloadExportedRules } from '../../../../detection_engine/rule_management/logic/bulk_actions/use_download_exported_rules'; import { useDownloadExportedRules } from '../../../../rule_management/logic/bulk_actions/use_download_exported_rules';
import * as i18nActions from '../../../../detection_engine/common/translations'; import * as i18nActions from '../../../../common/translations';
import * as i18n from './translations'; import * as i18n from './translations';
import { ManualRuleRunEventTypes } from '../../../../common/lib/telemetry'; import { ManualRuleRunEventTypes } from '../../../../../common/lib/telemetry';
const MyEuiButtonIcon = styled(EuiButtonIcon)` const MyEuiButtonIcon = styled(EuiButtonIcon)`
&.euiButtonIcon { &.euiButtonIcon {

View file

@ -7,20 +7,20 @@
import React, { useMemo } from 'react'; import React, { useMemo } from 'react';
import { isEmpty } from 'lodash/fp'; import { isEmpty } from 'lodash/fp';
import {
EuiDescriptionList,
EuiText,
EuiFlexGrid,
EuiFlexItem,
EuiFlexGroup,
EuiLoadingSpinner,
EuiButtonIcon,
EuiPopover,
} from '@elastic/eui';
import type { EuiDescriptionListProps } from '@elastic/eui'; import type { EuiDescriptionListProps } from '@elastic/eui';
import {
EuiButtonIcon,
EuiDescriptionList,
EuiFlexGrid,
EuiFlexGroup,
EuiFlexItem,
EuiLoadingSpinner,
EuiPopover,
EuiText,
} from '@elastic/eui';
import type { import type {
Type,
ThreatMapping as ThreatMappingType, ThreatMapping as ThreatMappingType,
Type,
} from '@kbn/securitysolution-io-ts-alerting-types'; } from '@kbn/securitysolution-io-ts-alerting-types';
import type { Filter } from '@kbn/es-query'; import type { Filter } from '@kbn/es-query';
import type { SavedQuery } from '@kbn/data-plugin/public'; import type { SavedQuery } from '@kbn/data-plugin/public';
@ -38,7 +38,7 @@ import type {
import { AlertSuppressionMissingFieldsStrategyEnum } from '../../../../../common/api/detection_engine/model/rule_schema'; import { AlertSuppressionMissingFieldsStrategyEnum } from '../../../../../common/api/detection_engine/model/rule_schema';
import { assertUnreachable } from '../../../../../common/utility_types'; import { assertUnreachable } from '../../../../../common/utility_types';
import * as descriptionStepI18n from '../../../rule_creation_ui/components/description_step/translations'; import * as descriptionStepI18n from '../../../rule_creation_ui/components/description_step/translations';
import { RelatedIntegrationsDescription } from '../../../../detections/components/rules/related_integrations/integrations_description'; import { RelatedIntegrationsDescription } from '../../../common/components/related_integrations/integrations_description';
import { AlertSuppressionLabel } from '../../../rule_creation_ui/components/description_step/alert_suppression_label'; import { AlertSuppressionLabel } from '../../../rule_creation_ui/components/description_step/alert_suppression_label';
import { useGetSavedQuery } from '../../../common/use_get_saved_query'; import { useGetSavedQuery } from '../../../common/use_get_saved_query';
import * as threatMatchI18n from '../../../../common/components/threat_match/translations'; import * as threatMatchI18n from '../../../../common/components/threat_match/translations';

View file

@ -8,7 +8,7 @@
import React from 'react'; import React from 'react';
import { EuiDescriptionList } from '@elastic/eui'; import { EuiDescriptionList } from '@elastic/eui';
import * as ruleDetailsI18n from '../../../../translations'; import * as ruleDetailsI18n from '../../../../translations';
import { RelatedIntegrationsDescription } from '../../../../../../../../detections/components/rules/related_integrations/integrations_description'; import { RelatedIntegrationsDescription } from '../../../../../../../common/components/related_integrations/integrations_description';
import type { RelatedIntegrationArray } from '../../../../../../../../../common/api/detection_engine'; import type { RelatedIntegrationArray } from '../../../../../../../../../common/api/detection_engine';
import { EmptyFieldValuePlaceholder } from '../../empty_field_value_placeholder'; import { EmptyFieldValuePlaceholder } from '../../empty_field_value_placeholder';

View file

@ -7,12 +7,12 @@
import React from 'react'; import React from 'react';
import { import {
EuiButtonIcon,
EuiPopover, EuiPopover,
EuiText, EuiPopoverFooter,
EuiPopoverTitle, EuiPopoverTitle,
EuiSpacer, EuiSpacer,
EuiPopoverFooter, EuiText,
EuiButtonIcon,
} from '@elastic/eui'; } from '@elastic/eui';
import { RuleExecutionStatusEnum } from '../../../../../common/api/detection_engine/rule_monitoring'; import { RuleExecutionStatusEnum } from '../../../../../common/api/detection_engine/rule_monitoring';
@ -24,7 +24,7 @@ import { getRuleDetailsTabUrl } from '../../../../common/components/link_to/redi
import { SecurityPageName } from '../../../../../common/constants'; import { SecurityPageName } from '../../../../../common/constants';
import { SecuritySolutionLinkButton } from '../../../../common/components/links'; import { SecuritySolutionLinkButton } from '../../../../common/components/links';
import { isMlRule } from '../../../../../common/detection_engine/utils'; import { isMlRule } from '../../../../../common/detection_engine/utils';
import { getCapitalizedStatusText } from '../../../../detections/components/rules/rule_execution_status/utils'; import { getCapitalizedStatusText } from '../../../common/components/rule_execution_status/utils';
import type { Rule } from '../../../rule_management/logic'; import type { Rule } from '../../../rule_management/logic';
import { isJobStarted } from '../../../../../common/machine_learning/helpers'; import { isJobStarted } from '../../../../../common/machine_learning/helpers';
import { RuleDetailTabs } from '../../../rule_details_ui/pages/rule_details/use_rule_details_tabs'; import { RuleDetailTabs } from '../../../rule_details_ui/pages/rule_details/use_rule_details_tabs';

View file

@ -8,11 +8,11 @@
import { EuiBadge, EuiButton, EuiButtonEmpty } from '@elastic/eui'; import { EuiBadge, EuiButton, EuiButtonEmpty } from '@elastic/eui';
import React from 'react'; import React from 'react';
import { css } from '@emotion/react'; import { css } from '@emotion/react';
import { INSTALL_PREBUILT_RULES_ANCHOR } from '../../../../detection_engine/rule_management_ui/components/rules_table/rules_table/guided_onboarding/rules_management_tour'; import { INSTALL_PREBUILT_RULES_ANCHOR } from '../rules_table/rules_table/guided_onboarding/rules_management_tour';
import * as i18n from './translations'; import * as i18n from './translations';
import { useGetSecuritySolutionLinkProps } from '../../../../common/components/links'; import { useGetSecuritySolutionLinkProps } from '../../../../common/components/links';
import { SecurityPageName } from '../../../../../common'; import { SecurityPageName } from '../../../../../common';
import { usePrebuiltRulesStatus } from '../../../../detection_engine/rule_management/logic/prebuilt_rules/use_prebuilt_rules_status'; import { usePrebuiltRulesStatus } from '../../../rule_management/logic/prebuilt_rules/use_prebuilt_rules_status';
interface AddElasticRulesButtonProps { interface AddElasticRulesButtonProps {
'data-test-subj'?: string; 'data-test-subj'?: string;

View file

@ -8,7 +8,7 @@
import { EuiEmptyPrompt, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { EuiEmptyPrompt, EuiFlexGroup, EuiFlexItem } from '@elastic/eui';
import React, { memo } from 'react'; import React, { memo } from 'react';
import styled from 'styled-components'; import styled from 'styled-components';
import { useUserData } from '../../user_info'; import { useUserData } from '../../../../detections/components/user_info';
import { AddElasticRulesButton } from './add_elastic_rules_button'; import { AddElasticRulesButton } from './add_elastic_rules_button';
import * as i18n from './translations'; import * as i18n from './translations';

View file

@ -6,13 +6,13 @@
*/ */
import type { EuiBasicTableColumn } from '@elastic/eui'; import type { EuiBasicTableColumn } from '@elastic/eui';
import { EuiBadge, EuiText, EuiLink } from '@elastic/eui'; import { EuiBadge, EuiLink, EuiText } from '@elastic/eui';
import React, { useMemo } from 'react'; import React, { useMemo } from 'react';
import { RulesTableEmptyColumnName } from '../rules_table_empty_column_name'; import { RulesTableEmptyColumnName } from '../rules_table_empty_column_name';
import { SHOW_RELATED_INTEGRATIONS_SETTING } from '../../../../../../common/constants'; import { SHOW_RELATED_INTEGRATIONS_SETTING } from '../../../../../../common/constants';
import { PopoverItems } from '../../../../../common/components/popover_items'; import { PopoverItems } from '../../../../../common/components/popover_items';
import { useUiSetting$ } from '../../../../../common/lib/kibana'; import { useUiSetting$ } from '../../../../../common/lib/kibana';
import { IntegrationsPopover } from '../../../../../detections/components/rules/related_integrations/integrations_popover'; import { IntegrationsPopover } from '../../../../common/components/related_integrations/integrations_popover';
import { SeverityBadge } from '../../../../../common/components/severity_badge'; import { SeverityBadge } from '../../../../../common/components/severity_badge';
import * as i18n from '../../../../common/translations'; import * as i18n from '../../../../common/translations';
import type { Rule } from '../../../../rule_management/logic'; import type { Rule } from '../../../../rule_management/logic';
@ -21,8 +21,8 @@ import { hasUserCRUDPermission } from '../../../../../common/utils/privileges';
import type { AddPrebuiltRulesTableActions } from './add_prebuilt_rules_table_context'; import type { AddPrebuiltRulesTableActions } from './add_prebuilt_rules_table_context';
import { useAddPrebuiltRulesTableContext } from './add_prebuilt_rules_table_context'; import { useAddPrebuiltRulesTableContext } from './add_prebuilt_rules_table_context';
import type { import type {
RuleSignatureId,
RuleResponse, RuleResponse,
RuleSignatureId,
} from '../../../../../../common/api/detection_engine/model/rule_schema'; } from '../../../../../../common/api/detection_engine/model/rule_schema';
import { getNormalizedSeverity } from '../helpers'; import { getNormalizedSeverity } from '../helpers';
import { PrebuiltRulesInstallButton } from './add_prebuilt_rules_install_button'; import { PrebuiltRulesInstallButton } from './add_prebuilt_rules_install_button';

View file

@ -7,12 +7,12 @@
import React from 'react'; import React from 'react';
import { import {
EuiButtonIcon,
EuiPopover, EuiPopover,
EuiText, EuiPopoverFooter,
EuiPopoverTitle, EuiPopoverTitle,
EuiSpacer, EuiSpacer,
EuiPopoverFooter, EuiText,
EuiButtonIcon,
} from '@elastic/eui'; } from '@elastic/eui';
import { RuleExecutionStatusEnum } from '../../../../../common/api/detection_engine/rule_monitoring'; import { RuleExecutionStatusEnum } from '../../../../../common/api/detection_engine/rule_monitoring';
@ -24,7 +24,7 @@ import { getRuleDetailsTabUrl } from '../../../../common/components/link_to/redi
import { SecurityPageName } from '../../../../../common/constants'; import { SecurityPageName } from '../../../../../common/constants';
import { SecuritySolutionLinkButton } from '../../../../common/components/links'; import { SecuritySolutionLinkButton } from '../../../../common/components/links';
import { isMlRule } from '../../../../../common/detection_engine/utils'; import { isMlRule } from '../../../../../common/detection_engine/utils';
import { getCapitalizedStatusText } from '../../../../detections/components/rules/rule_execution_status/utils'; import { getCapitalizedStatusText } from '../../../common/components/rule_execution_status/utils';
import type { Rule } from '../../../rule_management/logic'; import type { Rule } from '../../../rule_management/logic';
import { isJobStarted } from '../../../../../common/machine_learning/helpers'; import { isJobStarted } from '../../../../../common/machine_learning/helpers';
import { RuleDetailTabs } from '../../../rule_details_ui/pages/rule_details/use_rule_details_tabs'; import { RuleDetailTabs } from '../../../rule_details_ui/pages/rule_details/use_rule_details_tabs';

View file

@ -12,8 +12,8 @@ import { EuiFilterButton, EuiPopover, EuiSelectable } from '@elastic/eui';
import * as i18n from '../../../../common/translations'; import * as i18n from '../../../../common/translations';
import type { RuleExecutionStatus } from '../../../../../../common/api/detection_engine'; import type { RuleExecutionStatus } from '../../../../../../common/api/detection_engine';
import { RuleExecutionStatusEnum } from '../../../../../../common/api/detection_engine'; import { RuleExecutionStatusEnum } from '../../../../../../common/api/detection_engine';
import { getCapitalizedStatusText } from '../../../../../detections/components/rules/rule_execution_status/utils'; import { getCapitalizedStatusText } from '../../../../common/components/rule_execution_status/utils';
import { RuleStatusBadge } from '../../../../../detections/components/rules/rule_execution_status/rule_status_badge'; import { RuleStatusBadge } from '../../../../common/components/rule_execution_status';
interface OptionData { interface OptionData {
status: RuleExecutionStatus; status: RuleExecutionStatus;

View file

@ -16,7 +16,7 @@ import { FormattedMessage } from '@kbn/i18n-react';
import React, { useCallback, useMemo, useRef } from 'react'; import React, { useCallback, useMemo, useRef } from 'react';
import { Loader } from '../../../../common/components/loader'; import { Loader } from '../../../../common/components/loader';
import { useBoolState } from '../../../../common/hooks/use_bool_state'; import { useBoolState } from '../../../../common/hooks/use_bool_state';
import { PrePackagedRulesPrompt } from '../../../../detections/components/rules/pre_packaged_rules/load_empty_prompt'; import { PrePackagedRulesPrompt } from '../pre_packaged_rules/load_empty_prompt';
import type { Rule } from '../../../rule_management/logic'; import type { Rule } from '../../../rule_management/logic';
import * as i18n from '../../../common/translations'; import * as i18n from '../../../common/translations';
import type { EuiBasicTableOnChange } from '../../../common/types'; import type { EuiBasicTableOnChange } from '../../../common/types';

View file

@ -23,7 +23,7 @@ import type { RuleSignatureId } from '../../../../../../common/api/detection_eng
import { PopoverItems } from '../../../../../common/components/popover_items'; import { PopoverItems } from '../../../../../common/components/popover_items';
import { useUiSetting$ } from '../../../../../common/lib/kibana'; import { useUiSetting$ } from '../../../../../common/lib/kibana';
import { hasUserCRUDPermission } from '../../../../../common/utils/privileges'; import { hasUserCRUDPermission } from '../../../../../common/utils/privileges';
import { IntegrationsPopover } from '../../../../../detections/components/rules/related_integrations/integrations_popover'; import { IntegrationsPopover } from '../../../../common/components/related_integrations/integrations_popover';
import { SeverityBadge } from '../../../../../common/components/severity_badge'; import { SeverityBadge } from '../../../../../common/components/severity_badge';
import { useUserData } from '../../../../../detections/components/user_info'; import { useUserData } from '../../../../../detections/components/user_info';
import * as i18n from '../../../../common/translations'; import * as i18n from '../../../../common/translations';

View file

@ -30,9 +30,9 @@ import {
canEditRuleWithActions, canEditRuleWithActions,
explainLackOfPermission, explainLackOfPermission,
} from '../../../../common/utils/privileges'; } from '../../../../common/utils/privileges';
import { IntegrationsPopover } from '../../../../detections/components/rules/related_integrations/integrations_popover'; import { IntegrationsPopover } from '../../../common/components/related_integrations/integrations_popover';
import { RuleStatusBadge } from '../../../../detections/components/rules/rule_execution_status'; import { RuleStatusBadge } from '../../../common/components/rule_execution_status';
import { RuleSwitch } from '../../../../detections/components/rules/rule_switch'; import { RuleSwitch } from '../../../common/components/rule_switch';
import { SeverityBadge } from '../../../../common/components/severity_badge'; import { SeverityBadge } from '../../../../common/components/severity_badge';
import * as i18n from '../../../common/translations'; import * as i18n from '../../../common/translations';
import { RuleDetailTabs } from '../../../rule_details_ui/pages/rule_details/use_rule_details_tabs'; import { RuleDetailTabs } from '../../../rule_details_ui/pages/rule_details/use_rule_details_tabs';

View file

@ -6,7 +6,7 @@
*/ */
import React from 'react'; import React from 'react';
import { EuiButtonEmpty, EuiFlexGroup, EuiFlexItem, EuiToolTip, EuiSpacer } from '@elastic/eui'; import { EuiButtonEmpty, EuiFlexGroup, EuiFlexItem, EuiSpacer, EuiToolTip } from '@elastic/eui';
import { MaintenanceWindowCallout } from '@kbn/alerts-ui-shared'; import { MaintenanceWindowCallout } from '@kbn/alerts-ui-shared';
import { DEFAULT_APP_CATEGORIES } from '@kbn/core-application-common'; import { DEFAULT_APP_CATEGORIES } from '@kbn/core-application-common';
import { APP_UI_ID } from '../../../../../common/constants'; import { APP_UI_ID } from '../../../../../common/constants';
@ -19,9 +19,9 @@ import { useKibana } from '../../../../common/lib/kibana';
import { hasUserCRUDPermission } from '../../../../common/utils/privileges'; import { hasUserCRUDPermission } from '../../../../common/utils/privileges';
import { SpyRoute } from '../../../../common/utils/route/spy_routes'; import { SpyRoute } from '../../../../common/utils/route/spy_routes';
import { MissingPrivilegesCallOut } from '../../../../detections/components/callouts/missing_privileges_callout'; import { MissingPrivilegesCallOut } from '../../../../detections/components/callouts/missing_privileges_callout';
import { MlJobCompatibilityCallout } from '../../../../detections/components/callouts/ml_job_compatibility_callout'; import { MlJobCompatibilityCallout } from '../../components/ml_job_compatibility_callout';
import { NeedAdminForUpdateRulesCallOut } from '../../../../detections/components/callouts/need_admin_for_update_callout'; import { NeedAdminForUpdateRulesCallOut } from '../../../../detections/components/callouts/need_admin_for_update_callout';
import { AddElasticRulesButton } from '../../../../detections/components/rules/pre_packaged_rules/add_elastic_rules_button'; import { AddElasticRulesButton } from '../../components/pre_packaged_rules/add_elastic_rules_button';
import { ValueListsFlyout } from '../../../../detections/components/value_lists_management_flyout'; import { ValueListsFlyout } from '../../../../detections/components/value_lists_management_flyout';
import { useUserData } from '../../../../detections/components/user_info'; import { useUserData } from '../../../../detections/components/user_info';
import { useListsConfig } from '../../../../detections/containers/detection_engine/lists/use_lists_config'; import { useListsConfig } from '../../../../detections/containers/detection_engine/lists/use_lists_config';
@ -31,7 +31,7 @@ import { AllRules } from '../../components/rules_table';
import { RulesTableContextProvider } from '../../components/rules_table/rules_table/rules_table_context'; import { RulesTableContextProvider } from '../../components/rules_table/rules_table/rules_table_context';
import { HeaderPage } from '../../../../common/components/header_page'; import { HeaderPage } from '../../../../common/components/header_page';
import { RuleUpdateCallouts } from '../../components/rule_update_callouts/rule_update_callouts'; import { RuleUpdateCallouts } from '../../components/rule_update_callouts/rule_update_callouts';
import { BlogPostPrebuiltRuleCustomizationCallout } from '../../../../detections/components/callouts/blog_post_prebuilt_rule_customization_callout'; import { BlogPostPrebuiltRuleCustomizationCallout } from '../../components/blog_post_prebuilt_rule_customization_callout';
import { RuleImportModal } from '../../components/rule_import_modal/rule_import_modal'; import { RuleImportModal } from '../../components/rule_import_modal/rule_import_modal';
const RulesPageComponent: React.FC = () => { const RulesPageComponent: React.FC = () => {

View file

@ -10,11 +10,11 @@ import { EuiHealth } from '@elastic/eui';
import type { RuleExecutionStatus } from '../../../../../../../common/api/detection_engine/rule_monitoring'; import type { RuleExecutionStatus } from '../../../../../../../common/api/detection_engine/rule_monitoring';
import { getEmptyTagValue } from '../../../../../../common/components/empty_value'; import { getEmptyTagValue } from '../../../../../../common/components/empty_value';
import { RuleStatusBadge } from '../../../../../../detections/components/rules/rule_execution_status'; import { RuleStatusBadge } from '../../../../../common/components/rule_execution_status';
import { import {
getCapitalizedStatusText, getCapitalizedStatusText,
getStatusColor, getStatusColor,
} from '../../../../../../detections/components/rules/rule_execution_status/utils'; } from '../../../../../common/components/rule_execution_status/utils';
const EMPTY_STATUS_TEXT = getEmptyTagValue(); const EMPTY_STATUS_TEXT = getEmptyTagValue();

View file

@ -26,9 +26,12 @@ const mockUseIntegrations = jest.fn().mockReturnValue({
data: [], data: [],
}); });
jest.mock('../../../../detections/components/rules/related_integrations/use_integrations', () => ({ jest.mock(
useIntegrations: () => mockUseIntegrations(), '../../../../detection_engine/common/components/related_integrations/use_integrations',
})); () => ({
useIntegrations: () => mockUseIntegrations(),
})
);
jest.mock('../../../../common/hooks/use_space_id', () => ({ jest.mock('../../../../common/hooks/use_space_id', () => ({
useSpaceId: () => 'test-space-id', useSpaceId: () => 'test-space-id',

View file

@ -9,7 +9,7 @@ import { useEffect, useMemo } from 'react';
import { useIsExperimentalFeatureEnabled } from '../../../../common/hooks/use_experimental_features'; import { useIsExperimentalFeatureEnabled } from '../../../../common/hooks/use_experimental_features';
import type { ManagedUserHits } from '../../../../../common/search_strategy/security_solution/users/managed_details'; import type { ManagedUserHits } from '../../../../../common/search_strategy/security_solution/users/managed_details';
import { useIntegrations } from '../../../../detections/components/rules/related_integrations/use_integrations'; import { useIntegrations } from '../../../../detection_engine/common/components/related_integrations/use_integrations';
import { UsersQueries } from '../../../../../common/api/search_strategy'; import { UsersQueries } from '../../../../../common/api/search_strategy';
import { useSpaceId } from '../../../../common/hooks/use_space_id'; import { useSpaceId } from '../../../../common/hooks/use_space_id';
import { useSearchStrategy } from '../../../../common/containers/use_search_strategy'; import { useSearchStrategy } from '../../../../common/containers/use_search_strategy';
@ -17,10 +17,10 @@ import { useGlobalTime } from '../../../../common/containers/use_global_time';
import { useQueryInspector } from '../../../../common/components/page/manage_query'; import { useQueryInspector } from '../../../../common/components/page/manage_query';
import { import {
ENTRA_ID_PACKAGE_NAME, ENTRA_ID_PACKAGE_NAME,
OKTA_PACKAGE_NAME,
getEntraUserIndex, getEntraUserIndex,
getOktaUserIndex, getOktaUserIndex,
MANAGED_USER_QUERY_ID, MANAGED_USER_QUERY_ID,
OKTA_PACKAGE_NAME,
} from '../constants'; } from '../constants';
import * as i18n from '../translations'; import * as i18n from '../translations';

View file

@ -9,7 +9,7 @@ import React from 'react';
import { EuiHorizontalRule, EuiLoadingSpinner, EuiText } from '@elastic/eui'; import { EuiHorizontalRule, EuiLoadingSpinner, EuiText } from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n-react'; import { FormattedMessage } from '@kbn/i18n-react';
import type { RelatedIntegration } from '../../../../../common/api/detection_engine'; import type { RelatedIntegration } from '../../../../../common/api/detection_engine';
import { IntegrationsPopover } from '../../../../detections/components/rules/related_integrations/integrations_popover'; import { IntegrationsPopover } from '../../../../detection_engine/common/components/related_integrations/integrations_popover';
import type { RuleMigrationRule } from '../../../../../common/siem_migrations/model/rule_migration.gen'; import type { RuleMigrationRule } from '../../../../../common/siem_migrations/model/rule_migration.gen';
import * as i18n from './translations'; import * as i18n from './translations';
import type { TableColumn } from './constants'; import type { TableColumn } from './constants';