From 76942263e2c360fb715b05260cd9f68cdc82b052 Mon Sep 17 00:00:00 2001 From: Dzmitry Lemechko Date: Wed, 27 May 2026 10:53:51 +0200 Subject: [PATCH 1/9] migrate som / ml / monitoring ui tests to scout --- .../ftr_platform_stateful_configs.yml | 2 - .buildkite/scout_ci_config.yml | 1 + .github/CODEOWNERS | 4 - .../packages/shared/kbn-scout/index.ts | 2 + .../copy_saved_objects_to_space_flyout.ts | 125 ++++++ .../src/playwright/page_objects/index.ts | 15 + .../saved_objects_management_page.ts | 140 +++++++ .../test/scout/api/fixtures/constants.ts | 53 +++ .../test/scout/api/fixtures/custom_roles.ts | 50 +++ .../test/scout/api/fixtures/index.ts | 1 + .../scout/api/tests/feature_controls.spec.ts | 149 +++++++ .../test/scout/api/tests/imports.spec.ts | 135 +++++++ .../exports/_7.13_import_saved_objects.ndjson | 0 .../_7.14_import_alerts_actions.ndjson | 0 .../exports/_8.0.0_multispace_import.ndjson | 0 .../test/scout/ui/fixtures}/index.ts | 11 +- .../test/scout/ui/playwright.config.ts} | 13 +- .../scout/ui/tests/feature_controls.spec.ts | 106 +++++ .../test/scout/ui/tests/imports.spec.ts | 116 ++++++ .../test/scout/ui/tests/inspect.spec.ts | 49 +++ .../scout/ui/tests/spaces_integration.spec.ts | 62 +++ .../inspect_saved_objects.ts | 89 ----- .../show_relationships.ts | 55 --- .../edit_saved_object.json | 74 ---- .../show_relationships.json | 34 -- .../test/scout/ui/fixtures/custom_roles.ts | 22 ++ .../test/scout/ui/fixtures/index.ts | 9 + .../test/scout/ui/playwright.config.ts | 12 + .../scout/ui/tests/feature_controls.spec.ts | 93 +++++ .../plugins/private/monitoring/tsconfig.json | 6 +- .../test/scout/api/fixtures/custom_roles.ts | 42 ++ .../ml/test/scout/api/fixtures/index.ts | 3 + .../scout/api/tests/feature_controls.spec.ts | 117 ++++++ .../shared/ml/test/scout/ui/fixtures/index.ts | 9 + .../ml/test/scout/ui/playwright.config.ts | 12 + .../scout/ui/tests/feature_controls.spec.ts | 64 +++ .../ml/short_tests/feature_controls/index.ts | 16 - .../feature_controls/ml_security.ts | 178 --------- .../short_tests/feature_controls/ml_spaces.ts | 80 ---- .../functional/apps/ml/short_tests/index.ts | 1 - .../apps/monitoring/feature_controls/index.ts | 16 - .../feature_controls/monitoring_security.ts | 136 ------- .../feature_controls/monitoring_spaces.ts | 92 ----- .../apps/monitoring/index.group1.js | 2 - .../apps/saved_objects_management/config.ts | 17 - .../saved_objects_management_security.ts | 370 ------------------ .../import_saved_objects_between_versions.ts | 106 ----- .../apps/saved_objects_management/index.ts | 19 - .../multi_space_import.ts | 118 ------ .../spaces_integration.ts | 78 ---- 50 files changed, 1398 insertions(+), 1506 deletions(-) create mode 100644 src/platform/packages/shared/kbn-scout/src/playwright/page_objects/copy_saved_objects_to_space_flyout.ts create mode 100644 src/platform/packages/shared/kbn-scout/src/playwright/page_objects/saved_objects_management_page.ts create mode 100644 src/platform/plugins/shared/saved_objects_management/test/scout/api/fixtures/custom_roles.ts create mode 100644 src/platform/plugins/shared/saved_objects_management/test/scout/api/tests/feature_controls.spec.ts create mode 100644 src/platform/plugins/shared/saved_objects_management/test/scout/api/tests/imports.spec.ts rename {x-pack/platform/test/functional/apps/saved_objects_management => src/platform/plugins/shared/saved_objects_management/test/scout/fixtures}/exports/_7.13_import_saved_objects.ndjson (100%) rename {x-pack/platform/test/functional/apps/saved_objects_management => src/platform/plugins/shared/saved_objects_management/test/scout/fixtures}/exports/_7.14_import_alerts_actions.ndjson (100%) rename {x-pack/platform/test/functional/apps/saved_objects_management => src/platform/plugins/shared/saved_objects_management/test/scout/fixtures}/exports/_8.0.0_multispace_import.ndjson (100%) rename src/platform/{test/functional/apps/saved_objects_management => plugins/shared/saved_objects_management/test/scout/ui/fixtures}/index.ts (55%) rename src/platform/{test/functional/apps/saved_objects_management/config.ts => plugins/shared/saved_objects_management/test/scout/ui/playwright.config.ts} (59%) create mode 100644 src/platform/plugins/shared/saved_objects_management/test/scout/ui/tests/feature_controls.spec.ts create mode 100644 src/platform/plugins/shared/saved_objects_management/test/scout/ui/tests/imports.spec.ts create mode 100644 src/platform/plugins/shared/saved_objects_management/test/scout/ui/tests/inspect.spec.ts create mode 100644 src/platform/plugins/shared/saved_objects_management/test/scout/ui/tests/spaces_integration.spec.ts delete mode 100644 src/platform/test/functional/apps/saved_objects_management/inspect_saved_objects.ts delete mode 100644 src/platform/test/functional/apps/saved_objects_management/show_relationships.ts delete mode 100644 src/platform/test/functional/fixtures/kbn_archiver/saved_objects_management/edit_saved_object.json delete mode 100644 src/platform/test/functional/fixtures/kbn_archiver/saved_objects_management/show_relationships.json create mode 100644 x-pack/platform/plugins/private/monitoring/test/scout/ui/fixtures/custom_roles.ts create mode 100644 x-pack/platform/plugins/private/monitoring/test/scout/ui/fixtures/index.ts create mode 100644 x-pack/platform/plugins/private/monitoring/test/scout/ui/playwright.config.ts create mode 100644 x-pack/platform/plugins/private/monitoring/test/scout/ui/tests/feature_controls.spec.ts create mode 100644 x-pack/platform/plugins/shared/ml/test/scout/api/fixtures/custom_roles.ts create mode 100644 x-pack/platform/plugins/shared/ml/test/scout/api/tests/feature_controls.spec.ts create mode 100644 x-pack/platform/plugins/shared/ml/test/scout/ui/fixtures/index.ts create mode 100644 x-pack/platform/plugins/shared/ml/test/scout/ui/playwright.config.ts create mode 100644 x-pack/platform/plugins/shared/ml/test/scout/ui/tests/feature_controls.spec.ts delete mode 100644 x-pack/platform/test/functional/apps/ml/short_tests/feature_controls/index.ts delete mode 100644 x-pack/platform/test/functional/apps/ml/short_tests/feature_controls/ml_security.ts delete mode 100644 x-pack/platform/test/functional/apps/ml/short_tests/feature_controls/ml_spaces.ts delete mode 100644 x-pack/platform/test/functional/apps/monitoring/feature_controls/index.ts delete mode 100644 x-pack/platform/test/functional/apps/monitoring/feature_controls/monitoring_security.ts delete mode 100644 x-pack/platform/test/functional/apps/monitoring/feature_controls/monitoring_spaces.ts delete mode 100644 x-pack/platform/test/functional/apps/saved_objects_management/config.ts delete mode 100644 x-pack/platform/test/functional/apps/saved_objects_management/feature_controls/saved_objects_management_security.ts delete mode 100644 x-pack/platform/test/functional/apps/saved_objects_management/import_saved_objects_between_versions.ts delete mode 100644 x-pack/platform/test/functional/apps/saved_objects_management/index.ts delete mode 100644 x-pack/platform/test/functional/apps/saved_objects_management/multi_space_import.ts delete mode 100644 x-pack/platform/test/functional/apps/saved_objects_management/spaces_integration.ts diff --git a/.buildkite/ftr-manifests/ftr_platform_stateful_configs.yml b/.buildkite/ftr-manifests/ftr_platform_stateful_configs.yml index 923e0b0384744..795171032611b 100644 --- a/.buildkite/ftr-manifests/ftr_platform_stateful_configs.yml +++ b/.buildkite/ftr-manifests/ftr_platform_stateful_configs.yml @@ -123,7 +123,6 @@ enabled: - src/platform/test/functional/apps/management/group2/config.ts - src/platform/test/functional/apps/management/group3/config.ts - src/platform/test/functional/apps/management/group4/config.ts - - src/platform/test/functional/apps/saved_objects_management/config.ts - src/platform/test/functional/apps/status_page/config.ts - src/platform/test/functional/apps/visualize/group1/config.ts - src/platform/test/functional/apps/visualize/group2/config.ts @@ -319,7 +318,6 @@ enabled: - x-pack/platform/test/functional/apps/remote_clusters/config.ts - x-pack/platform/test/functional/apps/reporting_management/config.ts - x-pack/platform/test/functional/apps/rollup_job/config.ts - - x-pack/platform/test/functional/apps/saved_objects_management/config.ts - x-pack/platform/test/functional/apps/security/config.ts - x-pack/platform/test/functional/apps/snapshot_restore/config.ts - x-pack/platform/test/functional/apps/spaces/config.ts diff --git a/.buildkite/scout_ci_config.yml b/.buildkite/scout_ci_config.yml index d16744761a410..7890fae9efe62 100644 --- a/.buildkite/scout_ci_config.yml +++ b/.buildkite/scout_ci_config.yml @@ -40,6 +40,7 @@ plugins: - logstash - maps - ml + - monitoring - navigation - observability - observability_onboarding diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index dce45fea50fa3..5117b76b1e49f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2247,9 +2247,7 @@ x-pack/platform/plugins/shared/ml/server/models/data_recognizer/modules/security # Core /src/platform/test/api_integration/fixtures/kbn_archiver/management/saved_objects/relationships.json @elastic/kibana-core @elastic/kibana-data-discovery /src/platform/test/functional/fixtures/kbn_archiver/saved_search.json @elastic/kibana-core # Assigned per only use: https://github.com/elastic/kibana/blob/main/test/interpreter_functional/test_suites/run_pipeline/esaggs.ts#L100 -/src/platform/test/functional/fixtures/kbn_archiver/saved_objects_management/show_relationships.json @elastic/kibana-core # Assigned per only use: https://github.com/elastic/kibana/blob/main/test/functional/apps/saved_objects_management/show_relationships.ts#L20 /src/platform/test/functional/fixtures/kbn_archiver/saved_objects_management/hidden_from_http_apis.json @elastic/kibana-core -/src/platform/test/functional/fixtures/kbn_archiver/saved_objects_management/edit_saved_object.json @elastic/kibana-core # Assigned per only use: https://github.com/elastic/kibana/blob/main/test/functional/apps/saved_objects_management/inspect_saved_objects.ts#L40 /src/platform/test/functional/fixtures/es_archiver/saved_objects_management @elastic/kibana-core /src/platform/test/api_integration/fixtures/es_archiver/saved_objects @elastic/kibana-core /src/platform/test/api_integration/fixtures/kbn_archiver/saved_objects @elastic/kibana-core @@ -2320,7 +2318,6 @@ x-pack/platform/test/plugin_api_integration/test_suites/platform/ @elastic/kiban /src/platform/test/api_integration/apis/stats @elastic/kibana-core # Assigned per: https://github.com/elastic/kibana/pull/20577 /src/platform/test/api_integration/apis/saved_objects* @elastic/kibana-core /src/platform/test/api_integration/apis/core/*.ts @elastic/kibana-core -/x-pack/platform/test/functional/apps/saved_objects_management @elastic/kibana-core /x-pack/platform/test/usage_collection @elastic/kibana-core /x-pack/platform/test/licensing_plugin @elastic/kibana-core /x-pack/platform/test/functional_execution_context @elastic/kibana-core @@ -2665,7 +2662,6 @@ x-pack/platform/test/functional/page_objects/search_profiler_page.ts @elastic/se /src/platform/test/functional/page_objects/embedded_console.ts @elastic/kibana-management /src/platform/test/functional/page_objects/console_page.ts @elastic/kibana-management /src/platform/test/functional/firefox/console.config.ts @elastic/kibana-management -/src/platform/test/functional/apps/saved_objects_management @elastic/kibana-management /src/platform/test/functional/apps/console/*.ts @elastic/kibana-management /src/platform/test/api_integration/apis/console/*.ts @elastic/kibana-management /src/platform/test/accessibility/apps/management.ts @elastic/kibana-management diff --git a/src/platform/packages/shared/kbn-scout/index.ts b/src/platform/packages/shared/kbn-scout/index.ts index 6b777fe48bb31..fc12f9197639c 100644 --- a/src/platform/packages/shared/kbn-scout/index.ts +++ b/src/platform/packages/shared/kbn-scout/index.ts @@ -46,10 +46,12 @@ export * from './src/playwright/ui_components'; // Page-object wrappers and helpers for shared Kibana surfaces. export { ContentListWrapper, + CopySavedObjectsToSpaceFlyout, buildContentListSearch, buildContentListUrlRegex, DataViewsManagementPage, ListingTable, + SavedObjectsManagementPage, } from './src/playwright/page_objects'; export type { ContentListUrlState } from './src/playwright/page_objects'; diff --git a/src/platform/packages/shared/kbn-scout/src/playwright/page_objects/copy_saved_objects_to_space_flyout.ts b/src/platform/packages/shared/kbn-scout/src/playwright/page_objects/copy_saved_objects_to_space_flyout.ts new file mode 100644 index 0000000000000..ae0d7bce4518b --- /dev/null +++ b/src/platform/packages/shared/kbn-scout/src/playwright/page_objects/copy_saved_objects_to_space_flyout.ts @@ -0,0 +1,125 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the "Elastic License + * 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side + * Public License v 1"; you may not use this file except in compliance with, at + * your election, the "Elastic License 2.0", the "GNU Affero General Public + * License v3.0 only", or the "Server Side Public License, v 1". + */ + +import type { Locator } from 'playwright/test'; +import type { ScoutPage } from '..'; + +export interface CopyToSpaceSetupOptions { + destinationSpaceId: string; + createNewCopies?: boolean; + overwrite?: boolean; +} + +export interface CopyToSpaceSummary { + success: number; + pending: number; + skipped: number; + errors: number; +} + +// EuiStat renders as "