From ebe397d041bec0ef02a87f5538d0d72b6b3d222e Mon Sep 17 00:00:00 2001 From: Dhruv Parmar <83108871+dhruvjsx@users.noreply.github.com> Date: Mon, 19 May 2025 11:29:12 +0530 Subject: [PATCH] Fix: Observablity alert flaky test (#21107) * fixed observity alert flaky test * fixed timeout issue * fixed timeout issue * fixed comments (cherry picked from commit 3d2ae8fff6be077a32b56ccc7caf5503bfa7afa7) --- .../ui/playwright/e2e/Flow/NotificationAlerts.spec.ts | 4 ++++ .../ui/playwright/e2e/Flow/ObservabilityAlerts.spec.ts | 4 ++++ .../src/main/resources/ui/playwright/utils/alert.ts | 8 ++++++-- .../resources/ui/playwright/utils/observabilityAlert.ts | 4 ++++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/NotificationAlerts.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/NotificationAlerts.spec.ts index f4e3ac87e93..c014cb925b3 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/NotificationAlerts.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/NotificationAlerts.spec.ts @@ -101,6 +101,8 @@ const data = { }; test.beforeAll(async ({ browser }) => { + test.slow(); + const { afterAction, apiContext } = await performAdminLogin(browser); await commonPrerequisites({ apiContext, @@ -115,6 +117,8 @@ test.beforeAll(async ({ browser }) => { }); test.afterAll('Cleanup', async ({ browser }) => { + test.slow(); + const { afterAction, apiContext } = await performAdminLogin(browser); await commonCleanup({ apiContext, diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/ObservabilityAlerts.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/ObservabilityAlerts.spec.ts index 1977a4d4226..2b1737d1093 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/ObservabilityAlerts.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/ObservabilityAlerts.spec.ts @@ -99,6 +99,8 @@ const data = { }; test.beforeAll(async ({ browser }) => { + test.slow(); + const { afterAction, apiContext } = await performAdminLogin(browser); await commonPrerequisites({ apiContext, @@ -135,6 +137,8 @@ test.afterAll(async ({ browser }) => { }); test.beforeEach(async ({ page }) => { + test.slow(); + await visitObservabilityAlertPage(page); }); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/alert.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/alert.ts index bb51cfe60c5..f7246ee038b 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/utils/alert.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/alert.ts @@ -158,6 +158,10 @@ export const findPageWithAlert = async ( alertDetails: AlertDetails ) => { const { id } = alertDetails; + await page.waitForLoadState('networkidle'); + await page.waitForSelector('[data-testid="loader"]', { + state: 'detached', + }); const alertRow = page.locator(`[data-row-key="${id}"]`); const nextButton = page.locator('[data-testid="next"]'); if ((await alertRow.isHidden()) && (await nextButton.isEnabled())) { @@ -829,8 +833,8 @@ export const waitForRecentEventsToFinishExecution = async ( { // Custom expect message for reporting, optional. message: 'Wait for pending events to complete', - intervals: [5_000, 10_000, 15_000], - timeout: 600_000, + intervals: [5_000, 10_000, 15_000, 20_000], + timeout: 900_000, } ) // Move ahead when the pending events count is 0 diff --git a/openmetadata-ui/src/main/resources/ui/playwright/utils/observabilityAlert.ts b/openmetadata-ui/src/main/resources/ui/playwright/utils/observabilityAlert.ts index a93ba4a4b16..e5684e48867 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/utils/observabilityAlert.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/utils/observabilityAlert.ts @@ -41,6 +41,10 @@ import { sidebarClick } from './sidebar'; export const visitObservabilityAlertPage = async (page: Page) => { await redirectToHomePage(page); + await page.waitForLoadState('networkidle'); + await page.waitForSelector('[data-testid="loader"]', { + state: 'detached', + }); const getAlerts = page.waitForResponse( '/api/v1/events/subscriptions?*alertType=Observability*' );