diff --git a/.buildkite/ftr_oblt_serverless_configs.yml b/.buildkite/ftr_oblt_serverless_configs.yml index f490cdad5182d..424f230461037 100644 --- a/.buildkite/ftr_oblt_serverless_configs.yml +++ b/.buildkite/ftr_oblt_serverless_configs.yml @@ -4,6 +4,7 @@ disabled: - x-pack/solutions/observability/test/serverless/api_integration/configs/config.ts - x-pack/solutions/observability/test/serverless/api_integration/configs/configs.logs_essentials.ts - x-pack/solutions/observability/test/serverless/api_integration/test_suites/fleet/config.ts + - x-pack/solutions/observability/test/serverless/functional/configs/config.onboarding.ts - x-pack/solutions/observability/test/serverless/functional/configs/config.feature_flags.ts - x-pack/solutions/observability/test/serverless/functional/configs/config.log_essentials.ts - x-pack/solutions/observability/test/serverless/functional/configs/config.screenshots.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 3eb8434b97673..5090d3d5345ad 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 { FtrConfigProviderContext } from '@kbn/test'; +import { dockerRegistryPort, type FtrConfigProviderContext } from '@kbn/test'; import { ScoutTestRunConfigCategory } from '@kbn/scout-info'; import { services } from './services'; @@ -13,6 +13,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(), @@ -22,6 +24,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: [ @@ -36,6 +42,9 @@ export function createTestConfig(options: CreateTestConfigOptions) { ...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/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 20247a4e3ac61..de5b34d6a8bcf 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 { 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'; @@ -18,9 +18,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, services: { ...services, ...options.services }, @@ -45,6 +51,9 @@ export function createTestConfig( ? ['--xpack.security.roleManagementEnabled=true'] : []), ...(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 85d2adc222c2f..46caf9b11cac4 100644 --- a/x-pack/platform/test/serverless/shared/types/index.ts +++ b/x-pack/platform/test/serverless/shared/types/index.ts @@ -42,4 +42,5 @@ export interface CreateTestConfigOptions< services?: TServices; pageObjects?: TPageObjects; apps?: Record; + 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 13b9d1fce7c3e..c90de9975be0a 100644 --- a/x-pack/solutions/observability/test/serverless/functional/configs/index.ts +++ b/x-pack/solutions/observability/test/serverless/functional/configs/index.ts @@ -16,7 +16,6 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('../test_suites/discover/context_awareness')); loadTestFile(require.resolve('../test_suites/discover/logs')); loadTestFile(require.resolve('../test_suites/discover/embeddables')); - loadTestFile(require.resolve('../test_suites/onboarding')); loadTestFile(require.resolve('../test_suites/rules/rules_list')); loadTestFile(require.resolve('../test_suites/rules/custom_threshold_consumer')); loadTestFile(require.resolve('../test_suites/rules/es_query_consumer')); 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 6f4b0f8e32342..d4a54a3a79f08 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 @@ -37,4 +37,5 @@ export default createTestConfig({ `--uiSettings.overrides.securitySolution:enableGraphVisualization=true`, `--xpack.securitySolutionServerless.usageApi.url=http://localhost:8081`, ], + 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 8eadc5cf8ca40..1b9f829068847 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 @@ -28,4 +28,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.essentials.ts b/x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.essentials.ts index 4df4bf650555a..f5bc816abe2c5 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, });