diff --git a/x-pack/test_serverless/api_integration/test_suites/common/reporting/datastream.ts b/x-pack/test_serverless/api_integration/test_suites/common/reporting/datastream.ts index 0541ff426e605..ce9fe313ecf88 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/reporting/datastream.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/reporting/datastream.ts @@ -27,6 +27,7 @@ export default function ({ getService }: FtrProviderContext) { }; describe('Data Stream', function () { + const generatedReports = new Set(); before(async () => { roleAuthc = await svlUserManager.createM2mApiKeyWithRoleScope('admin'); internalReqHeader = svlCommonApi.getInternalRequestHeader(); @@ -34,8 +35,7 @@ export default function ({ getService }: FtrProviderContext) { await esArchiver.load(archives.ecommerce.data); await kibanaServer.importExport.load(archives.ecommerce.savedObjects); - // for this test, we don't need to wait for the job to finish or verify the result - await reportingAPI.createReportJobInternal( + const { job } = await reportingAPI.createReportJobInternal( 'csv_searchsource', { browserTimezone: 'UTC', @@ -51,10 +51,15 @@ export default function ({ getService }: FtrProviderContext) { roleAuthc, internalReqHeader ); + + generatedReports.add(job.id); }); after(async () => { - await reportingAPI.deleteAllReports(roleAuthc, internalReqHeader); + for (const reportId of generatedReports) { + await reportingAPI.deleteReport(reportId, roleAuthc, internalReqHeader); + } + await esArchiver.unload(archives.ecommerce.data); await kibanaServer.importExport.unload(archives.ecommerce.savedObjects); await svlUserManager.invalidateM2mApiKeyWithRoleScope(roleAuthc); diff --git a/x-pack/test_serverless/api_integration/test_suites/common/reporting/generate_csv_discover.ts b/x-pack/test_serverless/api_integration/test_suites/common/reporting/generate_csv_discover.ts index 740e106affa62..dd070d9a84aa2 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/reporting/generate_csv_discover.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/reporting/generate_csv_discover.ts @@ -101,7 +101,6 @@ export default function ({ getService }: FtrProviderContext) { }); after(async () => { - await reportingAPI.deleteAllReports(roleAuthc, internalReqHeader); await esArchiver.unload(archives.ecommerce.data); await kibanaServer.importExport.unload(archives.ecommerce.savedObjects); }); diff --git a/x-pack/test_serverless/shared/services/svl_reporting.ts b/x-pack/test_serverless/shared/services/svl_reporting.ts index 9d3d7941ec503..f056543e72e23 100644 --- a/x-pack/test_serverless/shared/services/svl_reporting.ts +++ b/x-pack/test_serverless/shared/services/svl_reporting.ts @@ -8,7 +8,6 @@ import expect from '@kbn/expect'; import { INTERNAL_ROUTES } from '@kbn/reporting-common'; import type { ReportingJobResponse } from '@kbn/reporting-plugin/server/types'; -import { REPORTING_DATA_STREAM_WILDCARD_WITH_LEGACY } from '@kbn/reporting-server'; import rison from '@kbn/rison'; import { FtrProviderContext } from '../../functional/ftr_provider_context'; import { RoleCredentials } from '.'; @@ -111,17 +110,23 @@ export function SvlReportingServiceProvider({ getService }: FtrProviderContext) .set(roleAuthc.apiKeyHeader); return response.text as unknown; }, - async deleteAllReports(roleAuthc: RoleCredentials, internalReqHeader: InternalRequestHeader) { - log.debug('ReportingAPI.deleteAllReports'); - - // ignores 409 errs and keeps retrying - await retry.tryForTime(5000, async () => { - await supertestWithoutAuth - .post(`/${REPORTING_DATA_STREAM_WILDCARD_WITH_LEGACY}/_delete_by_query`) - .set(internalReqHeader) - .set(roleAuthc.apiKeyHeader) - .send({ query: { match_all: {} } }); - }); + + /* + * Ensures reports are cleaned up through the delete report API + */ + async deleteReport( + reportId: string, + roleAuthc: RoleCredentials, + internalReqHeader: InternalRequestHeader + ) { + log.debug(`ReportingAPI.deleteReport ${INTERNAL_ROUTES.JOBS.DELETE_PREFIX}/${reportId}`); + const response = await supertestWithoutAuth + .delete(INTERNAL_ROUTES.JOBS.DELETE_PREFIX + `/${reportId}`) + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader) + .set('kbn-xsrf', 'xxx') + .expect(200); + return response.text as unknown; }, }; }