Skip to content

Chore(UI): Fix the AUT failures#30400

Open
aniketkatkar97 wants to merge 7 commits into
mainfrom
fix-failing-auts
Open

Chore(UI): Fix the AUT failures#30400
aniketkatkar97 wants to merge 7 commits into
mainfrom
fix-failing-auts

Conversation

@aniketkatkar97

@aniketkatkar97 aniketkatkar97 commented Jul 23, 2026

Copy link
Copy Markdown
Member

Fixes #30401

This pull request updates Playwright E2E tests and utilities to accommodate UI changes in the service ingestion workflow, specifically around the service name validation and the ingestion runner selection control. The tests and helper functions are refactored to align with the new merged Configure & Connect step and the migration from an Ant Design Select to a react-aria Select for choosing the ingestion runner.

Service Ingestion Flow Updates:

  • Updated the service name validation test to reflect the merged Configure & Connect step, ensuring the "Next" button is disabled until a valid service name is provided, and removed direct validation message checks.
  • Removed the unused INVALID_NAMES import from ServiceIngestion.spec.ts.

Ingestion Runner Selector Migration:

  • Refactored the ingestion runner selection logic in ServiceBaseClass to interact with the new react-aria Select component, matching options by visible label instead of Ant Design's data-key.
  • Updated fillSupersetFormDetails in serviceFormUtils.ts to select the ingestion runner using the new role-based selector, removing reliance on Ant Design dropdown structure and search input.

Summary by Gitar

  • E2E test refactoring:
    • Updated selectors for filter patterns and ingestion sections across multiple service classes
    • Fixed schedule assertions in ServiceBaseClass to match updated test identifiers

This will update automatically on new commits.

Greptile Summary

Updates Playwright coverage for the revised service-ingestion UI.

  • Adapts ingestion-runner selection to the react-aria control.
  • Updates filter-section interactions and schedule assertions.
  • Revises service-name gating coverage for the merged Configure & Connect step.
  • Re-enables chart custom-property coverage.

Confidence Score: 5/5

The PR appears safe to merge with no new blocking failures eligible for this follow-up review.

No blocking failure remains beyond the issue already communicated in the existing inline thread.

Important Files Changed

Filename Overview
openmetadata-ui/src/main/resources/ui/playwright/e2e/nightly/ServiceIngestion.spec.ts Revises the service-name test for the merged Configure & Connect workflow; no new finding distinct from the existing inline thread.
openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/ServiceBaseClass.ts Updates shared runner selection, schedule assertions, and ingestion-filter expansion for the revised UI.
openmetadata-ui/src/main/resources/ui/playwright/utils/serviceFormUtils.ts Migrates Superset runner selection from Ant Design-specific selectors to role-based react-aria selectors.

Reviews (7): Last reviewed commit: "Merge branch 'main' into fix-failing-aut..." | Re-trigger Greptile

@aniketkatkar97 aniketkatkar97 self-assigned this Jul 23, 2026
Copilot AI review requested due to automatic review settings July 23, 2026 12:21
@aniketkatkar97
aniketkatkar97 requested a review from a team as a code owner July 23, 2026 12:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

✅ PR checks passed

The linked issue has a description and all required Shipping project fields set. Thanks!

@github-actions github-actions Bot added safe to test Add this label to run secure Github workflows on PRs UI UI specific issues labels Jul 23, 2026
Copilot AI review requested due to automatic review settings July 23, 2026 12:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@open-metadata open-metadata deleted a comment from github-actions Bot Jul 23, 2026
- ServiceBaseClass: assert agent-schedule with toContainText (the merged
  agent-schedule element holds both schedule parts, so two exact toHaveText
  assertions could never both pass)
- ServiceBaseClass: await ingestionFilterSection.click() in
  openIngestionFilterSection to avoid a floating promise / flaky ordering
- ServiceBaseClass: match the ingestion runner by its visible displayName only
  (react-aria options carry no data-key and are not labelled by the system
  name); make RunnerDetails.displayName required so the label is always present
- ServiceIngestion: correct the name-field test description — the form no
  longer does client-side character validation; the test asserts enable/disable
  gating (required + uniqueness) instead

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 23, 2026 13:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI review requested due to automatic review settings July 24, 2026 13:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@gitar-bot

gitar-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown
Code Review ✅ Approved 3 resolved / 3 findings

Refactors Playwright E2E tests and support utilities to support the updated service ingestion workflow, including selector migrations and unskipping chart tests. Addressed all findings including runner match fallback, contradictory assertions, and missing await calls.

✅ 3 resolved
Edge Case: Runner match falls back to name that won't match label

📄 openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/ServiceBaseClass.ts:135-139
The runner is now matched by visible label via getByRole('option', { name: runnerLabel }), but runnerLabel falls back to this.ingestionRunner.name when displayName is undefined. Since name values like CollateSaaS (no space) differ from the rendered label Collate SaaS, a subclass constructed with only a name would fail the substring match and time out — whereas the old data-key selector matched on name reliably. Consider requiring/using a label-oriented value here, or documenting that displayName must be provided for react-aria matching.

Bug: Two contradictory toHaveText assertions on merged agent-schedule

📄 openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/ServiceBaseClass.ts:460-465 📄 openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/ServiceBaseClass.ts:485-486 📄 openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/ServiceBaseClass.ts:500-503 📄 openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/ServiceBaseClass.ts:517-520
After merging the schedule details into a single agent-schedule testid, each schedule case now asserts toHaveText('...') twice on the SAME locator with two different exact strings (e.g. 'At 04:04 AM' then 'Every day'). toHaveText(string) requires the element's full normalized text to equal the argument, so at most one can ever pass — if the element combines both parts the first fails, and if agent-schedule resolves to more than one element it triggers a strict-mode violation. This makes updateScheduleOptions fail deterministically. Use toContainText for each substring (or assert the combined full text once).

Bug: Missing await on ingestionFilterSection.click()

📄 openmetadata-ui/src/main/resources/ui/playwright/support/entity/ingestion/ServiceBaseClass.ts:528-530
In openIngestionFilterSection, ingestionFilterSection.click() is not awaited, so the returned promise floats and subsequent steps (e.g. clicking filter-section-schemaFilterPattern) may run before the section is expanded, causing flaky failures. Add await.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

@github-actions

Copy link
Copy Markdown
Contributor

🔴 Playwright Results — workflow failed

Validated commit 0a631b8cbd634e542b9bd4162193988bc900c2f1 in Playwright run 30096765948, attempt 2.

✅ 548 passed · ❌ 0 failed · 🟡 0 flaky · ⏭️ 5 skipped · 🧰 0 lifecycle flaky

Pipeline and setup failures (3)

  • Playwright coverage validation found 161 missing, 0 unexpected, 0 duplicate-plan, and 0 duplicate-execution test ID(s).
  • Shard chromium-02 did not upload a usable Playwright results artifact.
  • Shard chromium-02 test execution finished with status failure without a reported test failure.

Performance

Blocking targets: ✅ met · Optimization targets: 🟡 in progress

Shard-job maxima below are not the full workflow wall time; the linked run includes build, fixture, planning, and reporting.

🕒 Full workflow signal wall (to summary) 1h 35m 6s

⏱️ Max setup 2m 54s · max shard execution 21m 0s · max shard-job elapsed before upload 24m 47s · reporting 3s

🌐 255.99 requests/attempt · 2.53 app boots/UI scenario · 34.44% common-shard skew

Optimization targets still in progress:

  • Common shard skew was 34.44% (convergence target: at most 15%).
  • Browser traffic was 255.99 requests per attempt (convergence target: fewer than 200).
  • Application boot ratio was 2.53 per UI scenario (1925 boots / 761 scenarios; convergence target: at most 1).
Shard Passed Failed Flaky Skipped Lifecycle failed Lifecycle flaky
✅ Shard chromium-01 131 0 0 0 0 0
⛔ Shard chromium-02
✅ Shard chromium-03 142 0 0 0 0 0
✅ Shard chromium-04 137 0 0 3 0 0
✅ Shard data-asset-rules-01 61 0 0 0 0 0
✅ Shard domain-isolation-01 14 0 0 0 0 0
✅ Shard global-state-01 23 0 0 0 0 0
✅ Shard ingestion-01 1 0 0 0 0 0
✅ Shard reindex-01 2 0 0 0 0 0
✅ Shard search-01 10 0 0 0 0 0
✅ Shard search-rbac-01 27 0 0 2 0 0

📦 Download artifacts

How to debug locally
# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip    # view trace

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test Add this label to run secure Github workflows on PRs UI UI specific issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix the Playwright failures in AUTs

3 participants