[scout] migrate FTR logstash api tests#262953
Conversation
steliosmavro
left a comment
There was a problem hiding this comment.
LGTM overall, left a small nit 🚀
| apiTest.beforeAll(async ({ requestAuth, apiClient }) => { | ||
| credentials = await requestAuth.getApiKeyForCustomRole(testData.LOGSTASH_MANAGER_ROLE); | ||
|
|
||
| for (const id of [testData.PIPELINE_IDS.BULK_DELETE_1, testData.PIPELINE_IDS.BULK_DELETE_2]) { | ||
| await apiClient.put(testData.API_PATHS.PIPELINE(id), { | ||
| headers: { ...testData.COMMON_HEADERS, ...credentials.apiKeyHeader }, | ||
| body: { description: 'pipeline for bulk-delete test', pipeline: '# empty' }, | ||
| responseType: 'json', | ||
| }); | ||
| } | ||
| }); | ||
|
|
||
| apiTest.afterAll(async ({ apiClient }) => { | ||
| // Guard: if beforeAll threw before credentials was assigned, there is nothing to clean up | ||
| if (!credentials) return; | ||
| for (const id of [testData.PIPELINE_IDS.BULK_DELETE_1, testData.PIPELINE_IDS.BULK_DELETE_2]) { | ||
| await apiClient | ||
| .delete(testData.API_PATHS.PIPELINE(id), { | ||
| headers: { ...testData.COMMON_HEADERS, ...credentials.apiKeyHeader }, | ||
| }) | ||
| .catch(() => {}); | ||
| } | ||
| }); |
There was a problem hiding this comment.
Shouldn't we use apiServices or esClient (when apiServices doesn't have a suitable helper) inside the setup/teardown hooks?
Catch flakiness early (recommended)Recommended before merge: run the flaky test runner against this PR to catch flakiness early. Trigger a run with the Flaky Test Runner UI or post this comment on the PR: Posted via Macroscope — Flaky Test Runner nudge |
|
/flaky scoutConfig:x-pack/platform/plugins/private/logstash/test/scout/api/playwright.config.ts:30 |
Flaky Test Runner✅ Build triggered - kibana-flaky-test-suite-runner#11652
|
Flaky Test Runner Stats🎉 All tests passed! - kibana-flaky-test-suite-runner#11652[✅] x-pack/platform/plugins/private/logstash/test/scout/api/playwright.config.ts: 30/30 tests passed. |
mashhurs
left a comment
There was a problem hiding this comment.
LGTM!
Honestly nor much experience on Kibana dev, especially on scout.
But this change is better than before that doesn't map 1:1 test cases but also improves considering 404 response or cluster role aligns with docs. Thank you alot.
It is not related to this but I figured out that we don't have test cases to validate worker, batch size, queue type, etc... I will follow up on this.
| }); | ||
|
|
||
| for (let i = 1; i <= 21; i++) { | ||
| await esClient.logstash.putPipeline({ |
There was a problem hiding this comment.
nit: maybe I am a fan of promise that Promise.all and Promise.allSettled look good use case here.
There was a problem hiding this comment.
I changed it to use existing helper 3d85880
|
|
||
| /** Minimum ES privileges required to call GET /api/logstash/cluster (proxies ES info()) */ | ||
| export const LOGSTASH_CLUSTER_ROLE: ElasticsearchRoleDescriptor = { | ||
| cluster: ['monitor'], |
There was a problem hiding this comment.
This is a great change actually that aligns with the docs! Thank you.
|
/flaky scoutConfig:x-pack/platform/plugins/private/logstash/test/scout/api/playwright.config.ts:30 |
|
Starting backport for target branches: 8.19, 9.2, 9.3, 9.4 https://github.com/elastic/kibana/actions/runs/24603229001 |
## Summary Closes elastic/appex-qa-team#851 Logstash API tests migrated from FTR → Scout Source: `x-pack/platform/test/api_integration/apis/logstash/` (5 test files, now deleted) Target: `x-pack/platform/plugins/private/logstash/test/scout/api/` New spec files: File | Covers -- | -- cluster.spec.ts | GET /api/logstash/cluster pipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id} pipelines_delete.spec.ts | POST /api/logstash/pipelines/delete pipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR — now unskipped) - No esArchiver — `.logstash` is a restricted system index; bulk indexing is blocked even for superuser. Pipelines are seeded via `esClient.logstash.putPipeline` in `beforeAll` per spec instead - Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines) for pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster endpoint (FTR used superuser for everything) - Stateful only — no serverless Logstash tests exist or were added - Coverage improvements — added 404 assertion for non-existing pipeline GET; explicit numSuccesses/numErrors check on bulk delete; sort-order assertion on pipeline list --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> (cherry picked from commit 4720f96)
# Backport This will backport the following commits from `main` to `9.4`: - [scout] migrate FTR logstash api tests (#262953) (4720f96) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Dzmitry Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2026-04-18T10:59:59Z","message":"[scout] migrate FTR logstash api tests (#262953)\n\n## Summary\n\nCloses https://github.com/elastic/appex-qa-team/issues/851\n\nLogstash API tests migrated from FTR → Scout\n\nSource: `x-pack/platform/test/api_integration/apis/logstash/` (5 test\nfiles, now deleted)\nTarget: `x-pack/platform/plugins/private/logstash/test/scout/api/`\n\nNew spec files:\n\n\nFile | Covers\n-- | --\ncluster.spec.ts | GET /api/logstash/cluster\npipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id}\npipelines_delete.spec.ts | POST /api/logstash/pipelines/delete\npipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR\n— now unskipped)\n\n- No esArchiver — `.logstash` is a restricted system index; bulk\nindexing is blocked even for superuser. Pipelines are seeded via\n`esClient.logstash.putPipeline` in `beforeAll` per spec instead\n- Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines)\nfor pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster\nendpoint (FTR used superuser for everything)\n- Stateful only — no serverless Logstash tests exist or were added\n- Coverage improvements — added 404 assertion for non-existing pipeline\nGET; explicit numSuccesses/numErrors check on bulk delete; sort-order\nassertion on pipeline list\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"4720f964d72ec70a6a13345dd656949dc0613400"},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[]}] BACKPORT--> Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
* main: (114 commits) Fix observability_ai_assistant_tool_call EBT error when connector is an inference endpoint (elastic#263334) init on install (elastic#263732) [One Workflow] fail-fast TaskRecovery for interrupted runs (elastic#261275) [Entity Store] Reset state error after successful task run (elastic#263087) [api-docs] 2026-04-19 Daily api_docs build (elastic#264280) [UII] Fix integration card row height calculation (elastic#264212) [scout] migrate FTR logstash api tests (elastic#262953) [StorageIndexAdapter] Set auto_expand_replicas to fix yellow health on single-node ES clusters (elastic#263096) [api-docs] 2026-04-18 Daily api_docs build (elastic#264260) [Scout] Update test config manifests (elastic#264257) [Security Solution][Detection Engine] enables AI rule creation feature flag (elastic#264036) [dashboards as code] only validate id on PUT route when creating new dashboard (elastic#264161) chore(NA): bump version to 9.5.0 (elastic#262165) skip failing test suite (elastic#263649) skip failing test suite (elastic#264236) [Discover] Convert remaining Enzyme tests to RTL (elastic#259676) auto-implement: Labels in model endpoints table of the model details flyout look misaligned (elastic#263770) [ci] Promote ES docker image after verification (elastic#263890) [Observability:Onboarding] Remove suppress global announcements that was breaking ensemble tests (elastic#264169) [Cases][AttachmentV2] Migrate persistable state part 2 - ML and AIOps charts (elastic#262597) ...
|
Starting backport for target branches: 8.19, 9.2, 9.3, 9.4 https://github.com/elastic/kibana/actions/runs/24656365580 |
|
Starting backport for target branches: 8.19, 9.2, 9.3, 9.4 https://github.com/elastic/kibana/actions/runs/24656365684 |
💔 All backports failed
Manual backportTo create the backport manually run: Questions ?Please refer to the Backport tool documentation |
💔 All backports failed
Manual backportTo create the backport manually run: Questions ?Please refer to the Backport tool documentation |
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
## Summary Closes elastic/appex-qa-team#851 Logstash API tests migrated from FTR → Scout Source: `x-pack/platform/test/api_integration/apis/logstash/` (5 test files, now deleted) Target: `x-pack/platform/plugins/private/logstash/test/scout/api/` New spec files: File | Covers -- | -- cluster.spec.ts | GET /api/logstash/cluster pipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id} pipelines_delete.spec.ts | POST /api/logstash/pipelines/delete pipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR — now unskipped) - No esArchiver — `.logstash` is a restricted system index; bulk indexing is blocked even for superuser. Pipelines are seeded via `esClient.logstash.putPipeline` in `beforeAll` per spec instead - Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines) for pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster endpoint (FTR used superuser for everything) - Stateful only — no serverless Logstash tests exist or were added - Coverage improvements — added 404 assertion for non-existing pipeline GET; explicit numSuccesses/numErrors check on bulk delete; sort-order assertion on pipeline list --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> (cherry picked from commit 4720f96) # Conflicts: # x-pack/platform/plugins/private/logstash/test/scout/api/playwright.config.ts # x-pack/platform/plugins/shared/index_management/public/application/store/selectors/index.d.ts # x-pack/platform/test/api_integration/apis/logstash/cluster/index.ts
## Summary Closes elastic/appex-qa-team#851 Logstash API tests migrated from FTR → Scout Source: `x-pack/platform/test/api_integration/apis/logstash/` (5 test files, now deleted) Target: `x-pack/platform/plugins/private/logstash/test/scout/api/` New spec files: File | Covers -- | -- cluster.spec.ts | GET /api/logstash/cluster pipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id} pipelines_delete.spec.ts | POST /api/logstash/pipelines/delete pipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR — now unskipped) - No esArchiver — `.logstash` is a restricted system index; bulk indexing is blocked even for superuser. Pipelines are seeded via `esClient.logstash.putPipeline` in `beforeAll` per spec instead - Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines) for pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster endpoint (FTR used superuser for everything) - Stateful only — no serverless Logstash tests exist or were added - Coverage improvements — added 404 assertion for non-existing pipeline GET; explicit numSuccesses/numErrors check on bulk delete; sort-order assertion on pipeline list --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> (cherry picked from commit 4720f96) # Conflicts: # .buildkite/scout_ci_config.yml # x-pack/platform/plugins/private/logstash/moon.yml # x-pack/platform/plugins/private/logstash/tsconfig.json
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
## Summary Closes elastic/appex-qa-team#851 Logstash API tests migrated from FTR → Scout Source: `x-pack/platform/test/api_integration/apis/logstash/` (5 test files, now deleted) Target: `x-pack/platform/plugins/private/logstash/test/scout/api/` New spec files: File | Covers -- | -- cluster.spec.ts | GET /api/logstash/cluster pipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id} pipelines_delete.spec.ts | POST /api/logstash/pipelines/delete pipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR — now unskipped) - No esArchiver — `.logstash` is a restricted system index; bulk indexing is blocked even for superuser. Pipelines are seeded via `esClient.logstash.putPipeline` in `beforeAll` per spec instead - Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines) for pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster endpoint (FTR used superuser for everything) - Stateful only — no serverless Logstash tests exist or were added - Coverage improvements — added 404 assertion for non-existing pipeline GET; explicit numSuccesses/numErrors check on bulk delete; sort-order assertion on pipeline list --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> (cherry picked from commit 4720f96) # Conflicts: # .buildkite/scout_ci_config.yml # x-pack/platform/plugins/private/logstash/moon.yml # x-pack/platform/plugins/private/logstash/tsconfig.json
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
# Backport This will backport the following commits from `main` to `9.2`: - [[scout] migrate FTR logstash api tests (#262953)](#262953) <!--- Backport version: 11.0.1 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Dzmitry Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2026-04-18T10:59:59Z","message":"[scout] migrate FTR logstash api tests (#262953)\n\n## Summary\n\nCloses https://github.com/elastic/appex-qa-team/issues/851\n\nLogstash API tests migrated from FTR → Scout\n\nSource: `x-pack/platform/test/api_integration/apis/logstash/` (5 test\nfiles, now deleted)\nTarget: `x-pack/platform/plugins/private/logstash/test/scout/api/`\n\nNew spec files:\n\n\nFile | Covers\n-- | --\ncluster.spec.ts | GET /api/logstash/cluster\npipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id}\npipelines_delete.spec.ts | POST /api/logstash/pipelines/delete\npipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR\n— now unskipped)\n\n- No esArchiver — `.logstash` is a restricted system index; bulk\nindexing is blocked even for superuser. Pipelines are seeded via\n`esClient.logstash.putPipeline` in `beforeAll` per spec instead\n- Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines)\nfor pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster\nendpoint (FTR used superuser for everything)\n- Stateful only — no serverless Logstash tests exist or were added\n- Coverage improvements — added 404 assertion for non-existing pipeline\nGET; explicit numSuccesses/numErrors check on bulk delete; sort-order\nassertion on pipeline list\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"4720f964d72ec70a6a13345dd656949dc0613400","branchLabelMapping":{"^v9.5.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:all-open","v9.5.0"],"title":"[scout] migrate FTR logstash api tests","number":262953,"url":"https://github.com/elastic/kibana/pull/262953","mergeCommit":{"message":"[scout] migrate FTR logstash api tests (#262953)\n\n## Summary\n\nCloses https://github.com/elastic/appex-qa-team/issues/851\n\nLogstash API tests migrated from FTR → Scout\n\nSource: `x-pack/platform/test/api_integration/apis/logstash/` (5 test\nfiles, now deleted)\nTarget: `x-pack/platform/plugins/private/logstash/test/scout/api/`\n\nNew spec files:\n\n\nFile | Covers\n-- | --\ncluster.spec.ts | GET /api/logstash/cluster\npipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id}\npipelines_delete.spec.ts | POST /api/logstash/pipelines/delete\npipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR\n— now unskipped)\n\n- No esArchiver — `.logstash` is a restricted system index; bulk\nindexing is blocked even for superuser. Pipelines are seeded via\n`esClient.logstash.putPipeline` in `beforeAll` per spec instead\n- Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines)\nfor pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster\nendpoint (FTR used superuser for everything)\n- Stateful only — no serverless Logstash tests exist or were added\n- Coverage improvements — added 404 assertion for non-existing pipeline\nGET; explicit numSuccesses/numErrors check on bulk delete; sort-order\nassertion on pipeline list\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"4720f964d72ec70a6a13345dd656949dc0613400"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.5.0","branchLabelMappingKey":"^v9.5.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/262953","number":262953,"mergeCommit":{"message":"[scout] migrate FTR logstash api tests (#262953)\n\n## Summary\n\nCloses https://github.com/elastic/appex-qa-team/issues/851\n\nLogstash API tests migrated from FTR → Scout\n\nSource: `x-pack/platform/test/api_integration/apis/logstash/` (5 test\nfiles, now deleted)\nTarget: `x-pack/platform/plugins/private/logstash/test/scout/api/`\n\nNew spec files:\n\n\nFile | Covers\n-- | --\ncluster.spec.ts | GET /api/logstash/cluster\npipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id}\npipelines_delete.spec.ts | POST /api/logstash/pipelines/delete\npipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR\n— now unskipped)\n\n- No esArchiver — `.logstash` is a restricted system index; bulk\nindexing is blocked even for superuser. Pipelines are seeded via\n`esClient.logstash.putPipeline` in `beforeAll` per spec instead\n- Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines)\nfor pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster\nendpoint (FTR used superuser for everything)\n- Stateful only — no serverless Logstash tests exist or were added\n- Coverage improvements — added 404 assertion for non-existing pipeline\nGET; explicit numSuccesses/numErrors check on bulk delete; sort-order\nassertion on pipeline list\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"4720f964d72ec70a6a13345dd656949dc0613400"}},{"url":"https://github.com/elastic/kibana/pull/264265","number":264265,"branch":"9.4","state":"MERGED","mergeCommit":{"sha":"d3629c41337d5a523f769a50c995cb9bb8cbd8a2","message":"[9.4] [scout] migrate FTR logstash api tests (#262953) (#264265)\n\n# Backport\n\nThis will backport the following commits from `main` to `9.4`:\n - [scout] migrate FTR logstash api tests (#262953) (4720f96)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>"}},{"url":"https://github.com/elastic/kibana/pull/264361","number":264361,"branch":"9.3","state":"OPEN"}]}] BACKPORT-->
# Backport This will backport the following commits from `main` to `9.3`: - [[scout] migrate FTR logstash api tests (#262953)](#262953) <!--- Backport version: 11.0.1 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Dzmitry Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2026-04-18T10:59:59Z","message":"[scout] migrate FTR logstash api tests (#262953)\n\n## Summary\n\nCloses https://github.com/elastic/appex-qa-team/issues/851\n\nLogstash API tests migrated from FTR → Scout\n\nSource: `x-pack/platform/test/api_integration/apis/logstash/` (5 test\nfiles, now deleted)\nTarget: `x-pack/platform/plugins/private/logstash/test/scout/api/`\n\nNew spec files:\n\n\nFile | Covers\n-- | --\ncluster.spec.ts | GET /api/logstash/cluster\npipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id}\npipelines_delete.spec.ts | POST /api/logstash/pipelines/delete\npipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR\n— now unskipped)\n\n- No esArchiver — `.logstash` is a restricted system index; bulk\nindexing is blocked even for superuser. Pipelines are seeded via\n`esClient.logstash.putPipeline` in `beforeAll` per spec instead\n- Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines)\nfor pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster\nendpoint (FTR used superuser for everything)\n- Stateful only — no serverless Logstash tests exist or were added\n- Coverage improvements — added 404 assertion for non-existing pipeline\nGET; explicit numSuccesses/numErrors check on bulk delete; sort-order\nassertion on pipeline list\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"4720f964d72ec70a6a13345dd656949dc0613400","branchLabelMapping":{"^v9.5.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:all-open","v9.5.0"],"title":"[scout] migrate FTR logstash api tests","number":262953,"url":"https://github.com/elastic/kibana/pull/262953","mergeCommit":{"message":"[scout] migrate FTR logstash api tests (#262953)\n\n## Summary\n\nCloses https://github.com/elastic/appex-qa-team/issues/851\n\nLogstash API tests migrated from FTR → Scout\n\nSource: `x-pack/platform/test/api_integration/apis/logstash/` (5 test\nfiles, now deleted)\nTarget: `x-pack/platform/plugins/private/logstash/test/scout/api/`\n\nNew spec files:\n\n\nFile | Covers\n-- | --\ncluster.spec.ts | GET /api/logstash/cluster\npipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id}\npipelines_delete.spec.ts | POST /api/logstash/pipelines/delete\npipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR\n— now unskipped)\n\n- No esArchiver — `.logstash` is a restricted system index; bulk\nindexing is blocked even for superuser. Pipelines are seeded via\n`esClient.logstash.putPipeline` in `beforeAll` per spec instead\n- Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines)\nfor pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster\nendpoint (FTR used superuser for everything)\n- Stateful only — no serverless Logstash tests exist or were added\n- Coverage improvements — added 404 assertion for non-existing pipeline\nGET; explicit numSuccesses/numErrors check on bulk delete; sort-order\nassertion on pipeline list\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"4720f964d72ec70a6a13345dd656949dc0613400"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.5.0","branchLabelMappingKey":"^v9.5.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/262953","number":262953,"mergeCommit":{"message":"[scout] migrate FTR logstash api tests (#262953)\n\n## Summary\n\nCloses https://github.com/elastic/appex-qa-team/issues/851\n\nLogstash API tests migrated from FTR → Scout\n\nSource: `x-pack/platform/test/api_integration/apis/logstash/` (5 test\nfiles, now deleted)\nTarget: `x-pack/platform/plugins/private/logstash/test/scout/api/`\n\nNew spec files:\n\n\nFile | Covers\n-- | --\ncluster.spec.ts | GET /api/logstash/cluster\npipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id}\npipelines_delete.spec.ts | POST /api/logstash/pipelines/delete\npipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR\n— now unskipped)\n\n- No esArchiver — `.logstash` is a restricted system index; bulk\nindexing is blocked even for superuser. Pipelines are seeded via\n`esClient.logstash.putPipeline` in `beforeAll` per spec instead\n- Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines)\nfor pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster\nendpoint (FTR used superuser for everything)\n- Stateful only — no serverless Logstash tests exist or were added\n- Coverage improvements — added 404 assertion for non-existing pipeline\nGET; explicit numSuccesses/numErrors check on bulk delete; sort-order\nassertion on pipeline list\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"4720f964d72ec70a6a13345dd656949dc0613400"}},{"url":"https://github.com/elastic/kibana/pull/264265","number":264265,"branch":"9.4","state":"MERGED","mergeCommit":{"sha":"d3629c41337d5a523f769a50c995cb9bb8cbd8a2","message":"[9.4] [scout] migrate FTR logstash api tests (#262953) (#264265)\n\n# Backport\n\nThis will backport the following commits from `main` to `9.4`:\n - [scout] migrate FTR logstash api tests (#262953) (4720f96)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>"}}]}] BACKPORT-->
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
# Backport This will backport the following commits from `main` to `8.19`: - [[scout] migrate FTR logstash api tests (#262953)](#262953) <!--- Backport version: 11.0.1 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Dzmitry Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2026-04-18T10:59:59Z","message":"[scout] migrate FTR logstash api tests (#262953)\n\n## Summary\n\nCloses https://github.com/elastic/appex-qa-team/issues/851\n\nLogstash API tests migrated from FTR → Scout\n\nSource: `x-pack/platform/test/api_integration/apis/logstash/` (5 test\nfiles, now deleted)\nTarget: `x-pack/platform/plugins/private/logstash/test/scout/api/`\n\nNew spec files:\n\n\nFile | Covers\n-- | --\ncluster.spec.ts | GET /api/logstash/cluster\npipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id}\npipelines_delete.spec.ts | POST /api/logstash/pipelines/delete\npipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR\n— now unskipped)\n\n- No esArchiver — `.logstash` is a restricted system index; bulk\nindexing is blocked even for superuser. Pipelines are seeded via\n`esClient.logstash.putPipeline` in `beforeAll` per spec instead\n- Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines)\nfor pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster\nendpoint (FTR used superuser for everything)\n- Stateful only — no serverless Logstash tests exist or were added\n- Coverage improvements — added 404 assertion for non-existing pipeline\nGET; explicit numSuccesses/numErrors check on bulk delete; sort-order\nassertion on pipeline list\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"4720f964d72ec70a6a13345dd656949dc0613400","branchLabelMapping":{"^v9.5.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:all-open","v9.5.0","v9.3.4","v9.2.9"],"title":"[scout] migrate FTR logstash api tests","number":262953,"url":"https://github.com/elastic/kibana/pull/262953","mergeCommit":{"message":"[scout] migrate FTR logstash api tests (#262953)\n\n## Summary\n\nCloses https://github.com/elastic/appex-qa-team/issues/851\n\nLogstash API tests migrated from FTR → Scout\n\nSource: `x-pack/platform/test/api_integration/apis/logstash/` (5 test\nfiles, now deleted)\nTarget: `x-pack/platform/plugins/private/logstash/test/scout/api/`\n\nNew spec files:\n\n\nFile | Covers\n-- | --\ncluster.spec.ts | GET /api/logstash/cluster\npipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id}\npipelines_delete.spec.ts | POST /api/logstash/pipelines/delete\npipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR\n— now unskipped)\n\n- No esArchiver — `.logstash` is a restricted system index; bulk\nindexing is blocked even for superuser. Pipelines are seeded via\n`esClient.logstash.putPipeline` in `beforeAll` per spec instead\n- Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines)\nfor pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster\nendpoint (FTR used superuser for everything)\n- Stateful only — no serverless Logstash tests exist or were added\n- Coverage improvements — added 404 assertion for non-existing pipeline\nGET; explicit numSuccesses/numErrors check on bulk delete; sort-order\nassertion on pipeline list\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"4720f964d72ec70a6a13345dd656949dc0613400"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.5.0","branchLabelMappingKey":"^v9.5.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/262953","number":262953,"mergeCommit":{"message":"[scout] migrate FTR logstash api tests (#262953)\n\n## Summary\n\nCloses https://github.com/elastic/appex-qa-team/issues/851\n\nLogstash API tests migrated from FTR → Scout\n\nSource: `x-pack/platform/test/api_integration/apis/logstash/` (5 test\nfiles, now deleted)\nTarget: `x-pack/platform/plugins/private/logstash/test/scout/api/`\n\nNew spec files:\n\n\nFile | Covers\n-- | --\ncluster.spec.ts | GET /api/logstash/cluster\npipeline.spec.ts | GET, PUT, DELETE /api/logstash/pipeline/{id}\npipelines_delete.spec.ts | POST /api/logstash/pipelines/delete\npipelines_list.spec.ts | GET /api/logstash/pipelines (was skipped in FTR\n— now unskipped)\n\n- No esArchiver — `.logstash` is a restricted system index; bulk\nindexing is blocked even for superuser. Pipelines are seeded via\n`esClient.logstash.putPipeline` in `beforeAll` per spec instead\n- Minimum roles — `LOGSTASH_MANAGER_ROLE` (manage_logstash_pipelines)\nfor pipeline ops; `LOGSTASH_CLUSTER_ROLE` (monitor) for the cluster\nendpoint (FTR used superuser for everything)\n- Stateful only — no serverless Logstash tests exist or were added\n- Coverage improvements — added 404 assertion for non-existing pipeline\nGET; explicit numSuccesses/numErrors check on bulk delete; sort-order\nassertion on pipeline list\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"4720f964d72ec70a6a13345dd656949dc0613400"}},{"branch":"9.3","label":"v9.3.4","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/264361","number":264361,"state":"MERGED","mergeCommit":{"sha":"f4630ceb53a9f2b718492394667895d82852f9f1","message":"[9.3] [scout] migrate FTR logstash api tests (#262953) (#264361)\n\n# Backport\n\nThis will backport the following commits from `main` to `9.3`:\n- [[scout] migrate FTR logstash api tests\n(#262953)](https://github.com/elastic/kibana/pull/262953)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n"}},{"branch":"9.2","label":"v9.2.9","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/264365","number":264365,"state":"MERGED","mergeCommit":{"sha":"c687030e1a03e0485de03e2f001ec1a68d0dc392","message":"[9.2] [scout] migrate FTR logstash api tests (#262953) (#264365)\n\n# Backport\n\nThis will backport the following commits from `main` to `9.2`:\n- [[scout] migrate FTR logstash api tests\n(#262953)](https://github.com/elastic/kibana/pull/262953)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n"}},{"url":"https://github.com/elastic/kibana/pull/264265","number":264265,"branch":"9.4","state":"MERGED","mergeCommit":{"sha":"d3629c41337d5a523f769a50c995cb9bb8cbd8a2","message":"[9.4] [scout] migrate FTR logstash api tests (#262953) (#264265)\n\n# Backport\n\nThis will backport the following commits from `main` to `9.4`:\n - [scout] migrate FTR logstash api tests (#262953) (4720f96)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>"}}]}] BACKPORT-->
Summary
Closes https://github.com/elastic/appex-qa-team/issues/851
Logstash API tests migrated from FTR → Scout
Source:
x-pack/platform/test/api_integration/apis/logstash/(5 test files, now deleted)Target:
x-pack/platform/plugins/private/logstash/test/scout/api/New spec files:
.logstashis a restricted system index; bulk indexing is blocked even for superuser. Pipelines are seeded viaesClient.logstash.putPipelineinbeforeAllper spec insteadLOGSTASH_MANAGER_ROLE(manage_logstash_pipelines) for pipeline ops;LOGSTASH_CLUSTER_ROLE(monitor) for the cluster endpoint (FTR used superuser for everything)