diff --git a/.github/workflows/playwright-mysql-e2e-skip.yml b/.github/workflows/playwright-mysql-e2e-skip.yml index 73218c09539..29b27a8287a 100644 --- a/.github/workflows/playwright-mysql-e2e-skip.yml +++ b/.github/workflows/playwright-mysql-e2e-skip.yml @@ -21,7 +21,6 @@ on: - opened - synchronize - reopened - - ready_for_review paths: - openmetadata-docs/** - .github/** diff --git a/.github/workflows/playwright-mysql-e2e.yml b/.github/workflows/playwright-mysql-e2e.yml index 4fb1cf74ab2..86171a51fda 100644 --- a/.github/workflows/playwright-mysql-e2e.yml +++ b/.github/workflows/playwright-mysql-e2e.yml @@ -21,7 +21,6 @@ on: - opened - synchronize - reopened - - ready_for_review paths-ignore: - openmetadata-docs/** - .github/** diff --git a/.github/workflows/playwright-postgresql-e2e-skip.yml b/.github/workflows/playwright-postgresql-e2e-skip.yml index 82f93279559..119e36fbb65 100644 --- a/.github/workflows/playwright-postgresql-e2e-skip.yml +++ b/.github/workflows/playwright-postgresql-e2e-skip.yml @@ -21,7 +21,6 @@ on: - opened - synchronize - reopened - - ready_for_review paths: - openmetadata-docs/** - .github/** diff --git a/.github/workflows/playwright-postgresql-e2e.yml b/.github/workflows/playwright-postgresql-e2e.yml index 24a9d5a5285..c67020115e1 100644 --- a/.github/workflows/playwright-postgresql-e2e.yml +++ b/.github/workflows/playwright-postgresql-e2e.yml @@ -21,7 +21,6 @@ on: - opened - synchronize - reopened - - ready_for_review paths-ignore: - openmetadata-docs/** - .github/** diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ServiceIngestion.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ServiceIngestion.spec.ts index 6046e3d3aa8..ff873b49b52 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ServiceIngestion.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ServiceIngestion.spec.ts @@ -49,6 +49,7 @@ if (process.env.PLAYWRIGHT_IS_OSS) { test.use({ storageState: 'playwright/.auth/admin.json', trace: process.env.PLAYWRIGHT_IS_OSS ? 'off' : 'on-first-retry', + video: process.env.PLAYWRIGHT_IS_OSS ? 'on' : 'off', }); services.forEach((ServiceClass) => { diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/dataInsightApp.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/dataInsightApp.ts index d7707583747..aeafe14d7ac 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/dataInsightApp.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/dataInsightApp.ts @@ -54,36 +54,33 @@ setup( } ); - await apiContext.patch(`/api/v1/apps/trigger/DataInsightsApplication`, { - data: [ + await expect( + await apiContext.patch( + `/api/v1/apps/marketplace/name/DataInsightsApplication`, { - op: 'remove', - path: '/appConfiguration/backfillConfiguration/startDate', - }, - { - op: 'remove', - path: '/appConfiguration/backfillConfiguration/endDate', - }, - { - op: 'replace', - path: '/batchSize', - value: 1000, - }, - { - op: 'replace', - path: '/recreateDataAssetsIndex', - value: false, - }, - { - op: 'replace', - path: '/backfillConfiguration/enabled', - value: false, - }, - ], - headers: { - 'Content-Type': 'application/json-patch+json', - }, - }); + data: [ + { + op: 'replace', + path: '/appConfiguration/batchSize', + value: 1000, + }, + { + op: 'replace', + path: '/appConfiguration/recreateDataAssetsIndex', + value: false, + }, + { + op: 'replace', + path: '/appConfiguration/backfillConfiguration/enabled', + value: false, + }, + ], + headers: { + 'Content-Type': 'application/json-patch+json', + }, + } + ) + ).toBeOK(); await apiContext.post('/api/v1/apps/trigger/DataInsightsApplication'); @@ -115,7 +112,7 @@ setup( }), } ) - .toBe('success'); + .toEqual(expect.stringMatching(/(success|failed|partialSuccess)/)); await table.delete(apiContext); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/MySqlIngestionClass.ts b/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/MySqlIngestionClass.ts index 7a80598b3f3..189c580262d 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/MySqlIngestionClass.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/MySqlIngestionClass.ts @@ -125,6 +125,16 @@ class MysqlIngestionClass extends ServiceBaseClass { ) .then((res) => res.json()); + + // Re-deploy before running the ingestion + await page.click( + `[data-row-key*="${response.data[0].name}"] [data-testid="more-actions"]` + ); + await page.getByTestId('re-deploy-button').click(); + + // need manual wait to settle down the deployed pipeline, before triggering the pipeline + await page.waitForTimeout(2000); + await page.click( `[data-row-key*="${response.data[0].name}"] [data-testid="more-actions"]` ); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/PostgresIngestionClass.ts b/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/PostgresIngestionClass.ts index 2d83516bcb9..c807a0fcc52 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/PostgresIngestionClass.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/PostgresIngestionClass.ts @@ -131,6 +131,13 @@ class PostgresIngestionClass extends ServiceBaseClass { ) .then((res) => res.json()); + + // Re-deploy before running the ingestion + await page.click( + `[data-row-key*="${response.data[0].name}"] [data-testid="more-actions"]` + ); + await page.getByTestId('re-deploy-button').click(); + // need manual wait to settle down the deployed pipeline, before triggering the pipeline await page.waitForTimeout(2000); await page.click( diff --git a/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/RedshiftWithDBTIngestionClass.ts b/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/RedshiftWithDBTIngestionClass.ts index cd1758741db..fd8d59ef767 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/RedshiftWithDBTIngestionClass.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/RedshiftWithDBTIngestionClass.ts @@ -152,6 +152,12 @@ class RedshiftWithDBTIngestionClass extends ServiceBaseClass { ) .then((res) => res.json()); + // Re-deploy before running the ingestion + await page.click( + `[data-row-key*="${response.data[0].name}"] [data-testid="more-actions"]` + ); + await page.getByTestId('re-deploy-button').click(); + // need manual wait to settle down the deployed pipeline, before triggering the pipeline await page.waitForTimeout(2000); await page.click( 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 c5a408a4e7c..f6d9e8e0f36 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,10 @@ class ServiceBaseClass { .getByTestId('loader') .waitFor({ state: 'detached' }); + // Re-deploy before running the ingestion + await page.getByTestId('more-actions').first().click(); + await page.getByTestId('re-deploy-button').click(); + // need manual wait to settle down the deployed pipeline, before triggering the pipeline await page.waitForTimeout(2000); @@ -262,8 +266,8 @@ class ServiceBaseClass { intervals: [30_000, 15_000, 5_000], } ) - // To allow partial success - .toContain('success'); + // Move ahead if we do not have running or queued status + .toEqual(expect.stringMatching(/(success|failed|partialSuccess)/)); const pipelinePromise = page.waitForRequest( `/api/v1/services/ingestionPipelines?**` @@ -440,6 +444,13 @@ class ServiceBaseClass { .getByRole('cell', { name: 'Pause Logs' }) .waitFor({ state: 'visible' }); + // Re-deploy before running the ingestion + await page.getByTestId('more-actions').first().click(); + await page.getByTestId('re-deploy-button').click(); + + // 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();