Skip to content

Chore(UI): Fix the ExploreTree spec failure - #30881

Merged
aniketkatkar97 merged 1 commit into
mainfrom
fix-explore-tree-spec
Aug 4, 2026
Merged

Chore(UI): Fix the ExploreTree spec failure#30881
aniketkatkar97 merged 1 commit into
mainfrom
fix-explore-tree-spec

Conversation

@aniketkatkar97

Copy link
Copy Markdown
Member

This pull request refactors and improves the way test data is created and managed for Playwright E2E tests, particularly for dashboard entities and related services. The changes make entity creation more flexible, ensure proper cleanup after tests, and improve test isolation and reliability.

Test Data Creation and Cleanup Improvements

  • Refactored the DashboardClass constructor to accept a partial DashboardServiceConfig, allowing more flexible and explicit service configuration for test dashboards. [1] [2]
  • Updated entity instantiation in ExploreTree.spec.ts and related tests to use the new DashboardClass constructor signature, passing service configuration as an object instead of just a name. [1] [2]
  • Added beforeAll and afterAll hooks in ExploreTree.spec.ts to programmatically create and delete test entities (TableClass, DashboardClass, ApiEndpointClass, SearchIndexClass), ensuring tests have isolated and unique data and that resources are cleaned up after test execution. [1] [2]

Codebase Consistency and Minor Improvements

  • Updated imports in ExploreTree.spec.ts to use the new entity class structure, ensuring consistency and clarity in test setup.
  • Fixed entity name assignment in DashboardClass to correctly use the provided name or fallback to a generated one.

@aniketkatkar97 aniketkatkar97 self-assigned this Aug 3, 2026
@aniketkatkar97
aniketkatkar97 requested a review from a team as a code owner August 3, 2026 15:38
Copilot AI review requested due to automatic review settings August 3, 2026 15:38
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

❌ PR checklist incomplete

This PR cannot be merged until the following are addressed on its linked issue:

  • No GitHub issue is linked. Link an issue in the Development section of the PR (or add Fixes #12345 to the description). For a same-org cross-repo issue, add Fixes open-metadata/<repo>#123 to the description.

The fields live on the linked issue in the Shipping project (open the issue → right sidebar → Projects). After you set them, re-run this check (or push a commit) — issue/project changes do not re-trigger it automatically.

Maintainers can bypass this check by adding the skip-pr-checks label.

@github-actions github-actions Bot added safe to test Add this label to run secure Github workflows on PRs UI UI specific issues labels Aug 3, 2026
@gitar-bot

gitar-bot Bot commented Aug 3, 2026

Copy link
Copy Markdown
Code Review ✅ Approved

Refactors Playwright test data management for dashboard entities and adds programmatic creation and cleanup hooks in ExploreTree.spec.ts to fix test failures. No issues found.

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 | Powered by Gitar — free for open source

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.

Pull request overview

This PR aims to fix the ExploreTree Playwright spec failure by improving E2E test data isolation/cleanup and making service naming deterministic so created services reliably appear in the Explore Tree’s capped, alphabetically-sorted service bucket.

Changes:

  • Refactors DashboardClass constructor to accept a partial dashboard service configuration and fixes dashboard entity name assignment.
  • Updates ExploreTree.spec.ts to create unique test entities in beforeAll and delete them in afterAll, using digit-prefixed service names to ensure deterministic ordering/visibility in Explore Tree buckets.
  • Updates CustomPropertiesApiContract.spec.ts to use the new DashboardClass constructor signature.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
openmetadata-ui/src/main/resources/ui/playwright/support/entity/DashboardClass.ts Adds DashboardServiceConfig, adjusts constructor signature, and fixes dashboard entity name initialization.
openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ExploreTree.spec.ts Creates/deletes isolated test entities via hooks and uses digit-prefixed service names to avoid Explore Tree bucket truncation issues.
openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/CustomPropertiesApiContract.spec.ts Updates dashboard entity creation to pass service config object to DashboardClass.

this.serviceType = ServiceTypes.DASHBOARD_SERVICES;

const serviceName = name ?? `pw-dashboard-service-${uuid()}`;
const serviceName = service?.name ?? `pw-dashboard-service-${uuid()}`;
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

✅ Playwright Results — workflow succeeded

Validated commit e1a04d7814eace414f67b239738a3c26eb5d1ac5 in Playwright run 30828448924, attempt 1.

✅ 582 passed · ❌ 0 failed · 🟡 0 flaky · ⏭️ 3 skipped · 🧰 0 lifecycle flaky

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) 55m 35s

⏱️ Max setup 3m 13s · max shard execution 17m 9s · max shard-job elapsed before upload 20m 23s · reporting 6s

🌐 201.02 requests/attempt · 2.80 app boots/UI scenario · 21.87% common-shard skew

Optimization targets still in progress:

  • Common shard skew was 21.87% (convergence target: at most 15%).
  • Browser traffic was 201.02 requests per attempt (convergence target: fewer than 200).
  • Application boot ratio was 2.8 per UI scenario (1640 boots / 585 scenarios; convergence target: at most 1).
Shard Passed Failed Flaky Skipped Lifecycle failed Lifecycle flaky
✅ Shard chromium-01 91 0 0 0 0 0
✅ Shard chromium-02 112 0 0 3 0 0
✅ Shard chromium-03 108 0 0 0 0 0
✅ Shard chromium-04 120 0 0 0 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 34 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 29 0 0 0 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

@aniketkatkar97
aniketkatkar97 added this pull request to the merge queue Aug 3, 2026
Merged via the queue into main with commit 0dfda4b Aug 4, 2026
76 of 78 checks passed
@aniketkatkar97
aniketkatkar97 deleted the fix-explore-tree-spec branch August 4, 2026 01:40
aniketkatkar97 added a commit that referenced this pull request Aug 4, 2026
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.

3 participants