diff --git a/.buildkite/ftr_oblt_serverless_configs.yml b/.buildkite/ftr_oblt_serverless_configs.yml index 06ddd682d490d..3eeef93ef2ebf 100644 --- a/.buildkite/ftr_oblt_serverless_configs.yml +++ b/.buildkite/ftr_oblt_serverless_configs.yml @@ -18,6 +18,7 @@ disabled: - x-pack/solutions/observability/test/serverless/functional/configs/config.cases_and_rules.ts - x-pack/solutions/observability/test/serverless/functional/configs/config.ml_and_discover.ts - x-pack/solutions/observability/test/serverless/functional/configs/config.logs_essentials.ts + - x-pack/solutions/observability/test/serverless/functional/configs/config.onboarding.ts - x-pack/platform/test/serverless/functional/configs/observability/config.examples.ts - x-pack/solutions/observability/test/serverless/functional/configs/config.feature_flags.ts - x-pack/platform/test/serverless/functional/configs/observability/config.saved_objects_management.ts diff --git a/x-pack/platform/test/serverless/api_integration/config.base.ts b/x-pack/platform/test/serverless/api_integration/config.base.ts index 3bb1c883a629c..9573bb651bf13 100644 --- a/x-pack/platform/test/serverless/api_integration/config.base.ts +++ b/x-pack/platform/test/serverless/api_integration/config.base.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import type { FtrConfigProviderContext } from '@kbn/test'; +import { dockerRegistryPort, type FtrConfigProviderContext } from '@kbn/test'; import { ScoutTestRunConfigCategory } from '@kbn/scout-info'; import { MOCK_IDP_UIAM_SERVICE_URL, MOCK_IDP_UIAM_SHARED_SECRET } from '@kbn/mock-idp-utils'; @@ -14,6 +14,8 @@ import type { CreateTestConfigOptions } from '../shared/types'; export function createTestConfig(options: CreateTestConfigOptions) { return async ({ readConfigFile }: FtrConfigProviderContext) => { const svlSharedConfig = await readConfigFile(require.resolve('../shared/config.base.ts')); + const enableFleetDockerRegistry = options.enableFleetDockerRegistry ?? true; + const dockerServers = svlSharedConfig.get('dockerServers'); return { ...svlSharedConfig.getAll(), @@ -23,6 +25,10 @@ export function createTestConfig(options: CreateTestConfigOptions) { ...services, ...options.services, }, + dockerServers: + !enableFleetDockerRegistry && dockerServers?.registry + ? { ...dockerServers, registry: { ...dockerServers.registry, enabled: false } } + : dockerServers, esTestCluster: { ...svlSharedConfig.get('esTestCluster'), serverArgs: [ @@ -49,6 +55,9 @@ export function createTestConfig(options: CreateTestConfigOptions) { `--xpack.security.uiam.sharedSecret=${MOCK_IDP_UIAM_SHARED_SECRET}`, ] : []), + ...(enableFleetDockerRegistry && dockerRegistryPort + ? [`--xpack.fleet.registryUrl=http://localhost:${dockerRegistryPort}`] + : []), ], }, testFiles: options.testFiles, diff --git a/x-pack/platform/test/serverless/api_integration/configs/security/config.group1.ts b/x-pack/platform/test/serverless/api_integration/configs/security/config.group1.ts index 5dafb8ab301ce..7a6b146e51e31 100644 --- a/x-pack/platform/test/serverless/api_integration/configs/security/config.group1.ts +++ b/x-pack/platform/test/serverless/api_integration/configs/security/config.group1.ts @@ -58,4 +58,5 @@ export default createTestConfig({ // Enables /internal/cloud_security_posture/graph API `--uiSettings.overrides.securitySolution:enableGraphVisualization=true`, ], + enableFleetDockerRegistry: false, }); diff --git a/x-pack/platform/test/serverless/functional/config.base.ts b/x-pack/platform/test/serverless/functional/config.base.ts index 92ac471b978d8..10167313531f9 100644 --- a/x-pack/platform/test/serverless/functional/config.base.ts +++ b/x-pack/platform/test/serverless/functional/config.base.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { FtrConfigProviderContext } from '@kbn/test'; +import { dockerRegistryPort, type FtrConfigProviderContext } from '@kbn/test'; import { ScoutTestRunConfigCategory } from '@kbn/scout-info'; import { resolve } from 'path'; import { pageObjects } from './page_objects'; @@ -19,9 +19,15 @@ export function createTestConfig< return async ({ readConfigFile }: FtrConfigProviderContext) => { const svlSharedConfig = await readConfigFile(require.resolve('../shared/config.base.ts')); + const enableFleetDockerRegistry = options.enableFleetDockerRegistry ?? true; + const dockerServers = svlSharedConfig.get('dockerServers'); + return { ...svlSharedConfig.getAll(), - + dockerServers: + !enableFleetDockerRegistry && dockerServers?.registry + ? { ...dockerServers, registry: { ...dockerServers.registry, enabled: false } } + : dockerServers, testConfigCategory: ScoutTestRunConfigCategory.UI_TEST, pageObjects: { ...pageObjects, ...options.pageObjects }, services: { ...services, ...options.services }, @@ -39,6 +45,9 @@ export function createTestConfig< ...svlSharedConfig.get('kbnTestServer.serverArgs'), `--serverless=${options.serverlessProject}`, ...(options.kbnServerArgs ?? []), + ...(enableFleetDockerRegistry && dockerRegistryPort + ? [`--xpack.fleet.registryUrl=http://localhost:${dockerRegistryPort}`] + : []), ], }, testFiles: options.testFiles, diff --git a/x-pack/platform/test/serverless/shared/types/index.ts b/x-pack/platform/test/serverless/shared/types/index.ts index bfdfa946f1cc0..ae1addfff799d 100644 --- a/x-pack/platform/test/serverless/shared/types/index.ts +++ b/x-pack/platform/test/serverless/shared/types/index.ts @@ -45,4 +45,5 @@ export interface CreateTestConfigOptions< apps?: Record; screenshots?: { directory: string }; indexRefreshInterval?: string | false; + enableFleetDockerRegistry?: boolean; } diff --git a/x-pack/solutions/observability/test/serverless/functional/configs/config.onboarding.ts b/x-pack/solutions/observability/test/serverless/functional/configs/config.onboarding.ts new file mode 100644 index 0000000000000..94d1cc8c04b4d --- /dev/null +++ b/x-pack/solutions/observability/test/serverless/functional/configs/config.onboarding.ts @@ -0,0 +1,26 @@ +/* + * 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 { createTestConfig } from '@kbn/test-suites-xpack-platform/serverless/functional/config.base'; +import { pageObjects } from '../page_objects'; +import { services } from '../services'; + +export default createTestConfig({ + serverlessProject: 'oblt', + services, + pageObjects, + testFiles: [require.resolve('./index.onboarding.ts')], + junit: { + reportName: 'Serverless Observability Onboarding Functional Tests', + }, + suiteTags: { exclude: ['skipSvlOblt'] }, + + // include settings from project controller + esServerArgs: [], + kbnServerArgs: [], + enableFleetDockerRegistry: false, +}); diff --git a/x-pack/solutions/observability/test/serverless/functional/configs/index.onboarding.ts b/x-pack/solutions/observability/test/serverless/functional/configs/index.onboarding.ts new file mode 100644 index 0000000000000..25ae7cc9c9782 --- /dev/null +++ b/x-pack/solutions/observability/test/serverless/functional/configs/index.onboarding.ts @@ -0,0 +1,16 @@ +/* + * 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 type { FtrProviderContext } from '../ftr_provider_context'; + +export default function ({ loadTestFile }: FtrProviderContext) { + describe('serverless observability UI - onboarding', function () { + this.tags(['esGate']); + + loadTestFile(require.resolve('../test_suites/onboarding')); + }); +} diff --git a/x-pack/solutions/observability/test/serverless/functional/configs/index.ts b/x-pack/solutions/observability/test/serverless/functional/configs/index.ts index d2c43c6e086ee..b4b3b994e8688 100644 --- a/x-pack/solutions/observability/test/serverless/functional/configs/index.ts +++ b/x-pack/solutions/observability/test/serverless/functional/configs/index.ts @@ -13,7 +13,6 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('../test_suites/navigation')); loadTestFile(require.resolve('../test_suites/dataset_quality')); - loadTestFile(require.resolve('../test_suites/onboarding')); loadTestFile(require.resolve('../test_suites/role_management')); loadTestFile(require.resolve('../test_suites/advanced_settings')); loadTestFile(require.resolve('../test_suites/privileges')); diff --git a/x-pack/solutions/security/test/serverless/api_integration/configs/config.ts b/x-pack/solutions/security/test/serverless/api_integration/configs/config.ts index fe279b0da3d29..74fdeebc1f14a 100644 --- a/x-pack/solutions/security/test/serverless/api_integration/configs/config.ts +++ b/x-pack/solutions/security/test/serverless/api_integration/configs/config.ts @@ -36,4 +36,5 @@ export default createTestConfig({ // Enables /internal/cloud_security_posture/graph API `--uiSettings.overrides.securitySolution:enableGraphVisualization=true`, ], + enableFleetDockerRegistry: false, }); diff --git a/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.agentless.ts b/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.agentless.ts index f6e940fed2f56..24ffe450f508c 100644 --- a/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.agentless.ts +++ b/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.agentless.ts @@ -42,4 +42,5 @@ export default createTestConfig({ ], // load tests in the index file testFiles: [require.resolve('../test_suites/ftr/cloud_security_posture/agentless')], + enableFleetDockerRegistry: false, }); diff --git a/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.basic.ts b/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.basic.ts index 28311f34b084a..f69156d33df47 100644 --- a/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.basic.ts +++ b/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.basic.ts @@ -27,4 +27,5 @@ export default createTestConfig({ ], // load tests in the index file testFiles: [require.resolve('../test_suites/ftr/cloud_security_posture')], + enableFleetDockerRegistry: false, }); diff --git a/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.cloud.ts b/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.cloud.ts index ea9d1942c028e..65d99f0098167 100644 --- a/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.cloud.ts +++ b/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.cloud.ts @@ -19,4 +19,5 @@ export default createTestConfig({ // load tests in the index file testFiles: [require.resolve('../test_suites/ftr/cloud_security_posture/cloud_tests')], + enableFleetDockerRegistry: false, }); diff --git a/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.complete.ts b/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.complete.ts index 63d1a87aaa950..8ebfbac859ddd 100644 --- a/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.complete.ts +++ b/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.complete.ts @@ -34,4 +34,5 @@ export default createTestConfig({ require.resolve('../test_suites/ftr/cloud_security_posture/graph_alerts_flyout'), require.resolve('../test_suites/ftr/cloud_security_posture/graph_events_flyout'), ], + enableFleetDockerRegistry: false, }); diff --git a/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.essentials.ts b/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.essentials.ts index 0f6eda1c54d34..b5e82fa08fa81 100644 --- a/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.essentials.ts +++ b/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.essentials.ts @@ -32,4 +32,5 @@ export default createTestConfig({ '../test_suites/ftr/cloud_security_posture/csp_integrations_form.essentials.ts' ), ], + enableFleetDockerRegistry: false, });