mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
[8.16] [ML] Forecast api delete test: add retry to ensure forecast has time to complete before deletion (#197111) (#197256)
# Backport This will backport the following commits from `main` to `8.16`: - [[ML] Forecast api delete test: add retry to ensure forecast has time to complete before deletion (#197111)](https://github.com/elastic/kibana/pull/197111) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Melissa Alvarez","email":"melissa.alvarez@elastic.co"},"sourceCommit":{"committedDate":"2024-10-22T14:36:59Z","message":"[ML] Forecast api delete test: add retry to ensure forecast has time to complete before deletion (#197111)\n\n## Summary\r\n\r\nFixes https://github.com/elastic/kibana/issues/195602\r\n\r\nThis PR adds a retry for 10 seconds to the deleteForecast utility\r\nfunction to ensure the forecast has completed before a deletion attempt\r\nis made.\r\n\r\nFlaky test:\r\nhttps://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/7201\r\n\r\n\r\n### Checklist\r\n\r\nDelete any items that are not applicable to this PR.\r\n\r\n- [ ] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [ ]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [ ] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [ ] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [ ] Any UI touched in this PR is usable by keyboard only (learn more\r\nabout [keyboard accessibility](https://webaim.org/techniques/keyboard/))\r\n- [ ] Any UI touched in this PR does not create any new axe failures\r\n(run axe in browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n- [ ] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [ ] This renders correctly on smaller devices using a responsive\r\nlayout. (You can test this [in your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n- [ ] This was checked for [cross-browser\r\ncompatibility](https://www.elastic.co/support/matrix#matrix_browsers)","sha":"0c95fa3f2a3fc68c091ca9ccfc753bdba7daddd5","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":[":ml","release_note:skip","test-api-integration","v9.0.0","v8.16.0","backport:version","v8.17.0"],"title":"[ML] Forecast api delete test: add retry to ensure forecast has time to complete before deletion","number":197111,"url":"https://github.com/elastic/kibana/pull/197111","mergeCommit":{"message":"[ML] Forecast api delete test: add retry to ensure forecast has time to complete before deletion (#197111)\n\n## Summary\r\n\r\nFixes https://github.com/elastic/kibana/issues/195602\r\n\r\nThis PR adds a retry for 10 seconds to the deleteForecast utility\r\nfunction to ensure the forecast has completed before a deletion attempt\r\nis made.\r\n\r\nFlaky test:\r\nhttps://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/7201\r\n\r\n\r\n### Checklist\r\n\r\nDelete any items that are not applicable to this PR.\r\n\r\n- [ ] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [ ]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [ ] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [ ] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [ ] Any UI touched in this PR is usable by keyboard only (learn more\r\nabout [keyboard accessibility](https://webaim.org/techniques/keyboard/))\r\n- [ ] Any UI touched in this PR does not create any new axe failures\r\n(run axe in browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n- [ ] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [ ] This renders correctly on smaller devices using a responsive\r\nlayout. (You can test this [in your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n- [ ] This was checked for [cross-browser\r\ncompatibility](https://www.elastic.co/support/matrix#matrix_browsers)","sha":"0c95fa3f2a3fc68c091ca9ccfc753bdba7daddd5"}},"sourceBranch":"main","suggestedTargetBranches":["8.16","8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/197111","number":197111,"mergeCommit":{"message":"[ML] Forecast api delete test: add retry to ensure forecast has time to complete before deletion (#197111)\n\n## Summary\r\n\r\nFixes https://github.com/elastic/kibana/issues/195602\r\n\r\nThis PR adds a retry for 10 seconds to the deleteForecast utility\r\nfunction to ensure the forecast has completed before a deletion attempt\r\nis made.\r\n\r\nFlaky test:\r\nhttps://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/7201\r\n\r\n\r\n### Checklist\r\n\r\nDelete any items that are not applicable to this PR.\r\n\r\n- [ ] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [ ]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [ ] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [ ] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [ ] Any UI touched in this PR is usable by keyboard only (learn more\r\nabout [keyboard accessibility](https://webaim.org/techniques/keyboard/))\r\n- [ ] Any UI touched in this PR does not create any new axe failures\r\n(run axe in browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n- [ ] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [ ] This renders correctly on smaller devices using a responsive\r\nlayout. (You can test this [in your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n- [ ] This was checked for [cross-browser\r\ncompatibility](https://www.elastic.co/support/matrix#matrix_browsers)","sha":"0c95fa3f2a3fc68c091ca9ccfc753bdba7daddd5"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.x","label":"v8.17.0","branchLabelMappingKey":"^v8.17.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Melissa Alvarez <melissa.alvarez@elastic.co>
This commit is contained in:
parent
86170ff4fe
commit
8e5ac2b7a4
1 changed files with 16 additions and 14 deletions
|
@ -15,6 +15,7 @@ export default ({ getService }: FtrProviderContext) => {
|
|||
const supertest = getService('supertestWithoutAuth');
|
||||
const ml = getService('ml');
|
||||
const spacesService = getService('spaces');
|
||||
const retry = getService('retry');
|
||||
|
||||
const forecastJobId = 'fq_single_forecast';
|
||||
const forecastJobDatafeedId = `datafeed-${forecastJobId}`;
|
||||
|
@ -45,21 +46,22 @@ export default ({ getService }: FtrProviderContext) => {
|
|||
user: USER,
|
||||
expectedStatusCode: number
|
||||
) {
|
||||
const { body, status } = await supertest
|
||||
.delete(
|
||||
`${
|
||||
space ? `/s/${space}` : ''
|
||||
}/internal/ml/anomaly_detectors/${jobId}/_forecast/${forecastId}`
|
||||
)
|
||||
.auth(user, ml.securityCommon.getPasswordForUser(user))
|
||||
.set(getCommonRequestHeader('1'));
|
||||
ml.api.assertResponseStatusCode(expectedStatusCode, status, body);
|
||||
await retry.tryForTime(10000, async () => {
|
||||
const { body, status } = await supertest
|
||||
.delete(
|
||||
`${
|
||||
space ? `/s/${space}` : ''
|
||||
}/internal/ml/anomaly_detectors/${jobId}/_forecast/${forecastId}`
|
||||
)
|
||||
.auth(user, ml.securityCommon.getPasswordForUser(user))
|
||||
.set(getCommonRequestHeader('1'));
|
||||
ml.api.assertResponseStatusCode(expectedStatusCode, status, body);
|
||||
|
||||
return body;
|
||||
return body;
|
||||
});
|
||||
}
|
||||
|
||||
// Failing see: https://github.com/elastic/kibana/issues/195602
|
||||
describe.skip('POST anomaly_detectors _forecast with spaces', function () {
|
||||
describe('POST anomaly_detectors _forecast with spaces', function () {
|
||||
let forecastId: string;
|
||||
before(async () => {
|
||||
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/farequote');
|
||||
|
@ -110,11 +112,11 @@ export default ({ getService }: FtrProviderContext) => {
|
|||
});
|
||||
|
||||
it('should not delete forecast for user without permissions', async () => {
|
||||
await await deleteForecast(forecastJobId, forecastId, idSpace1, USER.ML_VIEWER, 403);
|
||||
await deleteForecast(forecastJobId, forecastId, idSpace1, USER.ML_VIEWER, 403);
|
||||
});
|
||||
|
||||
it('should delete forecast for user with permissions', async () => {
|
||||
await await deleteForecast(forecastJobId, forecastId, idSpace1, USER.ML_POWERUSER, 200);
|
||||
await deleteForecast(forecastJobId, forecastId, idSpace1, USER.ML_POWERUSER, 200);
|
||||
});
|
||||
|
||||
it('should not run forecast for open job with invalid duration', async () => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue