mirror of
https://github.com/elastic/kibana.git
synced 2025-06-28 11:05:39 -04:00
## Summary Part of https://github.com/elastic/kibana-team/issues/1503 This is a first step towards the relocation of all the Kibana tests. The `/test/` folder at the root, which is in itself a package (`@kbn/test-suites-src`), and contains a large number of tests and test plugins, is being relocated under `src/platform/test`. All the tests under this folder should be related to common platform features, and they should not have any dependency towards solution-specific components or features. <details > <summary>Updated relative paths</summary> ``` src/platform/test/analytics/plugins/analytics_ftr_helpers/jest.config.js:12 src/platform/test/analytics/plugins/analytics_ftr_helpers/package.json:10 src/platform/test/analytics/plugins/analytics_ftr_helpers/package.json:11 src/platform/test/analytics/plugins/analytics_ftr_helpers/tsconfig.json:11 src/platform/test/analytics/plugins/analytics_ftr_helpers/tsconfig.json:2 src/platform/test/analytics/plugins/analytics_plugin_a/package.json:10 src/platform/test/analytics/plugins/analytics_plugin_a/package.json:11 src/platform/test/analytics/plugins/analytics_plugin_a/tsconfig.json:10 src/platform/test/analytics/plugins/analytics_plugin_a/tsconfig.json:2 src/platform/test/api_integration/jest.config.js:12 src/platform/test/common/plugins/newsfeed/tsconfig.json:2 src/platform/test/common/plugins/otel_metrics/tsconfig.json:2 src/platform/test/functional/jest.config.js:12 src/platform/test/harden/child_process.js:13 src/platform/test/harden/lodash_template.js:13 src/platform/test/harden/prototype.js:10 src/platform/test/health_gateway/plugins/status/tsconfig.json:2 src/platform/test/interactive_setup_api_integration/plugins/test_endpoints/tsconfig.json:2 src/platform/test/interpreter_functional/plugins/kbn_tp_run_pipeline/package.json:11 src/platform/test/interpreter_functional/plugins/kbn_tp_run_pipeline/package.json:12 src/platform/test/interpreter_functional/plugins/kbn_tp_run_pipeline/tsconfig.json:11 src/platform/test/interpreter_functional/plugins/kbn_tp_run_pipeline/tsconfig.json:2 src/platform/test/node_roles_functional/plugins/core_plugin_initializer_context/package.json:11 src/platform/test/node_roles_functional/plugins/core_plugin_initializer_context/package.json:12 src/platform/test/node_roles_functional/plugins/core_plugin_initializer_context/tsconfig.json:2 src/platform/test/node_roles_functional/plugins/core_plugin_initializer_context/tsconfig.json:9 src/platform/test/package/Vagrantfile:2 src/platform/test/plugin_functional/README.md:40 src/platform/test/plugin_functional/plugins/app_link_test/package.json:11 src/platform/test/plugin_functional/plugins/app_link_test/package.json:12 src/platform/test/plugin_functional/plugins/app_link_test/tsconfig.json:10 src/platform/test/plugin_functional/plugins/app_link_test/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_app_status/package.json:11 src/platform/test/plugin_functional/plugins/core_app_status/package.json:12 src/platform/test/plugin_functional/plugins/core_app_status/tsconfig.json:10 src/platform/test/plugin_functional/plugins/core_app_status/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_dynamic_resolving_a/package.json:11 src/platform/test/plugin_functional/plugins/core_dynamic_resolving_a/package.json:12 src/platform/test/plugin_functional/plugins/core_dynamic_resolving_a/tsconfig.json:11 src/platform/test/plugin_functional/plugins/core_dynamic_resolving_a/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_dynamic_resolving_b/package.json:11 src/platform/test/plugin_functional/plugins/core_dynamic_resolving_b/package.json:12 src/platform/test/plugin_functional/plugins/core_dynamic_resolving_b/tsconfig.json:11 src/platform/test/plugin_functional/plugins/core_dynamic_resolving_b/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_history_block/package.json:11 src/platform/test/plugin_functional/plugins/core_history_block/package.json:12 src/platform/test/plugin_functional/plugins/core_history_block/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_history_block/tsconfig.json:6 src/platform/test/plugin_functional/plugins/core_http/package.json:11 src/platform/test/plugin_functional/plugins/core_http/package.json:12 src/platform/test/plugin_functional/plugins/core_http/tsconfig.json:11 src/platform/test/plugin_functional/plugins/core_http/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_plugin_a/package.json:11 src/platform/test/plugin_functional/plugins/core_plugin_a/package.json:12 src/platform/test/plugin_functional/plugins/core_plugin_a/tsconfig.json:11 src/platform/test/plugin_functional/plugins/core_plugin_a/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_plugin_appleave/package.json:11 src/platform/test/plugin_functional/plugins/core_plugin_appleave/package.json:12 src/platform/test/plugin_functional/plugins/core_plugin_appleave/tsconfig.json:10 src/platform/test/plugin_functional/plugins/core_plugin_appleave/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_plugin_b/package.json:11 src/platform/test/plugin_functional/plugins/core_plugin_b/package.json:12 src/platform/test/plugin_functional/plugins/core_plugin_b/tsconfig.json:11 src/platform/test/plugin_functional/plugins/core_plugin_b/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_plugin_chromeless/package.json:11 src/platform/test/plugin_functional/plugins/core_plugin_chromeless/package.json:12 src/platform/test/plugin_functional/plugins/core_plugin_chromeless/tsconfig.json:10 src/platform/test/plugin_functional/plugins/core_plugin_chromeless/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_plugin_deep_links/package.json:11 src/platform/test/plugin_functional/plugins/core_plugin_deep_links/package.json:12 src/platform/test/plugin_functional/plugins/core_plugin_deep_links/tsconfig.json:10 src/platform/test/plugin_functional/plugins/core_plugin_deep_links/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_plugin_deprecations/package.json:11 src/platform/test/plugin_functional/plugins/core_plugin_deprecations/package.json:12 src/platform/test/plugin_functional/plugins/core_plugin_deprecations/tsconfig.json:11 src/platform/test/plugin_functional/plugins/core_plugin_deprecations/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_plugin_execution_context/package.json:10 src/platform/test/plugin_functional/plugins/core_plugin_execution_context/package.json:11 src/platform/test/plugin_functional/plugins/core_plugin_execution_context/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_plugin_helpmenu/package.json:11 src/platform/test/plugin_functional/plugins/core_plugin_helpmenu/tsconfig.json:10 src/platform/test/plugin_functional/plugins/core_plugin_helpmenu/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_plugin_route_timeouts/package.json:11 src/platform/test/plugin_functional/plugins/core_plugin_route_timeouts/package.json:12 src/platform/test/plugin_functional/plugins/core_plugin_route_timeouts/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_plugin_route_timeouts/tsconfig.json:8 src/platform/test/plugin_functional/plugins/core_plugin_static_assets/package.json:11 src/platform/test/plugin_functional/plugins/core_plugin_static_assets/package.json:12 src/platform/test/plugin_functional/plugins/core_plugin_static_assets/tsconfig.json:10 src/platform/test/plugin_functional/plugins/core_plugin_static_assets/tsconfig.json:2 src/platform/test/plugin_functional/plugins/core_provider_plugin/package.json:11 src/platform/test/plugin_functional/plugins/core_provider_plugin/package.json:12 src/platform/test/plugin_functional/plugins/core_provider_plugin/tsconfig.json:10 src/platform/test/plugin_functional/plugins/core_provider_plugin/tsconfig.json:2 src/platform/test/plugin_functional/plugins/data_search/package.json:10 src/platform/test/plugin_functional/plugins/data_search/package.json:9 src/platform/test/plugin_functional/plugins/data_search/tsconfig.json:2 src/platform/test/plugin_functional/plugins/data_search/tsconfig.json:8 src/platform/test/plugin_functional/plugins/elasticsearch_client_plugin/package.json:10 src/platform/test/plugin_functional/plugins/elasticsearch_client_plugin/package.json:9 src/platform/test/plugin_functional/plugins/elasticsearch_client_plugin/tsconfig.json:2 src/platform/test/plugin_functional/plugins/elasticsearch_client_plugin/tsconfig.json:8 src/platform/test/plugin_functional/plugins/eui_provider_dev_warning/package.json:11 src/platform/test/plugin_functional/plugins/eui_provider_dev_warning/package.json:12 src/platform/test/plugin_functional/plugins/eui_provider_dev_warning/tsconfig.json:10 src/platform/test/plugin_functional/plugins/eui_provider_dev_warning/tsconfig.json:2 src/platform/test/plugin_functional/plugins/hardening/package.json:11 src/platform/test/plugin_functional/plugins/hardening/package.json:12 src/platform/test/plugin_functional/plugins/hardening/tsconfig.json:12 src/platform/test/plugin_functional/plugins/hardening/tsconfig.json:2 src/platform/test/plugin_functional/plugins/index_patterns/package.json:11 src/platform/test/plugin_functional/plugins/index_patterns/package.json:12 src/platform/test/plugin_functional/plugins/index_patterns/tsconfig.json:10 src/platform/test/plugin_functional/plugins/index_patterns/tsconfig.json:2 src/platform/test/plugin_functional/plugins/kbn_sample_panel_action/package.json:11 src/platform/test/plugin_functional/plugins/kbn_sample_panel_action/package.json:12 src/platform/test/plugin_functional/plugins/kbn_sample_panel_action/tsconfig.json:10 src/platform/test/plugin_functional/plugins/kbn_sample_panel_action/tsconfig.json:2 src/platform/test/plugin_functional/plugins/kbn_top_nav/package.json:11 src/platform/test/plugin_functional/plugins/kbn_top_nav/package.json:12 src/platform/test/plugin_functional/plugins/kbn_top_nav/tsconfig.json:11 src/platform/test/plugin_functional/plugins/kbn_top_nav/tsconfig.json:2 src/platform/test/plugin_functional/plugins/kbn_tp_custom_visualizations/package.json:11 src/platform/test/plugin_functional/plugins/kbn_tp_custom_visualizations/package.json:12 src/platform/test/plugin_functional/plugins/kbn_tp_custom_visualizations/tsconfig.json:10 src/platform/test/plugin_functional/plugins/kbn_tp_custom_visualizations/tsconfig.json:2 src/platform/test/plugin_functional/plugins/management_test_plugin/package.json:11 src/platform/test/plugin_functional/plugins/management_test_plugin/package.json:12 src/platform/test/plugin_functional/plugins/management_test_plugin/tsconfig.json:10 src/platform/test/plugin_functional/plugins/management_test_plugin/tsconfig.json:2 src/platform/test/plugin_functional/plugins/rendering_plugin/package.json:11 src/platform/test/plugin_functional/plugins/rendering_plugin/package.json:12 src/platform/test/plugin_functional/plugins/rendering_plugin/tsconfig.json:11 src/platform/test/plugin_functional/plugins/rendering_plugin/tsconfig.json:2 src/platform/test/plugin_functional/plugins/saved_object_export_transforms/package.json:11 src/platform/test/plugin_functional/plugins/saved_object_export_transforms/package.json:12 src/platform/test/plugin_functional/plugins/saved_object_export_transforms/tsconfig.json:2 src/platform/test/plugin_functional/plugins/saved_object_export_transforms/tsconfig.json:9 src/platform/test/plugin_functional/plugins/saved_object_import_warnings/package.json:11 src/platform/test/plugin_functional/plugins/saved_object_import_warnings/package.json:12 src/platform/test/plugin_functional/plugins/saved_object_import_warnings/tsconfig.json:11 src/platform/test/plugin_functional/plugins/saved_object_import_warnings/tsconfig.json:2 src/platform/test/plugin_functional/plugins/saved_objects_hidden_from_http_apis_type/package.json:11 src/platform/test/plugin_functional/plugins/saved_objects_hidden_from_http_apis_type/package.json:12 src/platform/test/plugin_functional/plugins/saved_objects_hidden_from_http_apis_type/tsconfig.json:2 src/platform/test/plugin_functional/plugins/saved_objects_hidden_from_http_apis_type/tsconfig.json:9 src/platform/test/plugin_functional/plugins/saved_objects_hidden_type/package.json:11 src/platform/test/plugin_functional/plugins/saved_objects_hidden_type/package.json:12 src/platform/test/plugin_functional/plugins/saved_objects_hidden_type/tsconfig.json:2 src/platform/test/plugin_functional/plugins/saved_objects_hidden_type/tsconfig.json:9 src/platform/test/plugin_functional/plugins/session_notifications/package.json:11 src/platform/test/plugin_functional/plugins/session_notifications/package.json:12 src/platform/test/plugin_functional/plugins/session_notifications/tsconfig.json:11 src/platform/test/plugin_functional/plugins/session_notifications/tsconfig.json:2 src/platform/test/plugin_functional/plugins/telemetry/package.json:11 src/platform/test/plugin_functional/plugins/telemetry/package.json:12 src/platform/test/plugin_functional/plugins/telemetry/tsconfig.json:2 src/platform/test/plugin_functional/plugins/telemetry/tsconfig.json:6 src/platform/test/plugin_functional/plugins/ui_settings_plugin/package.json:11 src/platform/test/plugin_functional/plugins/ui_settings_plugin/package.json:12 src/platform/test/plugin_functional/plugins/ui_settings_plugin/tsconfig.json:2 src/platform/test/plugin_functional/plugins/ui_settings_plugin/tsconfig.json:8 src/platform/test/plugin_functional/plugins/usage_collection/package.json:11 src/platform/test/plugin_functional/plugins/usage_collection/package.json:12 src/platform/test/plugin_functional/plugins/usage_collection/tsconfig.json:11 src/platform/test/plugin_functional/plugins/usage_collection/tsconfig.json:2 src/platform/test/server_integration/plugins/status_plugin_a/package.json:10 src/platform/test/server_integration/plugins/status_plugin_a/package.json:11 src/platform/test/server_integration/plugins/status_plugin_a/tsconfig.json:2 src/platform/test/server_integration/plugins/status_plugin_a/tsconfig.json:9 src/platform/test/server_integration/plugins/status_plugin_b/package.json:10 src/platform/test/server_integration/plugins/status_plugin_b/package.json:11 src/platform/test/server_integration/plugins/status_plugin_b/tsconfig.json:2 src/platform/test/server_integration/plugins/status_plugin_b/tsconfig.json:9 ``` </details> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
89 lines
3.3 KiB
TypeScript
89 lines
3.3 KiB
TypeScript
/*
|
|
* 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 path from 'path';
|
|
|
|
import { REPO_ROOT } from '@kbn/repo-info';
|
|
import { ScoutTestRunConfigCategory } from '@kbn/scout-info';
|
|
import type { FtrConfigProviderContext } from '@kbn/test';
|
|
|
|
import { services } from './services';
|
|
|
|
interface CreateTestConfigOptions {
|
|
license: string;
|
|
disabledPlugins?: string[];
|
|
testFiles?: string[];
|
|
}
|
|
|
|
export function createTestConfig(name: string, options: CreateTestConfigOptions) {
|
|
const { license, disabledPlugins = [], testFiles } = options;
|
|
|
|
return async ({ readConfigFile }: FtrConfigProviderContext) => {
|
|
const config = {
|
|
kibana: {
|
|
api: await readConfigFile(
|
|
path.resolve(REPO_ROOT, 'src/platform/test/api_integration/config.js')
|
|
),
|
|
functional: await readConfigFile(
|
|
require.resolve('@kbn/test-suites-src/functional/config.base')
|
|
),
|
|
},
|
|
xpack: {
|
|
api: await readConfigFile(require.resolve('../../api_integration/config.ts')),
|
|
},
|
|
};
|
|
|
|
return {
|
|
testConfigCategory: ScoutTestRunConfigCategory.API_TEST,
|
|
testFiles: testFiles ?? [require.resolve(`../${name}/apis/`)],
|
|
servers: config.xpack.api.get('servers'),
|
|
services: {
|
|
es: config.kibana.api.get('services.es'),
|
|
esSupertestWithoutAuth: config.xpack.api.get('services.esSupertestWithoutAuth'),
|
|
supertest: config.kibana.api.get('services.supertest'),
|
|
supertestWithoutAuth: config.xpack.api.get('services.supertestWithoutAuth'),
|
|
retry: config.xpack.api.get('services.retry'),
|
|
esArchiver: config.kibana.functional.get('services.esArchiver'),
|
|
kibanaServer: config.kibana.functional.get('services.kibanaServer'),
|
|
spaces: config.xpack.api.get('services.spaces'),
|
|
usageAPI: config.xpack.api.get('services.usageAPI'),
|
|
roleScopedSupertest: services.roleScopedSupertest,
|
|
samlAuth: () => {},
|
|
},
|
|
junit: {
|
|
reportName: 'X-Pack Spaces API Integration Tests -- ' + name,
|
|
},
|
|
|
|
esTestCluster: {
|
|
...config.xpack.api.get('esTestCluster'),
|
|
license,
|
|
serverArgs: [
|
|
`xpack.license.self_generated.type=${license}`,
|
|
`xpack.security.enabled=${!disabledPlugins.includes('security')}`,
|
|
],
|
|
},
|
|
|
|
kbnTestServer: {
|
|
...config.xpack.api.get('kbnTestServer'),
|
|
serverArgs: [
|
|
...config.xpack.api.get('kbnTestServer.serverArgs'),
|
|
// disable anonymouse access so that we're testing both on and off in different suites
|
|
'--status.allowAnonymous=false',
|
|
'--server.xsrf.disableProtection=true',
|
|
`--plugin-path=${path.resolve(__dirname, 'plugins/spaces_test_plugin')}`,
|
|
...disabledPlugins
|
|
.filter((k) => k !== 'security')
|
|
.map((key) => `--xpack.${key}.enabled=false`),
|
|
// Note: we fake a cloud deployment as the solution view is only available in cloud
|
|
'--xpack.cloud.id=ftr_fake_cloud_id:aGVsbG8uY29tOjQ0MyRFUzEyM2FiYyRrYm4xMjNhYmM=',
|
|
'--xpack.cloud.base_url=https://cloud.elastic.co',
|
|
'--xpack.cloud.deployment_url=/deployments/deploymentId',
|
|
],
|
|
},
|
|
};
|
|
};
|
|
}
|