From 615e3f554d13d9122142bc521b54285d48b9149a Mon Sep 17 00:00:00 2001 From: Jon Date: Thu, 4 Jan 2024 11:19:38 -0600 Subject: [PATCH 1/8] [build] Upload CDN assets (#173159) This uploads CDN assets to a GCS bucket on commit and after all tests have passed. This will run on pull requests with `ci:project-deploy-*` and `ci:build-serverless-image` labels, and on `main`. Assets will include the first 12 digits of the commit sha as a base path. --- .buildkite/scripts/lifecycle/pre_command.sh | 6 ++++++ .../scripts/steps/artifacts/docker_image.sh | 16 ++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.buildkite/scripts/lifecycle/pre_command.sh b/.buildkite/scripts/lifecycle/pre_command.sh index 9b19e5e82da84..c14325efaa2a5 100755 --- a/.buildkite/scripts/lifecycle/pre_command.sh +++ b/.buildkite/scripts/lifecycle/pre_command.sh @@ -142,6 +142,12 @@ export SYNTHETICS_REMOTE_KIBANA_URL DEPLOY_TAGGER_SLACK_WEBHOOK_URL=${DEPLOY_TAGGER_SLACK_WEBHOOK_URL:-"$(vault_get kibana-serverless-release-tools DEPLOY_TAGGER_SLACK_WEBHOOK_URL)"} export DEPLOY_TAGGER_SLACK_WEBHOOK_URL +GCS_SA_CDN_QA_KEY="$(vault_get gcs-sa-cdn-qa key)" +export GCS_SA_CDN_QA_KEY + +GCS_SA_CDN_QA_BUCKET="$(vault_get gcs-sa-cdn-qa bucket)" +export GCS_SA_CDN_QA_BUCKET + # Setup Failed Test Reporter Elasticsearch credentials { TEST_FAILURES_ES_CLOUD_ID=$(vault_get failed_tests_reporter_es cloud_id) diff --git a/.buildkite/scripts/steps/artifacts/docker_image.sh b/.buildkite/scripts/steps/artifacts/docker_image.sh index 0518e17f6524e..864bc26805fbb 100755 --- a/.buildkite/scripts/steps/artifacts/docker_image.sh +++ b/.buildkite/scripts/steps/artifacts/docker_image.sh @@ -26,7 +26,7 @@ if docker manifest inspect $KIBANA_IMAGE &> /dev/null; then exit 1 fi -echo "--- Build images" +echo "--- Build Kibana" node scripts/build \ --debug \ --release \ @@ -37,8 +37,7 @@ node scripts/build \ --skip-docker-ubuntu \ --skip-docker-ubi \ --skip-docker-cloud \ - --skip-docker-contexts \ - --skip-cdn-assets + --skip-docker-contexts echo "--- Tag images" docker rmi "$KIBANA_IMAGE" @@ -88,12 +87,21 @@ fi echo "--- Build dependencies report" node scripts/licenses_csv_report "--csv=target/dependencies-$GIT_ABBREV_COMMIT.csv" -echo "--- Upload artifacts" +echo "--- Upload CDN assets" cd target +gcloud auth activate-service-account --key-file <(echo "$GCS_SA_CDN_QA_KEY") + +CDN_ASSETS_FOLDER=$(mktemp -d) +tar -xf "kibana-$BASE_VERSION-cdn-assets.tar.gz" -C "$CDN_ASSETS_FOLDER" --strip=1 + +gsutil -m cp -r "$CDN_ASSETS_FOLDER/*" "gs://$GCS_SA_CDN_QA_BUCKET/$GIT_ABBREV_COMMIT" + +echo "--- Upload archives" buildkite-agent artifact upload "kibana-$BASE_VERSION-linux-x86_64.tar.gz" buildkite-agent artifact upload "kibana-$BASE_VERSION-linux-aarch64.tar.gz" buildkite-agent artifact upload "kibana-$BASE_VERSION-docker-image.tar.gz" buildkite-agent artifact upload "kibana-$BASE_VERSION-docker-image-aarch64.tar.gz" +buildkite-agent artifact upload "kibana-$BASE_VERSION-cdn-assets.tar.gz" buildkite-agent artifact upload "dependencies-$GIT_ABBREV_COMMIT.csv" cd - From 7034f823d8446933b30f3d8236ce2ed75e441d8d Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Thu, 4 Jan 2024 19:22:45 +0200 Subject: [PATCH 2/8] [Lens] Fixes palette container to be full width (#174275) ## Summary Closes https://github.com/elastic/kibana/issues/174270 Fullwidth color mapping row image --- .../lens/public/visualizations/partition/dimension_editor.tsx | 1 + .../public/visualizations/tagcloud/tags_dimension_editor.tsx | 1 + .../visualizations/xy/xy_config_panel/dimension_editor.tsx | 1 + 3 files changed, 3 insertions(+) diff --git a/x-pack/plugins/lens/public/visualizations/partition/dimension_editor.tsx b/x-pack/plugins/lens/public/visualizations/partition/dimension_editor.tsx index e88d354acf68b..7cf4c6bfff66b 100644 --- a/x-pack/plugins/lens/public/visualizations/partition/dimension_editor.tsx +++ b/x-pack/plugins/lens/public/visualizations/partition/dimension_editor.tsx @@ -140,6 +140,7 @@ export function DimensionEditor(props: DimensionEditorProps) { defaultMessage: 'Color mapping', })} style={{ alignItems: 'center' }} + fullWidth > Date: Thu, 4 Jan 2024 18:24:09 +0100 Subject: [PATCH 3/8] [Defend Workflows][FTR] Reenable trusted apps list FTR (#174186) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Closes #171481 This PR enables Trusted Apps List FTR - they were flaky in Serverless environment in November, but now passed 250 times perfectly. - 50x https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4741 50/50 ✅ - 200x https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4746 200/200 ✅ --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../apps/integrations/trusted_apps_list.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/x-pack/test/security_solution_endpoint/apps/integrations/trusted_apps_list.ts b/x-pack/test/security_solution_endpoint/apps/integrations/trusted_apps_list.ts index 1d48a415b1577..e00dde08d58fb 100644 --- a/x-pack/test/security_solution_endpoint/apps/integrations/trusted_apps_list.ts +++ b/x-pack/test/security_solution_endpoint/apps/integrations/trusted_apps_list.ts @@ -16,8 +16,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const browser = getService('browser'); const endpointTestResources = getService('endpointTestResources'); - // FLAKY: https://github.com/elastic/kibana/issues/171481 - describe.skip('When on the Trusted Apps list', function () { + describe('When on the Trusted Apps list', function () { targetTags(this, ['@ess', '@serverless']); let indexedData: IndexedHostsAndAlertsResponse; @@ -34,8 +33,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { await testSubjects.missingOrFail('header-page-title'); }); - // FLAKY: https://github.com/elastic/kibana/issues/171481 - it.skip('should be able to add a new trusted app and remove it', async () => { + it('should be able to add a new trusted app and remove it', async () => { const SHA256 = 'A4370C0CF81686C0B696FA6261c9d3e0d810ae704ab8301839dffd5d5112f476'; // Add it From 0515829a9e50740357c0226fd1cb5081a273ccd3 Mon Sep 17 00:00:00 2001 From: Tre Date: Thu, 4 Jan 2024 17:58:17 +0000 Subject: [PATCH 4/8] [FTR] Move find service to shared location (#173874) ## Summary Refactoring general ui service to a kbn package. Resolves an [Appex QA](https://github.com/elastic/appex-qa-team) issue. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .eslintrc.js | 2 +- .../index.ts | 12 ++++++++++++ .../services/all.ts | 4 ++++ .../services}/find.ts | 10 ++++++---- .../services/ftr_provider_context.ts | 7 ++++++- .../config.js | 0 .../several_nested_window_size_changes/test.js | 0 .../several_nested_window_size_changes/test2.js | 0 .../test3.1.js | 0 .../several_nested_window_size_changes/test3.js | 0 .../__tests__/remote_default_window_size.js | 7 +++++-- .../services/remote/browsers.ts | 0 .../services/remote/create_stdout_stream.ts | 0 .../services/remote/index.ts | 2 ++ .../services/remote/network_profiles.ts | 0 .../services/remote/poll_for_log_entry.ts | 0 .../remote/prevent_parallel_calls.test.js | 0 .../services/remote/prevent_parallel_calls.ts | 0 .../services/remote/remote.ts | 2 +- .../services/remote/webdriver.ts | 0 .../web_element_wrapper/custom_cheerio_api.ts | 0 .../services}/web_element_wrapper/index.ts | 0 .../scroll_into_view_if_necessary.js | 2 +- .../web_element_wrapper/web_element_wrapper.ts | 2 +- .../tsconfig.json | 17 +++++++---------- .../types.ts | 0 test/examples/search/warnings.ts | 2 +- .../discover/group1/_discover_accessibility.ts | 2 +- .../apps/kibana_overview/_analytics.ts | 2 +- .../management/data_views/_field_formatter.ts | 2 +- test/functional/page_objects/console_page.ts | 2 +- .../page_objects/dashboard_page_controls.ts | 2 +- test/functional/page_objects/discover_page.ts | 2 +- .../page_objects/legacy/data_table_vis.ts | 2 +- test/functional/page_objects/tag_cloud_page.ts | 2 +- test/functional/page_objects/time_picker.ts | 2 +- test/functional/page_objects/timelion_page.ts | 2 +- .../page_objects/visual_builder_page.ts | 2 +- test/functional/services/combo_box.ts | 2 +- test/functional/services/common/browser.ts | 8 ++++---- test/functional/services/common/index.ts | 1 - test/functional/services/common/screenshots.ts | 2 +- .../functional/services/common/test_subjects.ts | 3 +-- .../services/dashboard/expectations.ts | 2 +- .../services/dashboard/panel_actions.ts | 2 +- .../dashboard/panel_drilldown_actions.ts | 2 +- .../services/dashboard/panel_settings.ts | 2 +- test/functional/services/data_grid.ts | 2 +- test/functional/services/doc_table.ts | 2 +- test/functional/services/index.ts | 4 ---- .../functional/services/saved_objects_finder.ts | 2 +- .../services/visualizations/elastic_chart.ts | 2 +- .../apps/group1/dashboard_panel_options.ts | 2 +- .../functional/apps/discover/visualize_field.ts | 2 +- x-pack/test/functional/apps/infra/hosts_view.ts | 2 +- .../dataset_selector.ts | 2 +- .../test/functional/page_objects/graph_page.ts | 2 +- .../functional/page_objects/infra_hosts_view.ts | 2 +- .../page_objects/infra_metrics_explorer.ts | 2 +- .../page_objects/ingest_pipelines_page.ts | 2 +- .../test/functional/page_objects/lens_page.ts | 2 +- .../page_objects/navigational_search.ts | 2 +- .../page_objects/observability_log_explorer.ts | 2 +- .../page_objects/tag_management_page.ts | 2 +- x-pack/test/functional/services/cases/list.ts | 2 +- .../services/infra_source_configuration_form.ts | 2 +- .../services/logs_ui/log_entry_categories.ts | 2 +- .../services/logs_ui/log_entry_rate.ts | 2 +- .../functional/services/logs_ui/log_stream.ts | 2 +- .../services/ml/common_table_service.ts | 2 +- x-pack/test/functional/services/ml/common_ui.ts | 2 +- .../services/ml/data_frame_analytics_results.ts | 2 +- .../services/ml/data_frame_analytics_table.ts | 2 +- .../services/ml/stack_management_jobs.ts | 2 +- x-pack/test/functional/services/ml/swim_lane.ts | 2 +- .../services/ml/trained_models_table.ts | 2 +- .../services/observability/alerts/common.ts | 2 +- .../test/functional/services/search_sessions.ts | 2 +- .../services/transform/transform_table.ts | 2 +- .../page_objects/app_search.ts | 2 +- .../page_objects/triggers_actions_ui_page.ts | 5 +---- .../test_suites/resolver/index.ts | 2 +- .../apps/integrations/endpoint_exceptions.ts | 2 +- .../page_objects/endpoint_page.ts | 2 +- ...ingest_manager_create_package_policy_page.ts | 2 +- .../page_objects/page_utils.ts | 2 +- .../page_objects/detections/index.ts | 2 +- .../page_objects/hosts/index.ts | 2 +- x-pack/test/tsconfig.json | 1 + .../upgrade/services/rules_upgrade_services.ts | 5 +---- .../page_objects/svl_common_navigation.ts | 2 +- .../svl_triggers_actions_ui_page.ts | 5 +---- .../common/discover/x_pack/visualize_field.ts | 2 +- .../common/examples/search/warnings.ts | 2 +- .../index_management/component_templates.ts | 2 +- .../index_management/index_templates.ts | 2 +- .../observability/infra/hosts_page.ts | 2 +- x-pack/test_serverless/tsconfig.json | 1 + 98 files changed, 119 insertions(+), 107 deletions(-) rename {test/functional/services/common => packages/kbn-ftr-common-functional-ui-services/services}/find.ts (98%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/__tests__/fixtures/several_nested_window_size_changes/config.js (100%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/__tests__/fixtures/several_nested_window_size_changes/test.js (100%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/__tests__/fixtures/several_nested_window_size_changes/test2.js (100%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/__tests__/fixtures/several_nested_window_size_changes/test3.1.js (100%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/__tests__/fixtures/several_nested_window_size_changes/test3.js (100%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/__tests__/remote_default_window_size.js (89%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/browsers.ts (100%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/create_stdout_stream.ts (100%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/index.ts (74%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/network_profiles.ts (100%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/poll_for_log_entry.ts (100%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/prevent_parallel_calls.test.js (100%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/prevent_parallel_calls.ts (100%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/remote.ts (98%) rename {test/functional => packages/kbn-ftr-common-functional-ui-services}/services/remote/webdriver.ts (100%) rename {test/functional/services/lib => packages/kbn-ftr-common-functional-ui-services/services}/web_element_wrapper/custom_cheerio_api.ts (100%) rename {test/functional/services/lib => packages/kbn-ftr-common-functional-ui-services/services}/web_element_wrapper/index.ts (100%) rename {test/functional/services/lib => packages/kbn-ftr-common-functional-ui-services/services}/web_element_wrapper/scroll_into_view_if_necessary.js (97%) rename {test/functional/services/lib => packages/kbn-ftr-common-functional-ui-services/services}/web_element_wrapper/web_element_wrapper.ts (99%) rename {test/functional/services/common => packages/kbn-ftr-common-functional-ui-services}/types.ts (100%) diff --git a/.eslintrc.js b/.eslintrc.js index 56fe621c99bb4..96016911e40aa 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -671,7 +671,7 @@ module.exports = { */ { files: [ - 'test/functional/services/lib/web_element_wrapper/scroll_into_view_if_necessary.js', + 'packages/kbn-ftr-common-functional-ui-services/services/web_element_wrapper/scroll_into_view_if_necessary.js', '**/browser_exec_scripts/**/*.js', ], rules: { diff --git a/packages/kbn-ftr-common-functional-ui-services/index.ts b/packages/kbn-ftr-common-functional-ui-services/index.ts index 5fe8ae6fd0164..e975c838a54a4 100644 --- a/packages/kbn-ftr-common-functional-ui-services/index.ts +++ b/packages/kbn-ftr-common-functional-ui-services/index.ts @@ -8,3 +8,15 @@ export { services as commonFunctionalUIServices } from './services/all'; export type { FtrProviderContext } from './services/ftr_provider_context'; +export { WebElementWrapper } from './services/web_element_wrapper'; +export type { + CustomCheerio, + CustomCheerioStatic, +} from './services/web_element_wrapper/custom_cheerio_api'; +export { Browsers } from './services/remote/browsers'; +export { + NETWORK_PROFILES, + type NetworkOptions, + type NetworkProfile, +} from './services/remote/network_profiles'; +export type { TimeoutOpt } from './types'; diff --git a/packages/kbn-ftr-common-functional-ui-services/services/all.ts b/packages/kbn-ftr-common-functional-ui-services/services/all.ts index 8c8a723660117..a27655fc867eb 100644 --- a/packages/kbn-ftr-common-functional-ui-services/services/all.ts +++ b/packages/kbn-ftr-common-functional-ui-services/services/all.ts @@ -7,7 +7,11 @@ */ import { RetryOnStaleProvider } from './retry_on_stale'; +import { RemoteProvider } from './remote'; +import { FindProvider } from './find'; export const services = { retryOnStale: RetryOnStaleProvider, + __webdriver__: RemoteProvider, + find: FindProvider, }; diff --git a/test/functional/services/common/find.ts b/packages/kbn-ftr-common-functional-ui-services/services/find.ts similarity index 98% rename from test/functional/services/common/find.ts rename to packages/kbn-ftr-common-functional-ui-services/services/find.ts index 682c79047a725..2f8ba340c40be 100644 --- a/test/functional/services/common/find.ts +++ b/packages/kbn-ftr-common-functional-ui-services/services/find.ts @@ -8,10 +8,12 @@ import { WebDriver, WebElement, By, until } from 'selenium-webdriver'; -import { Browsers } from '../remote/browsers'; -import { FtrService, FtrProviderContext } from '../../ftr_provider_context'; -import { WebElementWrapper } from '../lib/web_element_wrapper'; -import { TimeoutOpt } from './types'; +import { Browsers } from './remote/browsers'; +import type { FtrProviderContext } from './ftr_provider_context'; +import { WebElementWrapper } from './web_element_wrapper'; +import { TimeoutOpt } from '../types'; + +import { FtrService } from './ftr_provider_context'; export class FindService extends FtrService { private readonly log = this.ctx.getService('log'); diff --git a/packages/kbn-ftr-common-functional-ui-services/services/ftr_provider_context.ts b/packages/kbn-ftr-common-functional-ui-services/services/ftr_provider_context.ts index 979658fbd8edd..bf80085dd4590 100644 --- a/packages/kbn-ftr-common-functional-ui-services/services/ftr_provider_context.ts +++ b/packages/kbn-ftr-common-functional-ui-services/services/ftr_provider_context.ts @@ -7,8 +7,13 @@ */ import { GenericFtrProviderContext, GenericFtrService } from '@kbn/test'; +import { RetryService } from '@kbn/ftr-common-functional-services'; +import { services as commonFunctionalUiServices } from './all'; -import type { services } from './all'; +const services = { + ...commonFunctionalUiServices, + retry: RetryService, +}; type Services = typeof services; diff --git a/test/functional/services/remote/__tests__/fixtures/several_nested_window_size_changes/config.js b/packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/fixtures/several_nested_window_size_changes/config.js similarity index 100% rename from test/functional/services/remote/__tests__/fixtures/several_nested_window_size_changes/config.js rename to packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/fixtures/several_nested_window_size_changes/config.js diff --git a/test/functional/services/remote/__tests__/fixtures/several_nested_window_size_changes/test.js b/packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/fixtures/several_nested_window_size_changes/test.js similarity index 100% rename from test/functional/services/remote/__tests__/fixtures/several_nested_window_size_changes/test.js rename to packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/fixtures/several_nested_window_size_changes/test.js diff --git a/test/functional/services/remote/__tests__/fixtures/several_nested_window_size_changes/test2.js b/packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/fixtures/several_nested_window_size_changes/test2.js similarity index 100% rename from test/functional/services/remote/__tests__/fixtures/several_nested_window_size_changes/test2.js rename to packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/fixtures/several_nested_window_size_changes/test2.js diff --git a/test/functional/services/remote/__tests__/fixtures/several_nested_window_size_changes/test3.1.js b/packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/fixtures/several_nested_window_size_changes/test3.1.js similarity index 100% rename from test/functional/services/remote/__tests__/fixtures/several_nested_window_size_changes/test3.1.js rename to packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/fixtures/several_nested_window_size_changes/test3.1.js diff --git a/test/functional/services/remote/__tests__/fixtures/several_nested_window_size_changes/test3.js b/packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/fixtures/several_nested_window_size_changes/test3.js similarity index 100% rename from test/functional/services/remote/__tests__/fixtures/several_nested_window_size_changes/test3.js rename to packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/fixtures/several_nested_window_size_changes/test3.js diff --git a/test/functional/services/remote/__tests__/remote_default_window_size.js b/packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/remote_default_window_size.js similarity index 89% rename from test/functional/services/remote/__tests__/remote_default_window_size.js rename to packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/remote_default_window_size.js index 48210ea209da6..8d5182c457331 100644 --- a/test/functional/services/remote/__tests__/remote_default_window_size.js +++ b/packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/remote_default_window_size.js @@ -9,9 +9,12 @@ import { fork } from 'child_process'; import expect from '@kbn/expect'; +import { REPO_ROOT } from '@kbn/repo-info'; -const FTR_SCRIPT = require.resolve('../../../../../scripts/functional_test_runner'); -const CONFIG_PATH = require.resolve('./fixtures/several_nested_window_size_changes/config.js'); +const FTR_SCRIPT = require.resolve(`${REPO_ROOT}/scripts/functional_test_runner`); +const CONFIG_PATH = require.resolve( + `${REPO_ROOT}/packages/kbn-ftr-common-functional-ui-services/services/remote/__tests__/fixtures/several_nested_window_size_changes/config.js` +); const SECOND = 1000; const DEFAULT_SIZE = { width: 1600, height: 1000 }; diff --git a/test/functional/services/remote/browsers.ts b/packages/kbn-ftr-common-functional-ui-services/services/remote/browsers.ts similarity index 100% rename from test/functional/services/remote/browsers.ts rename to packages/kbn-ftr-common-functional-ui-services/services/remote/browsers.ts diff --git a/test/functional/services/remote/create_stdout_stream.ts b/packages/kbn-ftr-common-functional-ui-services/services/remote/create_stdout_stream.ts similarity index 100% rename from test/functional/services/remote/create_stdout_stream.ts rename to packages/kbn-ftr-common-functional-ui-services/services/remote/create_stdout_stream.ts diff --git a/test/functional/services/remote/index.ts b/packages/kbn-ftr-common-functional-ui-services/services/remote/index.ts similarity index 74% rename from test/functional/services/remote/index.ts rename to packages/kbn-ftr-common-functional-ui-services/services/remote/index.ts index 452a714c887f1..a85a13948ccc3 100644 --- a/test/functional/services/remote/index.ts +++ b/packages/kbn-ftr-common-functional-ui-services/services/remote/index.ts @@ -7,3 +7,5 @@ */ export { RemoteProvider } from './remote'; +export { Browsers } from './browsers'; +export { NETWORK_PROFILES, type NetworkOptions, type NetworkProfile } from './network_profiles'; diff --git a/test/functional/services/remote/network_profiles.ts b/packages/kbn-ftr-common-functional-ui-services/services/remote/network_profiles.ts similarity index 100% rename from test/functional/services/remote/network_profiles.ts rename to packages/kbn-ftr-common-functional-ui-services/services/remote/network_profiles.ts diff --git a/test/functional/services/remote/poll_for_log_entry.ts b/packages/kbn-ftr-common-functional-ui-services/services/remote/poll_for_log_entry.ts similarity index 100% rename from test/functional/services/remote/poll_for_log_entry.ts rename to packages/kbn-ftr-common-functional-ui-services/services/remote/poll_for_log_entry.ts diff --git a/test/functional/services/remote/prevent_parallel_calls.test.js b/packages/kbn-ftr-common-functional-ui-services/services/remote/prevent_parallel_calls.test.js similarity index 100% rename from test/functional/services/remote/prevent_parallel_calls.test.js rename to packages/kbn-ftr-common-functional-ui-services/services/remote/prevent_parallel_calls.test.js diff --git a/test/functional/services/remote/prevent_parallel_calls.ts b/packages/kbn-ftr-common-functional-ui-services/services/remote/prevent_parallel_calls.ts similarity index 100% rename from test/functional/services/remote/prevent_parallel_calls.ts rename to packages/kbn-ftr-common-functional-ui-services/services/remote/prevent_parallel_calls.ts diff --git a/test/functional/services/remote/remote.ts b/packages/kbn-ftr-common-functional-ui-services/services/remote/remote.ts similarity index 98% rename from test/functional/services/remote/remote.ts rename to packages/kbn-ftr-common-functional-ui-services/services/remote/remote.ts index 6ee7b6e8d9085..6eb10984eeb66 100644 --- a/test/functional/services/remote/remote.ts +++ b/packages/kbn-ftr-common-functional-ui-services/services/remote/remote.ts @@ -7,7 +7,7 @@ */ import { NoSuchSessionError, NoSuchWindowError } from 'selenium-webdriver/lib/error'; -import { FtrProviderContext } from '../../ftr_provider_context'; +import { FtrProviderContext } from '../ftr_provider_context'; import { initWebDriver, BrowserConfig } from './webdriver'; import { Browsers } from './browsers'; diff --git a/test/functional/services/remote/webdriver.ts b/packages/kbn-ftr-common-functional-ui-services/services/remote/webdriver.ts similarity index 100% rename from test/functional/services/remote/webdriver.ts rename to packages/kbn-ftr-common-functional-ui-services/services/remote/webdriver.ts diff --git a/test/functional/services/lib/web_element_wrapper/custom_cheerio_api.ts b/packages/kbn-ftr-common-functional-ui-services/services/web_element_wrapper/custom_cheerio_api.ts similarity index 100% rename from test/functional/services/lib/web_element_wrapper/custom_cheerio_api.ts rename to packages/kbn-ftr-common-functional-ui-services/services/web_element_wrapper/custom_cheerio_api.ts diff --git a/test/functional/services/lib/web_element_wrapper/index.ts b/packages/kbn-ftr-common-functional-ui-services/services/web_element_wrapper/index.ts similarity index 100% rename from test/functional/services/lib/web_element_wrapper/index.ts rename to packages/kbn-ftr-common-functional-ui-services/services/web_element_wrapper/index.ts diff --git a/test/functional/services/lib/web_element_wrapper/scroll_into_view_if_necessary.js b/packages/kbn-ftr-common-functional-ui-services/services/web_element_wrapper/scroll_into_view_if_necessary.js similarity index 97% rename from test/functional/services/lib/web_element_wrapper/scroll_into_view_if_necessary.js rename to packages/kbn-ftr-common-functional-ui-services/services/web_element_wrapper/scroll_into_view_if_necessary.js index 514d1bb1d9d7b..bc3453bffa7a6 100644 --- a/test/functional/services/lib/web_element_wrapper/scroll_into_view_if_necessary.js +++ b/packages/kbn-ftr-common-functional-ui-services/services/web_element_wrapper/scroll_into_view_if_necessary.js @@ -1,4 +1,4 @@ -/* eslint-disable @kbn/eslint/require-license-header */ +/* eslint-disable @kbn/eslint/require-license-header, no-var */ /* @notice * Based on the scroll-into-view-if-necessary module from npm diff --git a/test/functional/services/lib/web_element_wrapper/web_element_wrapper.ts b/packages/kbn-ftr-common-functional-ui-services/services/web_element_wrapper/web_element_wrapper.ts similarity index 99% rename from test/functional/services/lib/web_element_wrapper/web_element_wrapper.ts rename to packages/kbn-ftr-common-functional-ui-services/services/web_element_wrapper/web_element_wrapper.ts index 6a914c7273ba3..568d8dc5cd879 100644 --- a/test/functional/services/lib/web_element_wrapper/web_element_wrapper.ts +++ b/packages/kbn-ftr-common-functional-ui-services/services/web_element_wrapper/web_element_wrapper.ts @@ -15,7 +15,7 @@ import { ToolingLog } from '@kbn/tooling-log'; import { CustomCheerio, CustomCheerioStatic } from './custom_cheerio_api'; // @ts-ignore not supported yet import { scrollIntoViewIfNecessary } from './scroll_into_view_if_necessary'; -import { Browsers } from '../../remote/browsers'; +import { Browsers } from '../remote/browsers'; interface TypeOptions { charByChar: boolean; diff --git a/packages/kbn-ftr-common-functional-ui-services/tsconfig.json b/packages/kbn-ftr-common-functional-ui-services/tsconfig.json index 0c77cc5d6b917..f8ae6aae1b9be 100644 --- a/packages/kbn-ftr-common-functional-ui-services/tsconfig.json +++ b/packages/kbn-ftr-common-functional-ui-services/tsconfig.json @@ -2,18 +2,15 @@ "extends": "../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", - "types": [ - "jest", - "node" - ] + "types": ["jest", "cheerio", "node"] }, - "include": [ - "**/*.ts", - ], - "exclude": [ - "target/**/*" - ], + "include": ["**/*.ts"], + "exclude": ["target/**/*"], "kbn_references": [ "@kbn/test", + "@kbn/tooling-log", + "@kbn/repo-info", + "@kbn/test-subj-selector", + "@kbn/ftr-common-functional-services" ] } diff --git a/test/functional/services/common/types.ts b/packages/kbn-ftr-common-functional-ui-services/types.ts similarity index 100% rename from test/functional/services/common/types.ts rename to packages/kbn-ftr-common-functional-ui-services/types.ts diff --git a/test/examples/search/warnings.ts b/test/examples/search/warnings.ts index 3a923b4a2ae60..80d4224d2ef83 100644 --- a/test/examples/search/warnings.ts +++ b/test/examples/search/warnings.ts @@ -9,8 +9,8 @@ import type { estypes } from '@elastic/elasticsearch'; import expect from '@kbn/expect'; import assert from 'assert'; +import type { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import type { FtrProviderContext } from '../../functional/ftr_provider_context'; -import type { WebElementWrapper } from '../../functional/services/lib/web_element_wrapper'; // eslint-disable-next-line import/no-default-export export default function ({ getService, getPageObjects }: FtrProviderContext) { diff --git a/test/functional/apps/discover/group1/_discover_accessibility.ts b/test/functional/apps/discover/group1/_discover_accessibility.ts index f5721f1e03f76..815d5aebe7bbf 100644 --- a/test/functional/apps/discover/group1/_discover_accessibility.ts +++ b/test/functional/apps/discover/group1/_discover_accessibility.ts @@ -8,7 +8,7 @@ import expect from '@kbn/expect'; -import { WebElementWrapper } from '../../../services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { diff --git a/test/functional/apps/kibana_overview/_analytics.ts b/test/functional/apps/kibana_overview/_analytics.ts index 1c4897d5830ac..8fd51106cd239 100644 --- a/test/functional/apps/kibana_overview/_analytics.ts +++ b/test/functional/apps/kibana_overview/_analytics.ts @@ -7,8 +7,8 @@ */ import expect from '@kbn/expect'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; -import { WebElementWrapper } from '../../services/lib/web_element_wrapper'; export default function ({ getService, getPageObjects }: FtrProviderContext) { const find = getService('find'); diff --git a/test/functional/apps/management/data_views/_field_formatter.ts b/test/functional/apps/management/data_views/_field_formatter.ts index 881ba6197510a..fb016151cce5f 100644 --- a/test/functional/apps/management/data_views/_field_formatter.ts +++ b/test/functional/apps/management/data_views/_field_formatter.ts @@ -8,8 +8,8 @@ import { ES_FIELD_TYPES } from '@kbn/field-types'; import expect from '@kbn/expect'; import { FIELD_FORMAT_IDS } from '@kbn/field-formats-plugin/common'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../../ftr_provider_context'; -import { WebElementWrapper } from '../../../services/lib/web_element_wrapper'; export default function ({ getService, getPageObjects }: FtrProviderContext) { const kibanaServer = getService('kibanaServer'); diff --git a/test/functional/page_objects/console_page.ts b/test/functional/page_objects/console_page.ts index 2fabe4222ee4e..51e671d26301b 100644 --- a/test/functional/page_objects/console_page.ts +++ b/test/functional/page_objects/console_page.ts @@ -8,8 +8,8 @@ import { Key } from 'selenium-webdriver'; import { asyncForEach } from '@kbn/std'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; -import { WebElementWrapper } from '../services/lib/web_element_wrapper'; export class ConsolePageObject extends FtrService { private readonly testSubjects = this.ctx.getService('testSubjects'); diff --git a/test/functional/page_objects/dashboard_page_controls.ts b/test/functional/page_objects/dashboard_page_controls.ts index af6f3f81563d3..f3ca32531995e 100644 --- a/test/functional/page_objects/dashboard_page_controls.ts +++ b/test/functional/page_objects/dashboard_page_controls.ts @@ -17,8 +17,8 @@ import { OptionsListSortingType } from '@kbn/controls-plugin/common/options_list import expect from '@kbn/expect'; import { asyncForEach } from '@kbn/std'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; -import { WebElementWrapper } from '../services/lib/web_element_wrapper'; interface OptionsListAdditionalSettings { searchTechnique?: OptionsListSearchTechnique; diff --git a/test/functional/page_objects/discover_page.ts b/test/functional/page_objects/discover_page.ts index 9f636fcd8ec78..3ec60eae8e407 100644 --- a/test/functional/page_objects/discover_page.ts +++ b/test/functional/page_objects/discover_page.ts @@ -7,8 +7,8 @@ */ import expect from '@kbn/expect'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; -import { WebElementWrapper } from '../services/lib/web_element_wrapper'; export class DiscoverPageObject extends FtrService { private readonly retry = this.ctx.getService('retry'); diff --git a/test/functional/page_objects/legacy/data_table_vis.ts b/test/functional/page_objects/legacy/data_table_vis.ts index 122409f28de90..dbc25df9387dd 100644 --- a/test/functional/page_objects/legacy/data_table_vis.ts +++ b/test/functional/page_objects/legacy/data_table_vis.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../../ftr_provider_context'; -import { WebElementWrapper } from '../../services/lib/web_element_wrapper'; export class LegacyDataTableVisPageObject extends FtrService { private readonly testSubjects = this.ctx.getService('testSubjects'); diff --git a/test/functional/page_objects/tag_cloud_page.ts b/test/functional/page_objects/tag_cloud_page.ts index ecd5aad781285..ba7648b323ca9 100644 --- a/test/functional/page_objects/tag_cloud_page.ts +++ b/test/functional/page_objects/tag_cloud_page.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; -import { WebElementWrapper } from '../services/lib/web_element_wrapper'; export class TagCloudPageObject extends FtrService { private readonly find = this.ctx.getService('find'); diff --git a/test/functional/page_objects/time_picker.ts b/test/functional/page_objects/time_picker.ts index aa8832f28848a..5ea80ce271263 100644 --- a/test/functional/page_objects/time_picker.ts +++ b/test/functional/page_objects/time_picker.ts @@ -7,8 +7,8 @@ */ import moment from 'moment'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; -import { WebElementWrapper } from '../services/lib/web_element_wrapper'; export type CommonlyUsed = | 'Today' diff --git a/test/functional/page_objects/timelion_page.ts b/test/functional/page_objects/timelion_page.ts index ba1db60bc6350..f7fa16aa416ba 100644 --- a/test/functional/page_objects/timelion_page.ts +++ b/test/functional/page_objects/timelion_page.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ +import type { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; -import type { WebElementWrapper } from '../services/lib/web_element_wrapper'; export class TimelionPageObject extends FtrService { private readonly testSubjects = this.ctx.getService('testSubjects'); diff --git a/test/functional/page_objects/visual_builder_page.ts b/test/functional/page_objects/visual_builder_page.ts index e20249f362b03..89f1a2e9389c2 100644 --- a/test/functional/page_objects/visual_builder_page.ts +++ b/test/functional/page_objects/visual_builder_page.ts @@ -7,8 +7,8 @@ */ import type { DebugState } from '@elastic/charts'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; -import { WebElementWrapper } from '../services/lib/web_element_wrapper'; type Duration = | 'Milliseconds' diff --git a/test/functional/services/combo_box.ts b/test/functional/services/combo_box.ts index 4b23dd3bd8b98..69794f3d2a6c8 100644 --- a/test/functional/services/combo_box.ts +++ b/test/functional/services/combo_box.ts @@ -7,8 +7,8 @@ */ import expect from '@kbn/expect'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; -import { WebElementWrapper } from './lib/web_element_wrapper'; /** * wrapper around EuiComboBox interactions diff --git a/test/functional/services/common/browser.ts b/test/functional/services/common/browser.ts index cac8eec71e7f4..8054816bb4ee3 100644 --- a/test/functional/services/common/browser.ts +++ b/test/functional/services/common/browser.ts @@ -15,14 +15,14 @@ import Url from 'url'; import { NoSuchSessionError } from 'selenium-webdriver/lib/error'; import sharp from 'sharp'; -import { FtrService, type FtrProviderContext } from '../../ftr_provider_context'; -import { WebElementWrapper } from '../lib/web_element_wrapper'; -import { Browsers } from '../remote/browsers'; import { + WebElementWrapper, + Browsers, NETWORK_PROFILES, type NetworkOptions, type NetworkProfile, -} from '../remote/network_profiles'; +} from '@kbn/ftr-common-functional-ui-services'; +import { FtrService, type FtrProviderContext } from '../../ftr_provider_context'; export type Browser = BrowserService; diff --git a/test/functional/services/common/index.ts b/test/functional/services/common/index.ts index b7b8c67a4280d..3d1078d92dc5e 100644 --- a/test/functional/services/common/index.ts +++ b/test/functional/services/common/index.ts @@ -9,7 +9,6 @@ export type { Browser } from './browser'; export { BrowserProvider } from './browser'; export { FailureDebuggingProvider } from './failure_debugging'; -export { FindProvider } from './find'; export { PngService } from './png'; export { ScreenshotsService } from './screenshots'; export { SnapshotsService } from './snapshots'; diff --git a/test/functional/services/common/screenshots.ts b/test/functional/services/common/screenshots.ts index 50421e480dd9c..10b2ccb251610 100644 --- a/test/functional/services/common/screenshots.ts +++ b/test/functional/services/common/screenshots.ts @@ -12,9 +12,9 @@ import { promisify } from 'util'; import del from 'del'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { comparePngs } from '../lib/compare_pngs'; import { FtrProviderContext, FtrService } from '../../ftr_provider_context'; -import { WebElementWrapper } from '../lib/web_element_wrapper'; const mkdirAsync = promisify(mkdir); const writeFileAsync = promisify(writeFile); diff --git a/test/functional/services/common/test_subjects.ts b/test/functional/services/common/test_subjects.ts index b451d3139463b..57d2bbbd64244 100644 --- a/test/functional/services/common/test_subjects.ts +++ b/test/functional/services/common/test_subjects.ts @@ -7,9 +7,8 @@ */ import { subj as testSubjSelector } from '@kbn/test-subj-selector'; -import { WebElementWrapper } from '../lib/web_element_wrapper'; +import { WebElementWrapper, type TimeoutOpt } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../../ftr_provider_context'; -import { TimeoutOpt } from './types'; interface ExistsOptions { timeout?: number; diff --git a/test/functional/services/dashboard/expectations.ts b/test/functional/services/dashboard/expectations.ts index a7993286d80f4..476ffb49f13ee 100644 --- a/test/functional/services/dashboard/expectations.ts +++ b/test/functional/services/dashboard/expectations.ts @@ -7,8 +7,8 @@ */ import expect from '@kbn/expect'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../../ftr_provider_context'; -import { WebElementWrapper } from '../lib/web_element_wrapper'; export class DashboardExpectService extends FtrService { private readonly log = this.ctx.getService('log'); diff --git a/test/functional/services/dashboard/panel_actions.ts b/test/functional/services/dashboard/panel_actions.ts index f07b0bd87177f..14c69eb6b8e2a 100644 --- a/test/functional/services/dashboard/panel_actions.ts +++ b/test/functional/services/dashboard/panel_actions.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { WebElementWrapper } from '../lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../../ftr_provider_context'; const REMOVE_PANEL_DATA_TEST_SUBJ = 'embeddablePanelAction-deletePanel'; diff --git a/test/functional/services/dashboard/panel_drilldown_actions.ts b/test/functional/services/dashboard/panel_drilldown_actions.ts index 222e55950c8be..3a240d58c983d 100644 --- a/test/functional/services/dashboard/panel_drilldown_actions.ts +++ b/test/functional/services/dashboard/panel_drilldown_actions.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; -import { WebElementWrapper } from '../lib/web_element_wrapper'; const CREATE_DRILLDOWN_DATA_TEST_SUBJ = 'embeddablePanelAction-OPEN_FLYOUT_ADD_DRILLDOWN'; const MANAGE_DRILLDOWNS_DATA_TEST_SUBJ = 'embeddablePanelAction-OPEN_FLYOUT_EDIT_DRILLDOWN'; diff --git a/test/functional/services/dashboard/panel_settings.ts b/test/functional/services/dashboard/panel_settings.ts index de75a9c4a7a19..36bd01b1fad0d 100644 --- a/test/functional/services/dashboard/panel_settings.ts +++ b/test/functional/services/dashboard/panel_settings.ts @@ -6,9 +6,9 @@ * Side Public License, v 1. */ +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; import { CommonlyUsed } from '../../page_objects/time_picker'; -import { WebElementWrapper } from '../lib/web_element_wrapper'; export function DashboardCustomizePanelProvider({ getService, getPageObject }: FtrProviderContext) { const log = getService('log'); diff --git a/test/functional/services/data_grid.ts b/test/functional/services/data_grid.ts index df5ba570cfc51..88b95fc8a4ab6 100644 --- a/test/functional/services/data_grid.ts +++ b/test/functional/services/data_grid.ts @@ -8,8 +8,8 @@ import { chunk } from 'lodash'; import { Key } from 'selenium-webdriver'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; -import { WebElementWrapper } from './lib/web_element_wrapper'; export interface TabbedGridData { columns: string[]; diff --git a/test/functional/services/doc_table.ts b/test/functional/services/doc_table.ts index 685f1748d56b2..9be10301019c0 100644 --- a/test/functional/services/doc_table.ts +++ b/test/functional/services/doc_table.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; -import { WebElementWrapper } from './lib/web_element_wrapper'; interface SelectOptions { isAnchorRow?: boolean; diff --git a/test/functional/services/index.ts b/test/functional/services/index.ts index dc151f1b243e3..de503f8ccf99a 100644 --- a/test/functional/services/index.ts +++ b/test/functional/services/index.ts @@ -13,7 +13,6 @@ import { AppsMenuService } from './apps_menu'; import { BrowserProvider, FailureDebuggingProvider, - FindProvider, PngService, ScreenshotsService, SnapshotsService, @@ -40,7 +39,6 @@ import { InspectorService } from './inspector'; import { FieldEditorService } from './field_editor'; import { ManagementMenuService } from './management'; import { QueryBarService } from './query_bar'; -import { RemoteProvider } from './remote'; import { RenderableService } from './renderable'; import { ToastsService } from './toasts'; import { DataGridService } from './data_grid'; @@ -61,10 +59,8 @@ import { DashboardSettingsProvider } from './dashboard/dashboard_settings'; export const services = { ...commonServiceProviders, ...commonFunctionalUIServices, - __webdriver__: RemoteProvider, filterBar: FilterBarService, queryBar: QueryBarService, - find: FindProvider, testSubjects: TestSubjects, docTable: DocTableService, png: PngService, diff --git a/test/functional/services/saved_objects_finder.ts b/test/functional/services/saved_objects_finder.ts index 12e06fe8a1710..98af7785852d8 100644 --- a/test/functional/services/saved_objects_finder.ts +++ b/test/functional/services/saved_objects_finder.ts @@ -7,8 +7,8 @@ */ import expect from '@kbn/expect'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; -import { WebElementWrapper } from './lib/web_element_wrapper'; export class SavedObjectsFinderService extends FtrService { private readonly testSubjects = this.ctx.getService('testSubjects'); diff --git a/test/functional/services/visualizations/elastic_chart.ts b/test/functional/services/visualizations/elastic_chart.ts index d87a7a0d3d061..da872eb21670c 100644 --- a/test/functional/services/visualizations/elastic_chart.ts +++ b/test/functional/services/visualizations/elastic_chart.ts @@ -9,8 +9,8 @@ import { DebugState } from '@elastic/charts'; import expect from '@kbn/expect'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../../ftr_provider_context'; -import { WebElementWrapper } from '../lib/web_element_wrapper'; declare global { interface Window { diff --git a/x-pack/test/accessibility/apps/group1/dashboard_panel_options.ts b/x-pack/test/accessibility/apps/group1/dashboard_panel_options.ts index 5f12f3600c29a..a5182a8d2ca03 100644 --- a/x-pack/test/accessibility/apps/group1/dashboard_panel_options.ts +++ b/x-pack/test/accessibility/apps/group1/dashboard_panel_options.ts @@ -5,8 +5,8 @@ * 2.0. */ +import type { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; -import type { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; export default function ({ getService, getPageObjects }: FtrProviderContext) { const a11y = getService('a11y'); diff --git a/x-pack/test/functional/apps/discover/visualize_field.ts b/x-pack/test/functional/apps/discover/visualize_field.ts index 428ef13c34866..bbd5e94dc4c75 100644 --- a/x-pack/test/functional/apps/discover/visualize_field.ts +++ b/x-pack/test/functional/apps/discover/visualize_field.ts @@ -7,7 +7,7 @@ import expect from '@kbn/expect'; import { DebugState } from '@elastic/charts'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getPageObjects, getService }: FtrProviderContext) { diff --git a/x-pack/test/functional/apps/infra/hosts_view.ts b/x-pack/test/functional/apps/infra/hosts_view.ts index f9932421690e0..13657713faac7 100644 --- a/x-pack/test/functional/apps/infra/hosts_view.ts +++ b/x-pack/test/functional/apps/infra/hosts_view.ts @@ -10,7 +10,7 @@ import expect from '@kbn/expect'; import { parse } from 'url'; import { enableInfrastructureHostsView } from '@kbn/observability-plugin/common'; import { ALERT_STATUS_ACTIVE, ALERT_STATUS_RECOVERED } from '@kbn/rule-data-utils'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; import { DATES, diff --git a/x-pack/test/functional/apps/observability_log_explorer/dataset_selector.ts b/x-pack/test/functional/apps/observability_log_explorer/dataset_selector.ts index d656301a13891..98cfc79c561ad 100644 --- a/x-pack/test/functional/apps/observability_log_explorer/dataset_selector.ts +++ b/x-pack/test/functional/apps/observability_log_explorer/dataset_selector.ts @@ -5,8 +5,8 @@ * 2.0. */ import expect from '@kbn/expect'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from './config'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; const initialPackageMap = { apache: 'Apache HTTP Server', diff --git a/x-pack/test/functional/page_objects/graph_page.ts b/x-pack/test/functional/page_objects/graph_page.ts index 503e8666e0bef..810048a7f144f 100644 --- a/x-pack/test/functional/page_objects/graph_page.ts +++ b/x-pack/test/functional/page_objects/graph_page.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; interface Node { diff --git a/x-pack/test/functional/page_objects/infra_hosts_view.ts b/x-pack/test/functional/page_objects/infra_hosts_view.ts index 3fbb3d361d879..0c3004acc4fe8 100644 --- a/x-pack/test/functional/page_objects/infra_hosts_view.ts +++ b/x-pack/test/functional/page_objects/infra_hosts_view.ts @@ -6,7 +6,7 @@ */ import { AlertStatus } from '@kbn/rule-data-utils'; -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; export function InfraHostsViewProvider({ getService }: FtrProviderContext) { diff --git a/x-pack/test/functional/page_objects/infra_metrics_explorer.ts b/x-pack/test/functional/page_objects/infra_metrics_explorer.ts index e8d9f878b43c5..4e691a164cdb7 100644 --- a/x-pack/test/functional/page_objects/infra_metrics_explorer.ts +++ b/x-pack/test/functional/page_objects/infra_metrics_explorer.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; export function InfraMetricsExplorerProvider({ getService }: FtrProviderContext) { diff --git a/x-pack/test/functional/page_objects/ingest_pipelines_page.ts b/x-pack/test/functional/page_objects/ingest_pipelines_page.ts index 3e0bc23869bb7..c4800b55aa77c 100644 --- a/x-pack/test/functional/page_objects/ingest_pipelines_page.ts +++ b/x-pack/test/functional/page_objects/ingest_pipelines_page.ts @@ -6,7 +6,7 @@ */ import path from 'path'; -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; export function IngestPipelinesPageProvider({ getService, getPageObjects }: FtrProviderContext) { diff --git a/x-pack/test/functional/page_objects/lens_page.ts b/x-pack/test/functional/page_objects/lens_page.ts index ee9ad1596fbe0..2d3766c137667 100644 --- a/x-pack/test/functional/page_objects/lens_page.ts +++ b/x-pack/test/functional/page_objects/lens_page.ts @@ -9,7 +9,7 @@ import expect from '@kbn/expect'; import { setTimeout as setTimeoutAsync } from 'timers/promises'; import type { FittingFunction, XYCurveType } from '@kbn/lens-plugin/public'; import { DebugState } from '@elastic/charts'; -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; import { logWrapper } from './log_wrapper'; diff --git a/x-pack/test/functional/page_objects/navigational_search.ts b/x-pack/test/functional/page_objects/navigational_search.ts index ae27d6d68a4a5..54c1582f322cc 100644 --- a/x-pack/test/functional/page_objects/navigational_search.ts +++ b/x-pack/test/functional/page_objects/navigational_search.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; interface SearchResult { diff --git a/x-pack/test/functional/page_objects/observability_log_explorer.ts b/x-pack/test/functional/page_objects/observability_log_explorer.ts index a61682e62a8cb..07cdf818a7ae0 100644 --- a/x-pack/test/functional/page_objects/observability_log_explorer.ts +++ b/x-pack/test/functional/page_objects/observability_log_explorer.ts @@ -11,7 +11,7 @@ import { } from '@kbn/observability-log-explorer-plugin/common'; import rison from '@kbn/rison'; import querystring from 'querystring'; -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; export interface IntegrationPackage { diff --git a/x-pack/test/functional/page_objects/tag_management_page.ts b/x-pack/test/functional/page_objects/tag_management_page.ts index 5eb93aa977cf5..30c6689d87b8f 100644 --- a/x-pack/test/functional/page_objects/tag_management_page.ts +++ b/x-pack/test/functional/page_objects/tag_management_page.ts @@ -7,7 +7,7 @@ /* eslint-disable max-classes-per-file */ -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService, FtrProviderContext } from '../ftr_provider_context'; interface FillTagFormFields { diff --git a/x-pack/test/functional/services/cases/list.ts b/x-pack/test/functional/services/cases/list.ts index 61d588dc261ed..03d1078ccec2c 100644 --- a/x-pack/test/functional/services/cases/list.ts +++ b/x-pack/test/functional/services/cases/list.ts @@ -6,7 +6,7 @@ */ import { CaseSeverity, CaseStatuses } from '@kbn/cases-plugin/common/types/domain'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; import { CasesCommon } from './common'; diff --git a/x-pack/test/functional/services/infra_source_configuration_form.ts b/x-pack/test/functional/services/infra_source_configuration_form.ts index 741d42ac16fda..805dfcbbc9dcb 100644 --- a/x-pack/test/functional/services/infra_source_configuration_form.ts +++ b/x-pack/test/functional/services/infra_source_configuration_form.ts @@ -5,8 +5,8 @@ * 2.0. */ +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; export function InfraSourceConfigurationFormProvider({ getService, diff --git a/x-pack/test/functional/services/logs_ui/log_entry_categories.ts b/x-pack/test/functional/services/logs_ui/log_entry_categories.ts index 0aec1cbea2210..77098bd918ea6 100644 --- a/x-pack/test/functional/services/logs_ui/log_entry_categories.ts +++ b/x-pack/test/functional/services/logs_ui/log_entry_categories.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; export function LogEntryCategoriesPageProvider({ getPageObjects, getService }: FtrProviderContext) { diff --git a/x-pack/test/functional/services/logs_ui/log_entry_rate.ts b/x-pack/test/functional/services/logs_ui/log_entry_rate.ts index bf58d74a06c44..f8a68f6c924e0 100644 --- a/x-pack/test/functional/services/logs_ui/log_entry_rate.ts +++ b/x-pack/test/functional/services/logs_ui/log_entry_rate.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; export function LogEntryRatePageProvider({ getPageObjects, getService }: FtrProviderContext) { diff --git a/x-pack/test/functional/services/logs_ui/log_stream.ts b/x-pack/test/functional/services/logs_ui/log_stream.ts index 1a068439a2d2d..160e949c84de4 100644 --- a/x-pack/test/functional/services/logs_ui/log_stream.ts +++ b/x-pack/test/functional/services/logs_ui/log_stream.ts @@ -5,8 +5,8 @@ * 2.0. */ +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; import { TabsParams } from '../../page_objects/infra_logs_page'; export function LogStreamPageProvider({ getPageObjects, getService }: FtrProviderContext) { diff --git a/x-pack/test/functional/services/ml/common_table_service.ts b/x-pack/test/functional/services/ml/common_table_service.ts index ac403d62b5ac8..683ac91f4e7a3 100644 --- a/x-pack/test/functional/services/ml/common_table_service.ts +++ b/x-pack/test/functional/services/ml/common_table_service.ts @@ -6,7 +6,7 @@ */ import expect from '@kbn/expect'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; export type MlTableService = ReturnType; diff --git a/x-pack/test/functional/services/ml/common_ui.ts b/x-pack/test/functional/services/ml/common_ui.ts index dc4836ed6f34c..63a1fdf17cf4f 100644 --- a/x-pack/test/functional/services/ml/common_ui.ts +++ b/x-pack/test/functional/services/ml/common_ui.ts @@ -7,7 +7,7 @@ import expect from '@kbn/expect'; import { ProvidedType } from '@kbn/test'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; import type { CanvasElementColorStats } from '../canvas_element'; diff --git a/x-pack/test/functional/services/ml/data_frame_analytics_results.ts b/x-pack/test/functional/services/ml/data_frame_analytics_results.ts index 0fc99e1e032a1..17a409a082ce7 100644 --- a/x-pack/test/functional/services/ml/data_frame_analytics_results.ts +++ b/x-pack/test/functional/services/ml/data_frame_analytics_results.ts @@ -6,7 +6,7 @@ */ import expect from '@kbn/expect'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; import type { CanvasElementColorStats } from '../canvas_element'; import type { MlCommonUI } from './common_ui'; diff --git a/x-pack/test/functional/services/ml/data_frame_analytics_table.ts b/x-pack/test/functional/services/ml/data_frame_analytics_table.ts index 2b89364644a36..c85e38cd78b8e 100644 --- a/x-pack/test/functional/services/ml/data_frame_analytics_table.ts +++ b/x-pack/test/functional/services/ml/data_frame_analytics_table.ts @@ -8,7 +8,7 @@ import expect from '@kbn/expect'; import { ProvidedType } from '@kbn/test'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; type ExpectedSectionTableEntries = Record; diff --git a/x-pack/test/functional/services/ml/stack_management_jobs.ts b/x-pack/test/functional/services/ml/stack_management_jobs.ts index f8db28deb5092..52b8e005ac94c 100644 --- a/x-pack/test/functional/services/ml/stack_management_jobs.ts +++ b/x-pack/test/functional/services/ml/stack_management_jobs.ts @@ -14,7 +14,7 @@ import path from 'path'; import type { JobType, MlSavedObjectType } from '@kbn/ml-plugin/common/types/saved_objects'; import type { Job, Datafeed } from '@kbn/ml-plugin/common/types/anomaly_detection_jobs'; import type { DataFrameAnalyticsConfig } from '@kbn/ml-data-frame-analytics-utils'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import type { FtrProviderContext } from '../../ftr_provider_context'; type SyncFlyoutObjectType = diff --git a/x-pack/test/functional/services/ml/swim_lane.ts b/x-pack/test/functional/services/ml/swim_lane.ts index 54895918a6d0d..d9ad1dd44d98a 100644 --- a/x-pack/test/functional/services/ml/swim_lane.ts +++ b/x-pack/test/functional/services/ml/swim_lane.ts @@ -9,8 +9,8 @@ import expect from '@kbn/expect'; import { ProvidedType } from '@kbn/test'; import { DebugState } from '@elastic/charts'; import { DebugStateAxis } from '@elastic/charts/dist/state/types'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; type HeatmapDebugState = Required>; diff --git a/x-pack/test/functional/services/ml/trained_models_table.ts b/x-pack/test/functional/services/ml/trained_models_table.ts index a186c531703be..4ea56286de4fd 100644 --- a/x-pack/test/functional/services/ml/trained_models_table.ts +++ b/x-pack/test/functional/services/ml/trained_models_table.ts @@ -9,7 +9,7 @@ import expect from '@kbn/expect'; import { ProvidedType } from '@kbn/test'; import { upperFirst } from 'lodash'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import type { FtrProviderContext } from '../../ftr_provider_context'; import type { MlCommonUI } from './common_ui'; import { MappedInputParams, MappedOutput, ModelType, TrainedModelsActions } from './trained_models'; diff --git a/x-pack/test/functional/services/observability/alerts/common.ts b/x-pack/test/functional/services/observability/alerts/common.ts index 57403ef8c3ab3..617fadcf25e28 100644 --- a/x-pack/test/functional/services/observability/alerts/common.ts +++ b/x-pack/test/functional/services/observability/alerts/common.ts @@ -8,8 +8,8 @@ import expect from '@kbn/expect'; import { chunk } from 'lodash'; import { ALERT_STATUS_ACTIVE, ALERT_STATUS_RECOVERED, AlertStatus } from '@kbn/rule-data-utils'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../../ftr_provider_context'; -import { WebElementWrapper } from '../../../../../../test/functional/services/lib/web_element_wrapper'; // Based on the x-pack/test/functional/es_archives/observability/alerts archive. const DATE_WITH_DATA = { diff --git a/x-pack/test/functional/services/search_sessions.ts b/x-pack/test/functional/services/search_sessions.ts index a22e635742686..cd0b60d321279 100644 --- a/x-pack/test/functional/services/search_sessions.ts +++ b/x-pack/test/functional/services/search_sessions.ts @@ -9,7 +9,7 @@ import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common'; import { INITIAL_SEARCH_SESSION_REST_VERSION } from '@kbn/data-plugin/server'; import expect from '@kbn/expect'; import { SavedObjectsFindResponse } from '@kbn/core/server'; -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../ftr_provider_context'; const SEARCH_SESSION_INDICATOR_TEST_SUBJ = 'searchSessionIndicator'; diff --git a/x-pack/test/functional/services/transform/transform_table.ts b/x-pack/test/functional/services/transform/transform_table.ts index 665b04b058106..7a5f303ba155b 100644 --- a/x-pack/test/functional/services/transform/transform_table.ts +++ b/x-pack/test/functional/services/transform/transform_table.ts @@ -7,7 +7,7 @@ import expect from '@kbn/expect'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; diff --git a/x-pack/test/functional_enterprise_search/page_objects/app_search.ts b/x-pack/test/functional_enterprise_search/page_objects/app_search.ts index 8c02cdb705272..75fe3da03ed1e 100644 --- a/x-pack/test/functional_enterprise_search/page_objects/app_search.ts +++ b/x-pack/test/functional_enterprise_search/page_objects/app_search.ts @@ -5,9 +5,9 @@ * 2.0. */ +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; import { TestSubjects } from '../../../../test/functional/services/common'; -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; export function AppSearchPageProvider({ getService, getPageObjects }: FtrProviderContext) { const PageObjects = getPageObjects(['common']); diff --git a/x-pack/test/functional_with_es_ssl/page_objects/triggers_actions_ui_page.ts b/x-pack/test/functional_with_es_ssl/page_objects/triggers_actions_ui_page.ts index f72677bff7f05..cdffa758420c0 100644 --- a/x-pack/test/functional_with_es_ssl/page_objects/triggers_actions_ui_page.ts +++ b/x-pack/test/functional_with_es_ssl/page_objects/triggers_actions_ui_page.ts @@ -6,10 +6,7 @@ */ import expect from '@kbn/expect'; -import { - CustomCheerio, - CustomCheerioStatic, -} from '../../../../test/functional/services/lib/web_element_wrapper/custom_cheerio_api'; +import type { CustomCheerio, CustomCheerioStatic } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; const ENTER_KEY = '\uE007'; diff --git a/x-pack/test/plugin_functional/test_suites/resolver/index.ts b/x-pack/test/plugin_functional/test_suites/resolver/index.ts index edc5d25971077..51fa158672623 100644 --- a/x-pack/test/plugin_functional/test_suites/resolver/index.ts +++ b/x-pack/test/plugin_functional/test_suites/resolver/index.ts @@ -7,7 +7,7 @@ import expect from '@kbn/expect'; import { panAnimationDuration } from '@kbn/security-solution-plugin/public/resolver/store/camera/scaling_constants'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; diff --git a/x-pack/test/security_solution_endpoint/apps/integrations/endpoint_exceptions.ts b/x-pack/test/security_solution_endpoint/apps/integrations/endpoint_exceptions.ts index 539101c795047..8647d418a6395 100644 --- a/x-pack/test/security_solution_endpoint/apps/integrations/endpoint_exceptions.ts +++ b/x-pack/test/security_solution_endpoint/apps/integrations/endpoint_exceptions.ts @@ -11,7 +11,7 @@ import { IndexedHostsAndAlertsResponse } from '@kbn/security-solution-plugin/com import { EXCEPTION_LIST_ITEM_URL } from '@kbn/securitysolution-list-constants'; import { ArtifactElasticsearchProperties } from '@kbn/fleet-plugin/server/services'; import { FoundExceptionListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../ftr_provider_context'; import { targetTags } from '../../target_tags'; diff --git a/x-pack/test/security_solution_endpoint/page_objects/endpoint_page.ts b/x-pack/test/security_solution_endpoint/page_objects/endpoint_page.ts index ec3eaf97eb81b..ceea71593a95e 100644 --- a/x-pack/test/security_solution_endpoint/page_objects/endpoint_page.ts +++ b/x-pack/test/security_solution_endpoint/page_objects/endpoint_page.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; export function EndpointPageProvider({ getService, getPageObjects }: FtrProviderContext) { diff --git a/x-pack/test/security_solution_endpoint/page_objects/ingest_manager_create_package_policy_page.ts b/x-pack/test/security_solution_endpoint/page_objects/ingest_manager_create_package_policy_page.ts index 913d1e18d1dc7..acdb58460cbbd 100644 --- a/x-pack/test/security_solution_endpoint/page_objects/ingest_manager_create_package_policy_page.ts +++ b/x-pack/test/security_solution_endpoint/page_objects/ingest_manager_create_package_policy_page.ts @@ -5,8 +5,8 @@ * 2.0. */ +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; export function IngestManagerCreatePackagePolicy({ getService, diff --git a/x-pack/test/security_solution_endpoint/page_objects/page_utils.ts b/x-pack/test/security_solution_endpoint/page_objects/page_utils.ts index 69cb8e455b152..d14846f8583ed 100644 --- a/x-pack/test/security_solution_endpoint/page_objects/page_utils.ts +++ b/x-pack/test/security_solution_endpoint/page_objects/page_utils.ts @@ -5,8 +5,8 @@ * 2.0. */ +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; -import { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; export function EndpointPageUtils({ getService }: FtrProviderContext) { const testSubjects = getService('testSubjects'); diff --git a/x-pack/test/security_solution_ftr/page_objects/detections/index.ts b/x-pack/test/security_solution_ftr/page_objects/detections/index.ts index a8ff43a8e06bf..e45fa7f7a5eb7 100644 --- a/x-pack/test/security_solution_ftr/page_objects/detections/index.ts +++ b/x-pack/test/security_solution_ftr/page_objects/detections/index.ts @@ -5,8 +5,8 @@ * 2.0. */ +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../../../functional/ftr_provider_context'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; const ALERT_TABLE_ROW_CSS_SELECTOR = '[data-test-subj="alertsTable"] .euiDataGridRow'; diff --git a/x-pack/test/security_solution_ftr/page_objects/hosts/index.ts b/x-pack/test/security_solution_ftr/page_objects/hosts/index.ts index 0d80db3141214..50e232a8693e1 100644 --- a/x-pack/test/security_solution_ftr/page_objects/hosts/index.ts +++ b/x-pack/test/security_solution_ftr/page_objects/hosts/index.ts @@ -5,8 +5,8 @@ * 2.0. */ +import { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrService } from '../../../functional/ftr_provider_context'; -import { WebElementWrapper } from '../../../../../test/functional/services/lib/web_element_wrapper'; export class HostsPageObject extends FtrService { private readonly pageObjects = this.ctx.getPageObjects(['common', 'header']); diff --git a/x-pack/test/tsconfig.json b/x-pack/test/tsconfig.json index 894d4c8039946..4ca836a475546 100644 --- a/x-pack/test/tsconfig.json +++ b/x-pack/test/tsconfig.json @@ -165,5 +165,6 @@ "@kbn/log-explorer-plugin", "@kbn/security-plugin-types-common", "@kbn/typed-react-router-config", + "@kbn/ftr-common-functional-ui-services", ] } diff --git a/x-pack/test/upgrade/services/rules_upgrade_services.ts b/x-pack/test/upgrade/services/rules_upgrade_services.ts index 188f41bcddc9d..54780fbe5adfb 100644 --- a/x-pack/test/upgrade/services/rules_upgrade_services.ts +++ b/x-pack/test/upgrade/services/rules_upgrade_services.ts @@ -6,11 +6,8 @@ */ import expect from '@kbn/expect'; +import type { CustomCheerio, CustomCheerioStatic } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; -import { - CustomCheerio, - CustomCheerioStatic, -} from '../../../../test/functional/services/lib/web_element_wrapper/custom_cheerio_api'; export function RulesHelper({ getPageObjects, getService }: FtrProviderContext) { const find = getService('find'); diff --git a/x-pack/test_serverless/functional/page_objects/svl_common_navigation.ts b/x-pack/test_serverless/functional/page_objects/svl_common_navigation.ts index 93b5dea4f0495..9a91f5da1240d 100644 --- a/x-pack/test_serverless/functional/page_objects/svl_common_navigation.ts +++ b/x-pack/test_serverless/functional/page_objects/svl_common_navigation.ts @@ -16,8 +16,8 @@ import type { NavigationID as DevNavId } from '@kbn/default-nav-devtools'; // use this for nicer type suggestions, but allow any string anyway type NavigationId = MlNavId | AlNavId | MgmtNavId | DevNavId | string; +import type { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import type { FtrProviderContext } from '../ftr_provider_context'; -import type { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; const getSectionIdTestSubj = (sectionId: NavigationId) => `~nav-item-${sectionId}`; diff --git a/x-pack/test_serverless/functional/page_objects/svl_triggers_actions_ui_page.ts b/x-pack/test_serverless/functional/page_objects/svl_triggers_actions_ui_page.ts index 589544cca9c5e..e9f407c06753f 100644 --- a/x-pack/test_serverless/functional/page_objects/svl_triggers_actions_ui_page.ts +++ b/x-pack/test_serverless/functional/page_objects/svl_triggers_actions_ui_page.ts @@ -6,10 +6,7 @@ */ import expect from '@kbn/expect'; -import type { - CustomCheerio, - CustomCheerioStatic, -} from '../../../../test/functional/services/lib/web_element_wrapper/custom_cheerio_api'; +import type { CustomCheerio, CustomCheerioStatic } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../ftr_provider_context'; const ENTER_KEY = '\uE007'; diff --git a/x-pack/test_serverless/functional/test_suites/common/discover/x_pack/visualize_field.ts b/x-pack/test_serverless/functional/test_suites/common/discover/x_pack/visualize_field.ts index ab1ad279b886b..e412fea58df57 100644 --- a/x-pack/test_serverless/functional/test_suites/common/discover/x_pack/visualize_field.ts +++ b/x-pack/test_serverless/functional/test_suites/common/discover/x_pack/visualize_field.ts @@ -6,7 +6,7 @@ */ import expect from '@kbn/expect'; -import type { WebElementWrapper } from '../../../../../../../test/functional/services/lib/web_element_wrapper'; +import type { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../../../ftr_provider_context'; export default function ({ getPageObjects, getService }: FtrProviderContext) { diff --git a/x-pack/test_serverless/functional/test_suites/common/examples/search/warnings.ts b/x-pack/test_serverless/functional/test_suites/common/examples/search/warnings.ts index a254cb753c864..43ec250ff9967 100644 --- a/x-pack/test_serverless/functional/test_suites/common/examples/search/warnings.ts +++ b/x-pack/test_serverless/functional/test_suites/common/examples/search/warnings.ts @@ -8,7 +8,7 @@ import type { estypes } from '@elastic/elasticsearch'; import expect from '@kbn/expect'; import assert from 'assert'; -import type { WebElementWrapper } from '../../../../../../../test/functional/services/lib/web_element_wrapper'; +import type { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import type { FtrProviderContext } from '../../../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { diff --git a/x-pack/test_serverless/functional/test_suites/common/management/index_management/component_templates.ts b/x-pack/test_serverless/functional/test_suites/common/management/index_management/component_templates.ts index 9e044667692cf..e70470582b2b5 100644 --- a/x-pack/test_serverless/functional/test_suites/common/management/index_management/component_templates.ts +++ b/x-pack/test_serverless/functional/test_suites/common/management/index_management/component_templates.ts @@ -7,8 +7,8 @@ import expect from '@kbn/expect'; +import type { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../../../ftr_provider_context'; -import type { WebElementWrapper } from '../../../../../../../test/functional/services/lib/web_element_wrapper'; export default ({ getPageObjects, getService }: FtrProviderContext) => { const pageObjects = getPageObjects(['svlCommonPage', 'common', 'indexManagement', 'header']); diff --git a/x-pack/test_serverless/functional/test_suites/common/management/index_management/index_templates.ts b/x-pack/test_serverless/functional/test_suites/common/management/index_management/index_templates.ts index 791d3c313b7ab..371ee4debe98f 100644 --- a/x-pack/test_serverless/functional/test_suites/common/management/index_management/index_templates.ts +++ b/x-pack/test_serverless/functional/test_suites/common/management/index_management/index_templates.ts @@ -7,8 +7,8 @@ import expect from '@kbn/expect'; +import type { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import { FtrProviderContext } from '../../../../ftr_provider_context'; -import type { WebElementWrapper } from '../../../../../../../test/functional/services/lib/web_element_wrapper'; export default ({ getPageObjects, getService }: FtrProviderContext) => { const pageObjects = getPageObjects(['svlCommonPage', 'common', 'indexManagement', 'header']); diff --git a/x-pack/test_serverless/functional/test_suites/observability/infra/hosts_page.ts b/x-pack/test_serverless/functional/test_suites/observability/infra/hosts_page.ts index 7e23b43b253c7..92dfb107dd440 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/infra/hosts_page.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/infra/hosts_page.ts @@ -7,7 +7,7 @@ import moment from 'moment'; import expect from '@kbn/expect'; -import type { WebElementWrapper } from '../../../../../../test/functional/services/lib/web_element_wrapper'; +import type { WebElementWrapper } from '@kbn/ftr-common-functional-ui-services'; import type { FtrProviderContext } from '../../../ftr_provider_context'; import { HOSTS_VIEW_PATH } from './constants'; diff --git a/x-pack/test_serverless/tsconfig.json b/x-pack/test_serverless/tsconfig.json index 54c1e26f069d1..c9c37a3c3f3a1 100644 --- a/x-pack/test_serverless/tsconfig.json +++ b/x-pack/test_serverless/tsconfig.json @@ -84,5 +84,6 @@ "@kbn/log-explorer-plugin", "@kbn/index-management-plugin", "@kbn/alerting-plugin", + "@kbn/ftr-common-functional-ui-services", ] } From 49886a5d79308c6367a108140c5ddea1dbaf3df6 Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Thu, 4 Jan 2024 12:30:53 -0600 Subject: [PATCH 5/8] skip failing test suite (#174194, #174195) --- .../actions/assignees/edit_assignees_flyout.test.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_flyout.test.tsx b/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_flyout.test.tsx index d6f65ff09b694..9001faa12a2a6 100644 --- a/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_flyout.test.tsx +++ b/x-pack/plugins/cases/public/components/actions/assignees/edit_assignees_flyout.test.tsx @@ -16,7 +16,9 @@ import { waitFor } from '@testing-library/react'; jest.mock('../../../containers/user_profiles/api'); -describe('EditAssigneesFlyout', () => { +// Failing: See https://github.com/elastic/kibana/issues/174194 +// Failing: See https://github.com/elastic/kibana/issues/174195 +describe.skip('EditAssigneesFlyout', () => { let appMock: AppMockRenderer; /** From 33f83681326ab05db53fcaafef382631201868a7 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 4 Jan 2024 13:33:32 -0500 Subject: [PATCH 6/8] skip failing test suite (#174204) --- .../routes/csp_benchmark_rules_bulk_update.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/cloud_security_posture_api/routes/csp_benchmark_rules_bulk_update.ts b/x-pack/test/cloud_security_posture_api/routes/csp_benchmark_rules_bulk_update.ts index 022ab5e3b32ff..2c7d0ce250b02 100644 --- a/x-pack/test/cloud_security_posture_api/routes/csp_benchmark_rules_bulk_update.ts +++ b/x-pack/test/cloud_security_posture_api/routes/csp_benchmark_rules_bulk_update.ts @@ -93,7 +93,8 @@ export default function ({ getService }: FtrProviderContext) { log.debug('CSP plugin is initialized'); }); - describe('Verify update csp rules states API', async () => { + // Failing: See https://github.com/elastic/kibana/issues/174204 + describe.skip('Verify update csp rules states API', async () => { before(async () => { await waitForPluginInitialized(); }); From 6d909fff999da629e7886a0683c78a1ebf9e254b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yulia=20=C4=8Cech?= <6585477+yuliacech@users.noreply.github.com> Date: Thu, 4 Jan 2024 19:58:09 +0100 Subject: [PATCH 7/8] [Index Management] Fix managed data streams badge (#173408) ## Summary This PR fixes the badge "managed" missing from the data streams list. The code used to check that the data stream has both conditions for a managed data streams `meta.managed: true` and `meta.managed_by: 'ingest-manager'`. The check for `ingest-manager` is not coorect since it's been renamed to fleet. Instead of updating the check though, I decided to only leave the condition for `meta.managed : true` and I removed all mentions of "Fleet" from the Data streams tab. I believe that is more consistent for the UI, since we don't mention "Fleet-managed" anywhere else like ILM, index templates etc. ### Screenshot Screenshot 2023-12-18 at 16 11 35 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../home/data_streams_tab.test.ts | 24 ++++--------------- .../public/application/lib/data_streams.tsx | 9 ++++--- .../data_stream_list/data_stream_badges.tsx | 6 ++--- .../data_stream_list/data_stream_list.tsx | 6 ++--- .../translations/translations/fr-FR.json | 2 -- .../translations/translations/ja-JP.json | 2 -- .../translations/translations/zh-CN.json | 2 -- .../data_streams_tab/data_streams_tab.ts | 6 ++--- .../page_objects/index_management_page.ts | 8 ++----- .../test_suites/common/management/index.ts | 6 +---- .../index_management/data_streams.ts | 6 ++--- .../management/index_management/index.ts | 19 +++++++++++++++ 12 files changed, 43 insertions(+), 53 deletions(-) create mode 100644 x-pack/test_serverless/functional/test_suites/common/management/index_management/index.ts diff --git a/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.test.ts b/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.test.ts index db38796d2ab3b..e306398c541c7 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.test.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.test.ts @@ -71,7 +71,7 @@ describe('Data Streams tab', () => { expect(exists('emptyPrompt')).toBe(true); }); - test('when Ingest Manager is disabled, goes to index templates tab when "Get started" link is clicked', async () => { + test('when Fleet is disabled, goes to index templates tab when "Get started" link is clicked', async () => { testBed = await setup(httpSetup, { plugins: {}, url: urlServiceMock, @@ -796,7 +796,7 @@ describe('Data Streams tab', () => { _meta: { package: 'test', managed: true, - managed_by: 'ingest-manager', + managed_by: 'fleet', }, }); const nonManagedDataStream = createDataStreamPayload({ name: 'non-managed-data-stream' }); @@ -813,19 +813,12 @@ describe('Data Streams tab', () => { testBed.component.update(); }); - test('listed in the table with Fleet-managed label', () => { + test('listed in the table with managed label', () => { const { table } = testBed; const { tableCellsValues } = table.getMetaData('dataStreamTable'); expect(tableCellsValues).toEqual([ - [ - '', - `managed-data-stream${nonBreakingSpace}Fleet-managed`, - 'green', - '1', - '7 days', - 'Delete', - ], + ['', `managed-data-stream${nonBreakingSpace}Managed`, 'green', '1', '7 days', 'Delete'], ['', 'non-managed-data-stream', 'green', '1', '7 days', 'Delete'], ]); }); @@ -835,14 +828,7 @@ describe('Data Streams tab', () => { let { tableCellsValues } = table.getMetaData('dataStreamTable'); expect(tableCellsValues).toEqual([ - [ - '', - `managed-data-stream${nonBreakingSpace}Fleet-managed`, - 'green', - '1', - '7 days', - 'Delete', - ], + ['', `managed-data-stream${nonBreakingSpace}Managed`, 'green', '1', '7 days', 'Delete'], ['', 'non-managed-data-stream', 'green', '1', '7 days', 'Delete'], ]); diff --git a/x-pack/plugins/index_management/public/application/lib/data_streams.tsx b/x-pack/plugins/index_management/public/application/lib/data_streams.tsx index c16b28f73410a..44852c5dc3230 100644 --- a/x-pack/plugins/index_management/public/application/lib/data_streams.tsx +++ b/x-pack/plugins/index_management/public/application/lib/data_streams.tsx @@ -12,9 +12,8 @@ import { EuiIcon, EuiToolTip } from '@elastic/eui'; import { splitSizeAndUnits, DataStream } from '../../../common'; import { timeUnits, extraTimeUnits } from '../constants/time_units'; -export const isFleetManaged = (dataStream: DataStream): boolean => { - // TODO check if the wording will change to 'fleet' - return Boolean(dataStream._meta?.managed && dataStream._meta?.managed_by === 'ingest-manager'); +export const isManaged = (dataStream: DataStream): boolean => { + return Boolean(dataStream._meta?.managed); }; export const filterDataStreams = ( @@ -23,13 +22,13 @@ export const filterDataStreams = ( ): DataStream[] => { return dataStreams.filter((dataStream: DataStream) => { // include all data streams that are neither hidden nor managed - if (!dataStream.hidden && !isFleetManaged(dataStream)) { + if (!dataStream.hidden && !isManaged(dataStream)) { return true; } if (dataStream.hidden && visibleTypes.includes('hidden')) { return true; } - return isFleetManaged(dataStream) && visibleTypes.includes('managed'); + return isManaged(dataStream) && visibleTypes.includes('managed'); }); }; diff --git a/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_badges.tsx b/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_badges.tsx index 39c6f61e75dde..2f98b6ac357a4 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_badges.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_badges.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { EuiBadge, EuiBadgeGroup } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { DataStream } from '../../../../../common'; -import { isFleetManaged } from '../../../lib/data_streams'; +import { isManaged } from '../../../lib/data_streams'; interface Props { dataStream: DataStream; @@ -17,12 +17,12 @@ interface Props { export const DataStreamsBadges: React.FunctionComponent = ({ dataStream }) => { const badges = []; - if (isFleetManaged(dataStream)) { + if (isManaged(dataStream)) { badges.push( ); diff --git a/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_list.tsx b/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_list.tsx index fa4efa61bf548..125f676897ffb 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_list.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_list.tsx @@ -84,7 +84,7 @@ export const DataStreamList: React.FunctionComponent>({ managed: { name: i18n.translate('xpack.idxMgmt.dataStreamList.viewManagedLabel', { - defaultMessage: 'Fleet-managed data streams', + defaultMessage: 'Managed data streams', }), checked: 'on', }, @@ -226,7 +226,7 @@ export const DataStreamList: React.FunctionComponent {i18n.translate( - 'xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaIngestManagerLink', + 'xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaFleetLink', { defaultMessage: 'Fleet', } diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index cbbd515a86e1b..e7fa92aa02a3c 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -18390,7 +18390,6 @@ "xpack.idxMgmt.createIndex.successfullyCreatedIndexMessage": "Création réussie de l'index : {indexName}", "xpack.idxMgmt.dataStreamList.dataStreamsDescription": "Les flux de données conservent des données de séries temporelles sur plusieurs index. {learnMoreLink}", "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaIndexTemplateMessage": "Lancez-vous avec les flux de données en créant un {link}.", - "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaIngestManagerMessage": "Lancez-vous avec les flux de données dans {link}.", "xpack.idxMgmt.dataStreamList.table.deleteDataStreamsButtonLabel": "Supprimer {count, plural, one {le flux de données} many {flux de données} other {flux de données}}", "xpack.idxMgmt.deleteDataStreamsConfirmationModal.confirmButtonLabel": "Supprimer {dataStreamsCount, plural, one {le flux de données} many {flux de données} other {flux de données}}", "xpack.idxMgmt.deleteDataStreamsConfirmationModal.deleteDescription": "Vous êtes sur le point de supprimer {dataStreamsCount, plural, one {ce flux de données} many {ces flux de données} other {ces flux de données}} :", @@ -18687,7 +18686,6 @@ "xpack.idxMgmt.dataStreamDetailPanel.timestampFieldTitle": "Champ d'horodatage", "xpack.idxMgmt.dataStreamDetailPanel.timestampFieldToolTip": "Champ d'horodatage partagé par tous les documents du flux de données.", "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaIndexTemplateLink": "modèle d'index composable", - "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaIngestManagerLink": "Fleet", "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsDescription": "Les flux de données conservent des données de séries temporelles sur plusieurs index.", "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsTitle": "Vous n'avez pas encore de flux de données", "xpack.idxMgmt.dataStreamList.loadingDataStreamsDescription": "Chargement des flux de données en cours…", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index f0575cc0496fb..4a23239256f53 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -18403,7 +18403,6 @@ "xpack.idxMgmt.createIndex.successfullyCreatedIndexMessage": "インデックスの作成が正常に完了しました:{indexName}", "xpack.idxMgmt.dataStreamList.dataStreamsDescription": "データストリームは複数のインデックスの時系列データを格納します。{learnMoreLink}", "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaIndexTemplateMessage": "{link}を作成して、データストリームを開始します。", - "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaIngestManagerMessage": "{link}でデータストリームを開始します。", "xpack.idxMgmt.dataStreamList.table.deleteDataStreamsButtonLabel": "{count, plural, other {データストリーム}}削除", "xpack.idxMgmt.deleteDataStreamsConfirmationModal.confirmButtonLabel": "{dataStreamsCount, plural, other {データストリーム}}削除", "xpack.idxMgmt.deleteDataStreamsConfirmationModal.deleteDescription": "{dataStreamsCount, plural, other {これらのデータストリーム}}を削除しようとしています:", @@ -18700,7 +18699,6 @@ "xpack.idxMgmt.dataStreamDetailPanel.timestampFieldTitle": "タイムスタンプフィールド", "xpack.idxMgmt.dataStreamDetailPanel.timestampFieldToolTip": "タイムスタンプフィールドはデータストリームのすべてのドキュメントで共有されます。", "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaIndexTemplateLink": "作成可能なインデックステンプレート", - "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaIngestManagerLink": "Fleet", "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsDescription": "データストリームは複数のインデックスの時系列データを格納します。", "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsTitle": "まだデータストリームがありません", "xpack.idxMgmt.dataStreamList.loadingDataStreamsDescription": "データストリームを読み込んでいます…", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 2a5c081a8d014..ccce90db35aaf 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -18470,7 +18470,6 @@ "xpack.idxMgmt.createIndex.successfullyCreatedIndexMessage": "已成功创建索引:{indexName}", "xpack.idxMgmt.dataStreamList.dataStreamsDescription": "数据流在多个索引上存储时序数据。{learnMoreLink}", "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaIndexTemplateMessage": "通过创建 {link} 来开始使用数据流。", - "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaIngestManagerMessage": "开始使用 {link} 中的数据流。", "xpack.idxMgmt.dataStreamList.table.deleteDataStreamsButtonLabel": "删除 {count, plural, other {数据流}}", "xpack.idxMgmt.deleteDataStreamsConfirmationModal.confirmButtonLabel": "删除 {dataStreamsCount, plural, other {数据流}}", "xpack.idxMgmt.deleteDataStreamsConfirmationModal.deleteDescription": "您即将删除{dataStreamsCount, plural, other {以下数据流}}:", @@ -18767,7 +18766,6 @@ "xpack.idxMgmt.dataStreamDetailPanel.timestampFieldTitle": "时间戳字段", "xpack.idxMgmt.dataStreamDetailPanel.timestampFieldToolTip": "时间戳字段由数据流中的所有文档共享。", "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaIndexTemplateLink": "可组合索引模板", - "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsCtaIngestManagerLink": "Fleet", "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsDescription": "数据流存储多个索引的时序数据。", "xpack.idxMgmt.dataStreamList.emptyPrompt.noDataStreamsTitle": "您尚未有任何数据流", "xpack.idxMgmt.dataStreamList.loadingDataStreamsDescription": "正在加载数据流……", diff --git a/x-pack/test/functional/apps/index_management/data_streams_tab/data_streams_tab.ts b/x-pack/test/functional/apps/index_management/data_streams_tab/data_streams_tab.ts index 9d3da94fead4a..4480063da220b 100644 --- a/x-pack/test/functional/apps/index_management/data_streams_tab/data_streams_tab.ts +++ b/x-pack/test/functional/apps/index_management/data_streams_tab/data_streams_tab.ts @@ -78,7 +78,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { it('shows the details flyout when clicking on a data stream', async () => { // Open details flyout - await pageObjects.indexManagement.clickDataStreamAt(0); + await pageObjects.indexManagement.clickDataStreamNameLink(TEST_DS_NAME); // Verify url is stateful const url = await browser.getCurrentUrl(); expect(url).to.contain(`/data_streams/${TEST_DS_NAME}`); @@ -90,7 +90,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { it('allows to update data retention', async () => { // Open details flyout - await pageObjects.indexManagement.clickDataStreamAt(0); + await pageObjects.indexManagement.clickDataStreamNameLink(TEST_DS_NAME); // Open the edit retention dialog await testSubjects.click('manageDataStreamButton'); await testSubjects.click('editDataRetentionButton'); @@ -112,7 +112,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { it('allows to disable data retention', async () => { // Open details flyout - await pageObjects.indexManagement.clickDataStreamAt(0); + await pageObjects.indexManagement.clickDataStreamNameLink(TEST_DS_NAME); // Open the edit retention dialog await testSubjects.click('manageDataStreamButton'); await testSubjects.click('editDataRetentionButton'); diff --git a/x-pack/test/functional/page_objects/index_management_page.ts b/x-pack/test/functional/page_objects/index_management_page.ts index 9dc9d30fd375d..19eb3f2824f3a 100644 --- a/x-pack/test/functional/page_objects/index_management_page.ts +++ b/x-pack/test/functional/page_objects/index_management_page.ts @@ -22,9 +22,6 @@ export function IndexManagementPageProvider({ getService }: FtrProviderContext) async reloadIndicesButton() { return await testSubjects.find('reloadIndicesButton'); }, - async toggleRollupIndices() { - await testSubjects.click('checkboxToggles-rollupToggle'); - }, async toggleHiddenIndices() { await testSubjects.click('indexTableIncludeHiddenIndicesToggle'); }, @@ -34,9 +31,8 @@ export function IndexManagementPageProvider({ getService }: FtrProviderContext) await policyDetailsLinks[indexOfRow].click(); }, - async clickDataStreamAt(indexOfRow: number): Promise { - const dataStreamLinks = await testSubjects.findAll('nameLink'); - await dataStreamLinks[indexOfRow].click(); + async clickDataStreamNameLink(name: string): Promise { + await find.clickByLinkText(name); }, async clickDeleteEnrichPolicyAt(indexOfRow: number): Promise { diff --git a/x-pack/test_serverless/functional/test_suites/common/management/index.ts b/x-pack/test_serverless/functional/test_suites/common/management/index.ts index 3291f50dc6bc8..e523e27c3cf00 100644 --- a/x-pack/test_serverless/functional/test_suites/common/management/index.ts +++ b/x-pack/test_serverless/functional/test_suites/common/management/index.ts @@ -9,11 +9,7 @@ import { FtrProviderContext } from '../../../ftr_provider_context'; export default ({ loadTestFile }: FtrProviderContext) => { describe('Serverless Common UI - Management', function () { - loadTestFile(require.resolve('./index_management/index_templates')); - loadTestFile(require.resolve('./index_management/indices')); - loadTestFile(require.resolve('./index_management/create_enrich_policy')); - loadTestFile(require.resolve('./index_management/enrich_policies')); - loadTestFile(require.resolve('./index_management/component_templates')); + loadTestFile(require.resolve('./index_management')); loadTestFile(require.resolve('./transforms/search_bar_features')); loadTestFile(require.resolve('./transforms/transform_list')); loadTestFile(require.resolve('./advanced_settings')); diff --git a/x-pack/test_serverless/functional/test_suites/common/management/index_management/data_streams.ts b/x-pack/test_serverless/functional/test_suites/common/management/index_management/data_streams.ts index bbf55e359d360..4bd839e2c9ebb 100644 --- a/x-pack/test_serverless/functional/test_suites/common/management/index_management/data_streams.ts +++ b/x-pack/test_serverless/functional/test_suites/common/management/index_management/data_streams.ts @@ -88,7 +88,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { it('shows the details flyout when clicking on a data stream', async () => { // Open details flyout - await pageObjects.indexManagement.clickDataStreamAt(0); + await pageObjects.indexManagement.clickDataStreamNameLink(TEST_DS_NAME); // Verify url is stateful const url = await browser.getCurrentUrl(); expect(url).to.contain(`/data_streams/${TEST_DS_NAME}`); @@ -100,7 +100,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { it('allows to update data retention', async () => { // Open details flyout - await pageObjects.indexManagement.clickDataStreamAt(0); + await pageObjects.indexManagement.clickDataStreamNameLink(TEST_DS_NAME); // Open the edit retention dialog await testSubjects.click('manageDataStreamButton'); await testSubjects.click('editDataRetentionButton'); @@ -122,7 +122,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { it('allows to disable data retention', async () => { // Open details flyout - await pageObjects.indexManagement.clickDataStreamAt(0); + await pageObjects.indexManagement.clickDataStreamNameLink(TEST_DS_NAME); // Open the edit retention dialog await testSubjects.click('manageDataStreamButton'); await testSubjects.click('editDataRetentionButton'); diff --git a/x-pack/test_serverless/functional/test_suites/common/management/index_management/index.ts b/x-pack/test_serverless/functional/test_suites/common/management/index_management/index.ts new file mode 100644 index 0000000000000..0df628a2ba587 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/common/management/index_management/index.ts @@ -0,0 +1,19 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../../ftr_provider_context'; + +export default ({ loadTestFile }: FtrProviderContext) => { + describe('Index Management', function () { + loadTestFile(require.resolve('./component_templates')); + loadTestFile(require.resolve('./create_enrich_policy')); + loadTestFile(require.resolve('./data_streams')); + loadTestFile(require.resolve('./enrich_policies')); + loadTestFile(require.resolve('./index_templates')); + loadTestFile(require.resolve('./indices')); + }); +}; From 46a58541fa8ce21f86a32408cbc759c1bf22487b Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 4 Jan 2024 14:51:46 -0500 Subject: [PATCH 8/8] skip failing test suite (#173558) --- .../common/management/data_views/_runtime_fields.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/functional/test_suites/common/management/data_views/_runtime_fields.ts b/x-pack/test_serverless/functional/test_suites/common/management/data_views/_runtime_fields.ts index f900329539e69..b7bc99d9aecb1 100644 --- a/x-pack/test_serverless/functional/test_suites/common/management/data_views/_runtime_fields.ts +++ b/x-pack/test_serverless/functional/test_suites/common/management/data_views/_runtime_fields.ts @@ -16,7 +16,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const PageObjects = getPageObjects(['settings', 'common']); const testSubjects = getService('testSubjects'); - describe('runtime fields', function () { + // Failing: See https://github.com/elastic/kibana/issues/173558 + describe.skip('runtime fields', function () { this.tags(['skipFirefox']); before(async function () {