diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/IncidentManager.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/IncidentManager.spec.ts index c68b49a4752..b103e2b0c69 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/IncidentManager.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/IncidentManager.spec.ts @@ -61,8 +61,7 @@ test.describe('Incident Manager', () => { ); await triggerTestSuitePipelineAndWaitForSuccess({ page, - table: table1, - pipeline: { id: pipeline.id }, + pipeline, apiContext, }); @@ -304,8 +303,7 @@ test.describe('Incident Manager', () => { await test.step('Re-run pipeline', async () => { await triggerTestSuitePipelineAndWaitForSuccess({ page, - table: table1, - pipeline: { id: pipeline?.['id'] }, + pipeline, apiContext, }); }); @@ -366,8 +364,7 @@ test.describe('Incident Manager', () => { await test.step('Re-run pipeline', async () => { await triggerTestSuitePipelineAndWaitForSuccess({ page, - table: table1, - pipeline: { id: pipeline?.['id'] }, + pipeline, apiContext, }); }); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/QueryEntity.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/QueryEntity.spec.ts index a42157feba5..8b92cff7f02 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/QueryEntity.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/QueryEntity.spec.ts @@ -65,8 +65,12 @@ test('Query Entity', async ({ page }) => { '/api/v1/search/query?q=*&index=query_search_index*' ); await page.click(`[data-testid="table_queries"]`); + const tableResponse = page.waitForResponse( + '/api/v1/search/query?q=**&from=0&size=*&index=table_search_index' + ); await queryResponse; await page.click(`[data-testid="add-query-btn"]`); + await tableResponse; await page .getByTestId('code-mirror-container') .getByRole('textbox') @@ -79,7 +83,11 @@ test('Query Entity', async ({ page }) => { .locator('div') .filter({ hasText: 'Please Select a Query Used In' }) .click(); + const tableSearchResponse = page.waitForResponse( + `/api/v1/search/query?q=*&index=table_search_index*` + ); await page.keyboard.type(queryData.queryUsedIn.table1); + await tableSearchResponse; await page.click(`[title="${queryData.queryUsedIn.table1}"]`); await clickOutside(page); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/ServiceBaseClass.ts b/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/ServiceBaseClass.ts index b83e0253246..c5a408a4e7c 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/ServiceBaseClass.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/ServiceBaseClass.ts @@ -177,6 +177,9 @@ class ServiceBaseClass { .getByTestId('loader') .waitFor({ state: 'detached' }); + // need manual wait to settle down the deployed pipeline, before triggering the pipeline + await page.waitForTimeout(2000); + await page.getByTestId('more-actions').first().click(); await page.getByTestId('run-button').click(); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/incidentManager.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/incidentManager.ts index 54002122fd0..1ba8153c1e8 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/utils/incidentManager.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/incidentManager.ts @@ -87,35 +87,37 @@ export const assignIncident = async (data: { export const triggerTestSuitePipelineAndWaitForSuccess = async (data: { page: Page; apiContext: APIRequestContext; - table: TableClass; - pipeline: { id: string }; + pipeline: unknown; }) => { - const { page, apiContext, table, pipeline } = data; + const { page, apiContext, pipeline } = data; // wait for 2s before the pipeline to be run await page.waitForTimeout(2000); await apiContext - .post(`/api/v1/services/ingestionPipelines/trigger/${pipeline.id}`) + .post(`/api/v1/services/ingestionPipelines/trigger/${pipeline?.['id']}`) .then((res) => { if (res.status() !== 200) { return apiContext.post( - `/api/v1/services/ingestionPipelines/trigger/${pipeline.id}` + `/api/v1/services/ingestionPipelines/trigger/${pipeline?.['id']}` ); } }); // Wait for the run to complete await page.waitForTimeout(2000); + const oneHourBefore = Date.now() - 86400000; await expect .poll( async () => { const response = await apiContext .get( - `/api/v1/services/ingestionPipelines?fields=pipelineStatuses&testSuite=${table.testSuiteResponseData?.['fullyQualifiedName']}&pipelineType=TestSuite` + `/api/v1/services/ingestionPipelines/${encodeURIComponent( + pipeline?.['fullyQualifiedName'] + )}/pipelineStatus?startTs=${oneHourBefore}&endTs=${Date.now()}` ) .then((res) => res.json()); - return response.data?.[0]?.pipelineStatuses?.pipelineState; + return response.data[0]?.pipelineState; }, { // Custom expect message for reporting, optional.