Skip to content

[9.0] [Security Solution] Remove duplicated services used in integration tests (#235221)#237108

Merged
nikitaindik merged 4 commits intoelastic:9.0from
nikitaindik:backport/9.0/pr-235221
Oct 10, 2025
Merged

[9.0] [Security Solution] Remove duplicated services used in integration tests (#235221)#237108
nikitaindik merged 4 commits intoelastic:9.0from
nikitaindik:backport/9.0/pr-235221

Conversation

@nikitaindik
Copy link
Copy Markdown
Contributor

Backport

This will backport the following commits from main to 9.0:

Questions ?

Please refer to the Backport tool documentation

@nikitaindik nikitaindik added the backport This PR is a backport of another PR label Oct 1, 2025
@nikitaindik nikitaindik enabled auto-merge (squash) October 1, 2025 11:40
@banderror banderror requested a review from maximpn October 2, 2025 11:29
Comment on lines +23 to +25
function getRouteUrlForSpace(routeUrl: string, spaceId?: string): string {
return spaceId ? `/s/${spaceId}${routeUrl}` : routeUrl;
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It shouldn't be too difficult to add getRouteUrlForSpace to @kbn/spaces-plugin/common as it's done in main. By doing that we make sure there is less difference with main and less potential conflicts as a result.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed, it turned out to be a good solution. Contrary to what I said before, the package is there in 9.0.

@nikitaindik nikitaindik force-pushed the backport/9.0/pr-235221 branch from b7dea3c to 3e358f3 Compare October 6, 2025 12:38
@nikitaindik nikitaindik self-assigned this Oct 6, 2025
@elasticmachine
Copy link
Copy Markdown
Contributor

💚 Build Succeeded

Metrics [docs]

✅ unchanged

History

cc @nikitaindik

…sts (elastic#235221)

**Partially addresses: elastic#234642

## Summary
Recent Sustainable Kibana Architecture PR
elastic#231416 introduced duplicate
copies of SuperTest services used in Security Solution API integration
tests.
This PR removes those duplicates by extracting the services into a
`@kbn/security-solution-test-api-clients` package, making them reusable
across the Security Solution codebase.

The duplicated services were previously located in:
- `x-pack/solutions/security/test/api_integration/services/`
-
`x-pack/solutions/security/test/security_solution_api_integration/config/services/`
- `x-pack/solutions/security/test/functional/services/`

## Changes
- Extracted services into a new
`@kbn/security-solution-test-api-clients` package
- Updated `yarn openapi:generate` scripts to output generated files into
the new package.
- Split Security Solution API client (`security_solution_api.gen.ts`)
into 4 domain-specific clients, each owned by its respective team.
- Removed redundant `security_solution` prefix from API client
filenames. For example `security_solution_osquery_api.gen.ts‎` was
renamed `osquery_api.gen.ts‎`.

Most of the changes are file moves or variable renames.

⚠️ Note: Removal of duplicated D&R utilities mentioned in the issue will
be handled in a follow-up PR to keep this one focused and manageable.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
(cherry picked from commit 6a69d0e)

# Conflicts:
#	src/platform/packages/shared/kbn-openapi-generator/src/template_service/templates/api_client_supertest.handlebars
#	x-pack/platform/plugins/shared/osquery/scripts/openapi/generate.js
#	x-pack/solutions/security/packages/kbn-securitysolution-endpoint-exceptions-common/scripts/openapi_generate.js
#	x-pack/solutions/security/packages/kbn-securitysolution-exceptions-common/scripts/openapi_generate.js
#	x-pack/solutions/security/packages/kbn-securitysolution-lists-common/scripts/openapi_generate.js
#	x-pack/solutions/security/packages/test-api-clients/supertest/endpoint_exceptions.gen.ts
#	x-pack/solutions/security/packages/test-api-clients/supertest/exceptions.gen.ts
#	x-pack/solutions/security/packages/test-api-clients/supertest/lists.gen.ts
#	x-pack/solutions/security/packages/test-api-clients/supertest/osquery.gen.ts
#	x-pack/solutions/security/plugins/security_solution/scripts/openapi/generate.js
#	x-pack/solutions/security/test/api_integration/services/index.ts
#	x-pack/solutions/security/test/api_integration/services/security_solution_endpoint_exceptions_api.gen.ts
#	x-pack/solutions/security/test/api_integration/services/security_solution_exceptions_api.gen.ts
#	x-pack/solutions/security/test/api_integration/services/security_solution_lists_api.gen.ts
#	x-pack/solutions/security/test/api_integration/services/security_solution_osquery_api.gen.ts
#	x-pack/solutions/security/test/security_solution_api_integration/config/ess/services.ts
#	x-pack/solutions/security/test/security_solution_api_integration/config/ess/services_edr_workflows.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/detections_response/detection_engine/rule_execution_logic/frozen_indices_handling/trial_license_complete_tier/frozen_indices_handling.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/detections_response/rules_management/prebuilt_rules/common/revert_prebuilt_rules/get_prebuilt_rule_base_version.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/detections_response/rules_management/prebuilt_rules/common/revert_prebuilt_rules/revert_prebuilt_rules.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_bulk_actions/trial_license_complete_tier/perform_bulk_action_suppression.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/entity_analytics/entity_store/trial_license_complete_tier/upsert_crud_api.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/entity_analytics/monitoring/trial_license_complete_tier/engine.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/entity_analytics/monitoring/trial_license_complete_tier/privileged_access_detection/pad_installation.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/entity_analytics/monitoring/trial_license_complete_tier/privileged_users/api.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/entity_analytics/monitoring/trial_license_complete_tier/privileged_users/cross_source_sync.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/entity_analytics/monitoring/trial_license_complete_tier/privileged_users/migrations.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/entity_analytics/monitoring/trial_license_complete_tier/privileged_users/task.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/entity_analytics/monitoring/trial_license_complete_tier/search_indices.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/entity_analytics/monitoring/trial_license_complete_tier/utils/plain_index_sync_utils.ts
#	x-pack/solutions/security/test/security_solution_api_integration/test_suites/entity_analytics/monitoring/trial_license_complete_tier/utils/privmon_utils.ts
#	x-pack/solutions/security/test/serverless/functional/services/index.ts
#	x-pack/solutions/security/test/serverless/functional/test_suites/ftr/discover/context_awareness/index.ts
#	x-pack/solutions/security/test/tsconfig.json
#	x-pack/test/api_integration/services/security_solution_api.gen.ts
#	x-pack/test/api_integration/services/security_solution_endpoint_exceptions_api.gen.ts
#	x-pack/test/api_integration/services/security_solution_exceptions_api.gen.ts
#	x-pack/test/api_integration/services/security_solution_lists_api.gen.ts
#	x-pack/test/api_integration/services/security_solution_osquery_api.gen.ts
#	x-pack/test/cloud_security_posture_functional/services/index.ts
#	x-pack/test/security_solution_api_integration/config/serverless/services.ts
#	x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_bulk_actions/trial_license_complete_tier/perform_bulk_action.ts
#	x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_bulk_actions/trial_license_complete_tier/perform_bulk_action_dry_run.ts
#	x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_bulk_actions/trial_license_complete_tier/perform_bulk_action_ess.ts
#	x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_creation/trial_license_complete_tier/create_rules.ts
#	x-pack/test/security_solution_api_integration/test_suites/siem_migrations/rules/trial_license_complete_tier/install.ts
#	x-pack/test/security_solution_api_integration/tsconfig.json
@nikitaindik nikitaindik force-pushed the backport/9.0/pr-235221 branch from 3e358f3 to 3d45d60 Compare October 9, 2025 08:46
@nikitaindik nikitaindik requested a review from maximpn October 10, 2025 07:55
Copy link
Copy Markdown
Contributor

@maximpn maximpn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nikitaindik Thanks for addressing my comments 🙏

@nikitaindik nikitaindik merged commit 5594b8e into elastic:9.0 Oct 10, 2025
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport This PR is a backport of another PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants