Problem
Several Playwright E2E tests in the Service / ingestion area are flaky and intermittently fail CI, blocking PRs unrelated to their own logic:
ServiceAgentsPauseResume.spec.ts — the agents tab depends on isAirflowAvailable, which is set from GET /api/v1/services/ingestionPipelines/status. This spec runs in the chromium lane, which structurally has no Airflow container, so the status endpoint returns non-200 → the agent list renders "Ingestion Scheduler is unable to respond" instead of the agent card → getAgentCard(...) times out. The spec mocks the toggle/list/refetch/progress endpoints but not /status.
ServiceIngestion.spec.ts (nightly) — expensive real run-history execution and block-level timeout handling made the suite slow and unreliable.
- MLflow / S3 / Snowflake / Superset ingestion filter helpers — filter interactions used stale selectors after the filter controls were reworked.
Goal
Make the Service / ingestion Playwright coverage deterministic and independent of a live Airflow / ingestion container in the fast lanes:
- Mock the Airflow boundary comprehensively (including
ingestionPipelines/status) so the agent list renders without a real scheduler.
- Replace expensive real ingestion run-history execution with mocked statuses / API-based fixtures in nightly.
- Update ingestion filter helpers (MLflow, S3, Snowflake, Superset) to target the current filter-pattern controls.
Scope
Test-only changes under openmetadata-ui/src/main/resources/ui/playwright/. No product code affected.
Problem
Several Playwright E2E tests in the Service / ingestion area are flaky and intermittently fail CI, blocking PRs unrelated to their own logic:
ServiceAgentsPauseResume.spec.ts— the agents tab depends onisAirflowAvailable, which is set fromGET /api/v1/services/ingestionPipelines/status. This spec runs in thechromiumlane, which structurally has no Airflow container, so the status endpoint returns non-200 → the agent list renders "Ingestion Scheduler is unable to respond" instead of the agent card →getAgentCard(...)times out. The spec mocks the toggle/list/refetch/progress endpoints but not/status.ServiceIngestion.spec.ts(nightly) — expensive real run-history execution and block-level timeout handling made the suite slow and unreliable.Goal
Make the Service / ingestion Playwright coverage deterministic and independent of a live Airflow / ingestion container in the fast lanes:
ingestionPipelines/status) so the agent list renders without a real scheduler.Scope
Test-only changes under
openmetadata-ui/src/main/resources/ui/playwright/. No product code affected.