From cfbe1654532e4f63e1c48f61bcb493a2eebc9ed1 Mon Sep 17 00:00:00 2001 From: Pere Miquel Brull Date: Thu, 10 Sep 2026 10:43:42 +0200 Subject: [PATCH] test(ui): migrate column-grid browser checks Replace 22 browser variants with real component integration tests. Retain three browser contracts and preserve the full migration audit. Refs #33120 --- docs/index.md | 1 + .../testing/playwright-migration/MIGRATION.md | 109 ++ .../playwright-migration/QUEUE-ANALYSIS.md | 509 ++++++ docs/testing/playwright-migration/README.md | 220 +++ .../evidence/all-definitions.csv.gz | Bin 0 -> 159348 bytes .../evidence/all-files.csv | 397 +++++ .../evidence/all-queue-cases.csv.gz | Bin 0 -> 271211 bytes .../evidence/all-spec-instances.csv.gz | Bin 0 -> 150458 bytes .../evidence/queue-daily-outcomes.csv | 9 + .../evidence/recent-queue-runs.csv | 31 + .../evidence/repeated-test-failures.csv | 26 + .../evidence/representative-spec-costs.csv | 357 +++++ .../evidence/summary.json | 1422 +++++++++++++++++ .../playwright-migration/migration-cases.csv | 212 +++ .../resources/ui/eslint-suppressions.json | 2 +- .../e2e/Features/ColumnBulkOperations.spec.ts | 904 +---------- .../eslint-rules/tests/corpus.test.mjs | 2 +- .../ColumnGrid.integration.test.tsx | 674 ++++++++ .../ui/src/test/unit/HttpTestServer.utils.ts | 112 ++ 19 files changed, 4122 insertions(+), 865 deletions(-) create mode 100644 docs/testing/playwright-migration/MIGRATION.md create mode 100644 docs/testing/playwright-migration/QUEUE-ANALYSIS.md create mode 100644 docs/testing/playwright-migration/README.md create mode 100644 docs/testing/playwright-migration/evidence/all-definitions.csv.gz create mode 100644 docs/testing/playwright-migration/evidence/all-files.csv create mode 100644 docs/testing/playwright-migration/evidence/all-queue-cases.csv.gz create mode 100644 docs/testing/playwright-migration/evidence/all-spec-instances.csv.gz create mode 100644 docs/testing/playwright-migration/evidence/queue-daily-outcomes.csv create mode 100644 docs/testing/playwright-migration/evidence/recent-queue-runs.csv create mode 100644 docs/testing/playwright-migration/evidence/repeated-test-failures.csv create mode 100644 docs/testing/playwright-migration/evidence/representative-spec-costs.csv create mode 100644 docs/testing/playwright-migration/evidence/summary.json create mode 100644 docs/testing/playwright-migration/migration-cases.csv create mode 100644 openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx create mode 100644 openmetadata-ui/src/main/resources/ui/src/test/unit/HttpTestServer.utils.ts diff --git a/docs/index.md b/docs/index.md index 6c0aa0956431..d4857a4883c8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -63,6 +63,7 @@ verdict cites an artifact that was checked to still exist): | `docs/golden-principles.md` | 8 candidate repo-wide invariants (DRAFT for ratification), each with a measured adherence number + reproducing command | Cite/enforce an invariant (acyclic modules, ServiceSpec contract, generated-as-sink, no bare `except:`, …) | 2026-07-24 | CURRENT | | `docs/tech-debt.md` | Prioritized (impact÷size, 3 tiers) ledger of 21 audit findings, each with location, size, and agent-fixability | Pick up a bounded cleanup, or understand a known structural debt before working near it | 2026-07-24 | CURRENT | | `docs/quality.md` | One evidence-cited quality grade (A–C / Not assessed) per Maven module | Gauge a module's structural health / known debt before a large change | 2026-07-24 | CURRENT | +| [Playwright component migration audit](testing/playwright-migration/README.md) | Complete source/queue classification, queue analysis, and migration follow-up | Moving UI assertions from full-stack browser tests into component integration tests | 2026-09-10 | Historical snapshot at `44823acd`; implementation status recorded separately | ## Assets (`docs/assets/`) diff --git a/docs/testing/playwright-migration/MIGRATION.md b/docs/testing/playwright-migration/MIGRATION.md new file mode 100644 index 000000000000..a9bd62bb482d --- /dev/null +++ b/docs/testing/playwright-migration/MIGRATION.md @@ -0,0 +1,109 @@ +# Column-grid migration and remaining candidates + +This implements the first family from the [September 10 audit](README.md). It does **not** remove all 211 candidates. The complete audit remains a historical snapshot at `44823acd`; implementation started from `e006fd96`. The six candidate spec files did not change between those commits. + +| Disposition | Original queue cases | Meaning | +|---|---:|---| +| Migrated in this PR | 22 | Column-grid UI assertions now run in Jest with the real components and controlled HTTP responses | +| Retained column-grid browser contracts | 3 | Authenticated page, browser editor input, and real background update | +| Retained for follow-up | 186 | Permission, general pagination, and nested-entity matrices need their own real component/page replacements | +| **Reviewed first-migration set** | **211** | Every expanded case has a disposition in the ledger | + +The [211-row migration ledger](migration-cases.csv) records the original queue case ID, source definition, title, disposition, replacement test name and follow-up rationale. One replacement may consolidate several overlapping browser cases. **The 19 new Jest cases are not 19 additional end-to-end journeys.** + +## What changed + +[ColumnGrid.integration.test.tsx](../../../openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx) renders the actual `ColumnGrid`, table rows, design-system controls, filters, edit drawer, rich-text editor, hooks, router and query provider. It uses the existing Jest/jsdom/Testing Library stack. No new runner or package dependency is introduced. + +[HttpTestServer.utils.ts](../../../openmetadata-ui/src/main/resources/ui/src/test/unit/HttpTestServer.utils.ts) replaces the Axios transport adapter. The actual REST functions, query encoding and Axios interceptors still run. It rejects unexpected endpoints and reports them after the test even if application error handling catches the rejection. Request recording is bounded. Deferred responses and the existing fake clock control loading and request ordering without wall-clock sleeps. + +The suite undoes the global `ToastUtils` mock and renders the real toast provider for validation and failure feedback. The repository's existing translation/DOM setup remains in use; these tests do not establish translation correctness, layout, hit-testing or native browser editor behavior. The grid, its children, state hooks, request builders and design-system controls are not replaced with mocks. + +The migrated behavior includes: + +- Exact statistics, real rows, empty search results and request/URL query encoding. +- Applying, restoring and clearing metadata/service/entity-type filters. +- Keeping totals while a request is pending and rejecting stale search responses. +- Selection, cancellation, aggregate occurrence counts, multiple independent selections, drawer fields and unsaved-edit discard. +- Exact outgoing update bodies for both occurrences; pending state; failure recovery; rejecting an unchanged submission without scheduling a job. +- Expanding a supplied STRUCT child and opening the correct child's edit form. +- Cursor navigation, rendering a different page, preserving overall totals, going back and resetting the cursor for a new search. + +The retained [Playwright spec](../../../openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ColumnBulkOperations.spec.ts) covers: + +1. The authenticated column page against its real endpoint and application routing. +2. Typing spaces into the real browser editor and closing its drawer. +3. Submitting a real bulk update, receiving its notification and observing both occurrences updated in the server index. + +The page helper opens the feature route directly. Local validation showed the shared sidebar helper still expected the previous sidebar structure; repeatedly exercising that helper is not needed for the column-grid contract. Sidebar navigation deserves its own current component/browser coverage. + +The ESLint suppression baseline drops five positional-locator allowances removed with the retired cases; the two remaining allowances belong to the retained browser spec. + +## Assertion improvements + +The old pagination case guarded its assertions with `if (isNextEnabled)`. The replacement supplies two deterministic pages and requires navigation to change the displayed column, transmit the cursor, preserve totals and reset on search. + +The old nested-child case could skip all child assertions when the child checkbox was absent. The replacement requires the child row and checks the identity in its edit form. + +The old progress case queried `pending-changes-progress-spinner`. `ColumnGrid` passes that attribute to `Loader`, but `Loader` does not forward it and renders `data-testid="loader"`. The replacement checks the actual loader inside the pending-changes card. + +The old multi-occurrence update case accepted any request containing at least two matching-looking names. The replacement checks exactly one update for each of two distinct FQNs, including entity type, display name and absence of unintended fields. A real server-index assertion remains in Playwright. + +## Why the other 186 cases remain + +| Suite | Cases | Required replacement before retirement | +|---|---:|---| +| Entity permissions | 46 | Actual headers, descriptions, tags, management menus and entity-specific tabs with real permission providers; preserve backend enforcement tests | +| Service permissions | 44 | Actual service controls, AutoPilot affordances and child-list guards across service types | +| Data-quality permissions | 25 | Actual test-case/library/bundle/profiler controls and route guards under allowed and denied responses | +| General pagination | 35 | Actual listing consumers, search resets, page-size changes, cursor requests, URL restoration and version views | +| Nested entity updates | 36 | Actual mutation handlers and immediate nested-row updates across eight entity types, including distinct serializers/endpoints | + +A permission utility test does not establish that a page uses its result. A `usePaging` test does not establish that all 35 consumers request and render the correct page. A nested-array utility test does not establish that every entity applies the mutation response. Those gaps are why this PR implements one complete family rather than deleting the whole candidate set. + +## Follow-up discovered during implementation + +An exploratory component test delivered a successful bulk-job notification and supplied a refetched row with the **same ID** but updated values. The refetch ran and pending state cleared, yet the rendered data-type cell retained the previous value in jsdom. This is an investigation lead, not a confirmed browser defect or a regression introduced here. + +Reproduce by rendering `customer_id` with `VARCHAR`, submitting its edit, delivering the active job's completion through `WebSocketContext`, and returning the same column ID with an updated display name and data type from the next grid GET. Assert the refreshed cell and reopened form separately. Inspect the interaction between `ColumnGridTableRow` and the core `Table.Row` collection: the column definitions are stable while the cell renderer closes over changing row data. + +The real job/notification contract remains in Playwright. Establish browser behavior and add an isolated row-refresh regression before migrating that contract or changing collection invalidation. The exploratory same-ID assertion is not included among the 19 passing migration cases and is not used to justify any of the 22 removals. + +## Cost and rollout + +The 22 removed cases consumed **399,283 ms (6.65 cumulative worker-minutes)** in the audited queue run. This is **0.49% of the 4,488 planned product cases**. It is historical test-worker duration, including attempts, not measured queue wall-clock savings. Retained setup, shard tails and replacement execution still cost time. + +Run the pilot through the existing required frontend and browser lanes. Compare actual queue verdict latency, worker time and retry counts before widening the migration. No workflow, branch-rule, retry-budget or shard-allocation changes are included. + +## Validation + +The final targeted Jest run passed **33 tests across four suites** (19 new integration cases plus the existing row, pagination control and paging-hook suites). The **three retained Playwright cases passed in the repository's Chromium project against the workspace Vite UI and the local backend**, including the new assertion that both occurrences reached the server index; their local run took 52.7 seconds with one worker and no retries. Admin authentication was prepared separately without changing server security configuration. The full CI provisioning/sharding workflow was not rerun. + +Three temporary source faults were checked: disabling the stale-response guard, omitting the search query from the HTTP request, and omitting the second occurrence from the update payload. Each made its corresponding integration test fail. All modified production files were restored byte-for-byte before the passing final run. + +Changed-file ESLint/Prettier, license/pre-commit checks, all 114 lint-rule tests and i18n validation pass. Application-doc generation produces no diff, and the generated Playwright rule table is current. The suppression baseline and its exact-count guard both decrease by five. + +Whole-repository TypeScript checks remain red. A compiler-API comparison against the same checkout with the original spec and without the two new test-support files produced **identical diagnostics**: 599 for the UI project and 165 for Playwright, with no additions or removals. This is a baseline limitation, not a claim that type checking passes. The CLI checks were also attempted; their incremental diagnostic counts differed, so the like-for-like compiler comparison is the attribution evidence. + +Validation results and reproduction commands are recorded in the PR description. The new suite's initial coverage run passed **19 cases**. It measured **69.51% line coverage of `ColumnGrid`**, **62.67% of its listing hook**, **83.01% of its filter hook**, **94% of `ColumnGridTableRow`** and **100% of `ColumnGridRow`**. These are the pilot's coverage numbers, not whole-application coverage or proof that all grid behavior migrated. No production implementation changes are included, so a changed-production-class coverage target does not apply. + +Before expanding the migration, preserve the case-level mapping, demonstrate failure for an intended regression, run the retained browser contracts, and measure the resulting gate rather than extrapolating queue speed from test counts. + +Run the frontend tests from `openmetadata-ui/src/main/resources/ui`: + +```sh +yarn test --runInBand --runTestsByPath \ + src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx \ + src/pages/ColumnBulkOperations/ColumnGrid/components/ColumnGridTableRow.test.tsx \ + src/components/common/NextPrevious/NextPrevious.test.tsx \ + src/hooks/paging/usePaging.integration.test.tsx +``` + +For the isolated browser run, use a prepared local stack and `playwright/.auth/admin.json` containing authentication state, including IndexedDB, for the same UI origin. The spec creates and deletes its own edit fixtures. This command skips shared authentication/entity setup: + +```sh +PLAYWRIGHT_TEST_BASE_URL=http://localhost:3001 PW_PRESEEDED_STATE=true \ + PLAYWRIGHT_IS_OSS=true yarn playwright:run \ + playwright/e2e/Features/ColumnBulkOperations.spec.ts \ + --project=chromium --workers=1 --no-deps +``` diff --git a/docs/testing/playwright-migration/QUEUE-ANALYSIS.md b/docs/testing/playwright-migration/QUEUE-ANALYSIS.md new file mode 100644 index 000000000000..ed4cd5dd864e --- /dev/null +++ b/docs/testing/playwright-migration/QUEUE-ANALYSIS.md @@ -0,0 +1,509 @@ +# OpenMetadata Playwright and merge queue audit + +Audited on **9 September 2026**, at repository commit **`44823acde1c85ccc20d9f62c588169567fc28c90`**. This is an assessment with reproducible evidence and proposed changes. Application code, tests, workflows, branch rules, and external issues were not changed. + +## 1. Decision + +**Keep Playwright for browser integration tests. Change the test portfolio and the merge gate.** The evidence does not justify a migration to another browser framework. It does justify reducing repeated full-application work, repairing unreliable tests, making setup reuse effective, and separating trustworthy test verdicts from report production. + +The current suite protects substantial real behavior: discovery, metadata editing, lineage interactions, governance, role-dependent UI, ingestion administration, and data quality. It also runs many entity/role/validation combinations through the complete application. Those combinations are candidates for API and component tests, with representative browser journeys retained. A large browser suite is not inherently wrong; its cost and residual failure rate are incompatible with the present queue arrangement. + +The strongest findings are: + +1. **Queue damage is measurable.** The repository's daily report showed a median total queue wait of **18.6 hours**, a **41% first-pass rate**, and `playwright-summary` associated with **18 dequeued commits**. A separate history query found **598 failed Playwright workflows among 1,331 completed merge-group runs**, or **44.9%**, in the observed September 2–9 window. That is a workflow failure rate, not a test flake rate or a count of unique blocked PRs. +2. **Recent fixes have helped, but current test failures remain.** In the latest 30 completed runs sampled, 25 gates passed and 5 failed. Each failure had a reported test failure; none was an infrastructure-only gate failure. Every run also had at least one test that failed an attempt and passed on retry: **210 retry-rescued cases in total**. +3. **Provisioning is a large, repeated serial cost.** All 30 runs executed seeded-environment preparation. That job took a median **17.05 minutes**, before the shard matrix could run. Median queue-run creation to required Playwright verdict was **61.14 minutes**. +4. **There are reproducible process defects.** Boolean workflow inputs cannot be set to false; the budget-alert expression interprets false as true; its issue lookup also has invalid CLI arguments. A documentation-only change selects the full suite, while a shared lineage helper change omits an actual consumer. The committed generated impact map is stale. +5. **A green run has fidelity limits.** Shared setup disables the application's ETag conditional reads. The default CI bundle also differs from the ordinary build. These are deliberate optimizations/workarounds that need a small test lane exercising normal application behavior. + +The first intervention should be targeted reliability and orchestration work. Broadly disabling retries, extending every timeout, adding workers, or moving everything to nightly would leave important problems unresolved. + +## 2. What was validated + +This audit combines four kinds of evidence: + +| Evidence | Scope | What it establishes | +|---|---|---| +| Repository inspection | Main configuration, fixtures, selectors, planner, reporters, workflows, representative specs, lower-level test configuration | Intended execution paths and concrete implementation behavior | +| Live GitHub configuration | Effective rules for `main`, including merge queue and required checks | What actually gates merging, independently of comments and documentation | +| Hosted execution evidence | 1,336 queue workflow records; detailed jobs and artifacts for 30 recent completed runs; three historical incident runs | Observed latency, results, retries, provisioning, and execution accounting | +| Local behavioral checks | 154 Python CI-tooling tests; selector probes; impact-map regeneration; shell-expression reproductions | Several current defects reproduced without changing application code | + +The 30-run sample is the latest completed sample at collection time, with start times **2026-09-09 11:04:49–13:08:41 UTC**. It is a short, overlapping operational sample, not 30 independent randomly selected commits. The wider history covers run start times **2026-09-02 00:35:56 through 2026-09-09 14:09:16 UTC**. Five runs were still in progress at that snapshot. Recent workflow changes mean the whole-window rate must not be presented as the unchanged current rate. + +The full browser suite was **not rerun locally**. UI dependencies and the full service stack were not installed for this audit. Actual hosted results were inspected instead. A static inventory of all specs is not a line-by-line proof that every assertion is correct, and this report does not claim that. + +Evidence is preserved in analysis.json (original local evidence: `analysis.json`), the complete queue history (original local evidence: `queue-runs-complete.json`), [recent run measurements](evidence/recent-queue-runs.csv), [per-spec cost measurements](evidence/representative-spec-costs.csv), and the `runs/` directory. Source links below refer to the audited commit where possible. + +## 3. How Playwright is currently used + +### 3.1 The principal test system + +The application pins `@playwright/test` **1.57.0**. The main configuration uses desktop Chromium, enables parallel execution, normally gives CI three workers per common shard, and retries a failed test once. Defaults are a 60-second test timeout and a 15-second assertion timeout. Dedicated projects reduce concurrency or isolate tests that mutate global settings or perform expensive stateful operations. Traces are normally captured on the first retry and screenshots on failure. The nearby comment promises more than the default configuration actually records; video is not enabled there. [Configuration][config] + +This is substantial integration testing: the browser talks to a real OpenMetadata server, backed by PostgreSQL and OpenSearch in the principal queue lane. CI builds the application, prepares a seeded environment, restores/clones that environment into multiple runner jobs, and executes the selected projects. API helpers create much of the prerequisite data. Separate server instances isolate shards, while tests within a shard still need their own entity and user state. [Reusable workflow][reusable] + +There are **394 `.spec.ts` files** in the inventoried Playwright tree: 251 under Features, 87 Pages, 34 Flow, 7 Auth, 6 VersionPages, 3 VisualRegression, 3 nightly, 2 Search, and 1 Http2. These are source file counts. They are neither the count of executed tests nor a measure of business coverage. + +A representative current green run, [34355232120][representative], reported **4,490 results**: 4,485 passed, 4 passed after retry, and 1 was skipped. Its coverage verifier accounted for **4,488 distinct planned product test IDs**. Some cases are API-only tests run by the Playwright runner. The run used **37 shard jobs**. The timing history breaks the distinct product cases down as follows: + +| Project | Cases in this run | Main responsibility | +|---|---:|---| +| chromium | 3,579 | Most feature, page, entity, role, and workflow tests | +| Basic | 345 | Basic-project specs; this is larger than the six-spec PR smoke selection | +| ImportExport | 150 | Import/export behavior, with constrained concurrency | +| AdvancedSearch | 130 | Search query construction and application behavior | +| Ingestion | 86 | UI administration and ingestion-related workflows | +| DataAssetRulesDisabled | 34 | Behavior with global data asset rules disabled | +| DataAssetRulesEnabled | 31 | Behavior with rules enabled | +| SearchRBAC | 29 | Search visibility under access controls | +| Reindex | 28 | Reindex-related behavior | +| IntakeForm | 20 | Intake-form behavior | +| DomainIsolation | 16 | Domain-scoped isolation | +| Data Insight | 14 | Data insight behavior | +| search-nightly | 12 | Search tests that are also included in this full run | +| GlobalSettings | 11 | Global-setting behavior | +| SystemCertificationTags | 3 | System certification settings and tags | + +There is a small accounting inconsistency: two invocations of the `data-insight-application` setup test appear in the reporter's product totals. The coverage verifier correctly excludes that lifecycle project, leaving 4,488 planned IDs and 4,488 accounted IDs. Eight other lifecycle entries are reported separately. These counts should remain explicitly named rather than conflated into a single “coverage” number; the product/lifecycle classification should also be made consistent across reporters. + +### 3.2 PR selection and queue selection + +On pull requests, the selector combines six Basic smoke specs, directly changed specs, a manually maintained impact map, and a generated impact map. Shared infrastructure changes add canaries. Unmapped paths under recognized code roots fall back to the full suite. Merge-group events select the full suite. [Selector][selector], [manual impact map][impact-map] + +The six smoke specs cover Login, Navbar, Dashboards, LineageControls, DataMarketplace, and Policies. They are files containing multiple cases, not six individual tests. The shared-infrastructure canary is also substantial: it includes the 353-case Entity spec and dedicated project coverage. + +The dispatcher handles both regular PR and fork-PR event paths, along with label-based eligibility. Some workflow records are intentionally skipped/no-op successes. Mixing all event types into one pass-rate calculation would therefore produce a misleading result. This audit's history analysis filters to `merge_group`. [Dispatcher][dispatcher] + +### 3.3 Other coverage exists, but “full Playwright” does not mean all of it + +| Test system | Observed execution arrangement | Required by the current main rules? | +|---|---|---| +| Main PostgreSQL Playwright suite | PR selection; full merge-group matrix | **Yes**, through `playwright-summary` | +| App Jest tests | 1,419 app `.test` files in the inventory; `ui-coverage` workflow | **Yes**, job-result check; separate Sonar verdict is not required | +| Core component tests | 10 test/spec files; Vitest configuration and Storybook tooling | No separate required core-test check found | +| Java API/integration tests | 347 `*IT.java` files, including 34 `*UIIT.java` files | Main database/search integration checks are required | +| Java Playwright UIITs | PR/merge-group workflow with internal path selection; workflow filename still says nightly | `java-ui-it` is **not** currently required | +| RDF / knowledge graph Playwright | Separate workflow and summary | `playwright-rdf-summary` is **not** required | +| Visual regression | Three spec files; pinned Playwright container for rendering parity; UI-path PR trigger | No required visual check | +| External-provider SSO | Scheduled SSO login workflow | No required SSO check | +| Mock OIDC Playwright config | Separate Chromium/WebKit config exists | No in-repository workflow reference to that config found | +| MySQL/PostgreSQL “nightly” E2E workflows | `workflow_dispatch` in the inspected files | Not evidence of a functioning daily schedule | +| Search “nightly” workflow | Manual trigger, with its project also present in the full main suite | Covered in part by the main suite | + +The main suite is not a browser compatibility matrix. There is no broad Firefox, WebKit, or mobile matrix in this gate. Existing isolated WebKit/SSO configuration should not be mistaken for general Safari coverage. I did not find an integrated axe-based accessibility pass in the inspected main Playwright setup. Some locale-specific regressions exist; locale coverage is not completely absent. + +The visual workflow's PR paths include `openmetadata-ui/**` but omit `openmetadata-ui-core-components/**`. A component-library-only edit can therefore miss this visual trigger. Its pinned rendering container is a good practice to retain. [Visual workflow][visual] + +`ui-coverage` passes on successful or legitimately skipped test jobs. The separate Sonar gate reports its own result. The current rules require the former, not `ui-sonar-gate`; there is no local Jest `coverageThreshold`. Thus a documented 90% new-code target should not be described as an enforced merge requirement without correcting that configuration. A percentage would still not establish that the right behaviors are asserted. [Coverage workflow][yarn-coverage], effective rules (original local evidence: `effective-main-rules.json`) + +## 4. What is happening to the merge queue + +### 4.1 The actual queue contract + +The active [main ruleset][ruleset] allows **five concurrent merge-group builds**, merges between **one and three entries**, requires `ALLGREEN`, and waits up to **240 minutes** for checks. The configured 30-minute minimum-batch wait is not a compulsory extra 30 minutes for every PR: the minimum batch size is one. + +Required checks are `java-checkstyle`, `py-checkstyle`, `integration-tests-mysql-elasticsearch`, `integration-tests-postgres-opensearch`, `py-tests-status`, `playwright-summary`, `ui-checkstyle`, and `ui-coverage`. + +GitHub builds temporary commits incorporating queued changes. A failed required check can remove an entry and force affected downstream groups to be rebuilt. Merge limits and build concurrency are different controls; increasing the merge batch limit does not simply combine all those test builds into one. [GitHub merge queue documentation](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue) + +At the observed 33–38 Playwright shards per full run, five simultaneous queue groups can offer **165–190 shard jobs**, before PR runs and other workflows. This is potential demand, not measured runner saturation. Runner limits, CPU utilization, and billed cost were not available in this audit. + +### 4.2 Measured queue health + +The repository's [September 9 daily report][daily-run], emitted at 07:31 UTC for the preceding 24 hours, reported: + +| Metric | Reported value | +|---|---:| +| Queue depth | 45 | +| Projected drain time at recent throughput | 37 hours | +| Throughput | 1.21 merges/hour | +| Median total wait | 18.6 hours | +| Reported “first-pass” median latency | 7.5 hours | +| First-pass rate | 41% | +| Merged via queue / inferred bypasses | 29 / 7 | +| Wasted passes | 32 | +| Non-merge removals | 24: 18 failed checks, 4 manual, 2 conflicts | +| `playwright-summary` occurrences among failed checks on dequeued commits | 18 | + +This establishes that Playwright was a major associated blocker. It does not establish that every one of those removals was caused solely by a flaky browser test. Checks can fail together. + +The wider merge-group workflow query produced: + +| Run start date, UTC | Success | Failure | Cancelled | In progress at snapshot | +|---|---:|---:|---:|---:| +| September 2 | 88 | 83 | 0 | 0 | +| September 3 | 82 | 140 | 1 | 0 | +| September 4 | 114 | 114 | 0 | 0 | +| September 5 | 82 | 74 | 0 | 0 | +| September 6 | 10 | 6 | 0 | 0 | +| September 7 | 126 | 49 | 1 | 0 | +| September 8 | 109 | 98 | 0 | 0 | +| September 9, partial | 120 | 34 | 0 | 5 | +| **Total** | **731** | **598** | **2** | **5** | + +Among 1,331 completed workflows, **44.9% failed**. Workflow creation-to-update duration had a median of 56.92 minutes and p95 of 71.90 minutes. That duration can include post-verdict timing-baseline work; the recent sample below uses the required summary job's completion time instead. + +Only three records had `run_attempt=2`. That does not imply little retrying: a newly synthesized queue commit creates a different workflow run, and Playwright's internal test retry does not increment GitHub's workflow attempt counter. + +### 4.3 The recent sample separates current problems from old incidents + +| Measure | Recent 30 completed runs | +|---|---:| +| Required Playwright verdicts | 25 success, 5 failure | +| Infrastructure-only failed verdicts | 0 | +| Runs with at least one retry-rescued test | 30 / 30 | +| Retry-rescued test cases | 210; median 7/run | +| Required gate latency | Median 61.14 min; p95 71.60 min | +| Seed preparation executed | 30 / 30 | +| Preparation job | Median 17.05 min; p95 21.86 min | +| Build job | Median 6.26 min | +| Summary job | Median 2.44 min | +| Shard count | Median 36; range 33–38 | +| Sum of job execution time | Median 699.97 runner-min/run, about 11.7 runner-hours | +| Total job execution time across sample | About 349.7 runner-hours | + +Runner time is the sum of job start-to-completion durations. It is not wall time, dollar cost, or automatically wasted compute. Parallel Playwright worker durations are another measure again and should not be added to runner hours. + +The representative run's critical path makes the serial costs visible: + +```mermaid +flowchart LR + A["Queue run created
13:08:41"] --> B["Build
13:11:21–13:18:12"] + B --> C["Plan and restore lookup
13:18:15–13:20:32"] + C --> D["Prepare seeded environment
13:20:35–13:40:59"] + D --> E["37 shard jobs
last finishes 14:06:27"] + E --> F["Required summary
14:06:30–14:08:55"] + F --> G["Timing refresh finishes
14:09:16"] +``` + +The measured HTML/report-upload phase was 17 seconds in that run, but the entire summary job took 2.42 minutes. Similarly, the shard environment metric excludes the separate 20.4-minute preparation job. Current budget names and phase metrics can look healthy while the complete gate still takes an hour. + +### 4.4 Confirmed historical incidents, with current status + +**Report infrastructure made a fully executed green matrix red.** In [run 34312746335][report-incident], all 37 shard jobs passed, and timing coverage accounted for all 4,483 planned tests. The summary could not download native JSON results; it reported zero test failures and 75 infrastructure issues, and failed the required gate. The audited HEAD already includes the relaxation from PR #33010 / commit `dfa612d9dd`: merge-group verdicts now require a successful shard matrix and no reported failed tests, while allowing reporting infrastructure problems. This should not be presented as an unfixed current bug. + +**Earlier shard terminations lost real execution coverage.** In September 4 runs [33862281607][timeout-incident-1] and [33869395948][timeout-incident-2], 584 of 4,464 planned IDs were missing from reported execution, about 13.1%. Three common shards failed. The current workflow has a 60-minute hang wrapper and 75-minute job timeout, with performance budgets advisory. Those timeout changes mitigate the earlier cutoff, but do not repair test or setup cost. Missing IDs must not be described as successful tests. + +**One recent green run correctly tolerated a report dependency failure.** Run [34350084849][report-advisory] recorded a summary dependency-installation issue but passed with a green matrix. That is the intended effect of the reporting-policy change. + +## 5. Current failures and why retries are not a strategy + +The five failed runs in the recent sample reduce to three test variants: + +| Variant | Observed final failures | Evidence and next investigation | +|---|---:|---| +| TestSuitePipelineRedeploy: redeploy all test-suite pipelines | 1 | [Run 34354609470][redeploy-failure] expected deployment statuses `[200, 200]`, received `[400, 200]`. Investigate the specific pipeline and response body. The test creates two pipelines but selects the first two rows in a global listing, not those pipeline IDs. | +| GlobalPageSize: page size persists across pages | 2 | [Run 34350081016][page-size-failure] and [34343844656][page-size-failure-2] exhausted the 60-second test limit. Inspected first-attempt evidence also contains a predicate-wait timeout. Separate slow navigation, state readiness, and incorrect expectations before adjusting a budget. | +| DomainDataProductsWidgets: domain asset count after removal | 2 | [Run 34349824126][widget-failure] and [34349258398][widget-failure-2] exhausted the test limit. Inspected first-attempt evidence includes an expected containment value being null. Review indexing/readiness, server state, and the serial suite's prior mutations. | + +These are failed test assertions or timeouts after retries, not proven product defects and not automatically proven flakes. The redeploy 400 may represent a real application/environment failure. The global-row selection is independently visible test fragility regardless of that response's root cause. [Redeploy test][redeploy-spec] + +The most repetitive unstable variant was **“Create and resolve description task for Pipeline via UI”**: it failed an attempt and passed on retry in **21 of 30 runs**, or 70% of this sample. A sampled attempt timed out at roughly 60 seconds and the retry passed in roughly 31 seconds. The shared task helper opens the first task card, creating another reason to bind selection to the task created by the test. That is an investigation lead, not proof of this timeout's cause. [Task flow][tasks-spec], [failure frequency data](evidence/repeated-test-failures.csv) + +The domain widget suite also has serial dependencies, repeated home-page initialization, and some loader waits whose errors are discarded. A serial journey should either be one coherent test or establish each test's own prerequisites. Broadly swallowing readiness failures delays a useful error until a later timeout. [Widget test][widget-spec] + +Playwright starts a fresh worker after a failure; `beforeAll` can run again, and serial groups have group-level retry behavior. Fresh browser state does not undo application database changes. Unique entities, specific selectors, and cleanup remain necessary. [Playwright retry documentation](https://playwright.dev/docs/test-retries) + +Recommended handling: + +- Keep the current retry allowance during stabilization. Under the observed first-attempt outcomes, every run in this sample would have encountered a failure without retry recovery. This does not predict the exact behavior of a differently scheduled zero-retry run. +- Preserve first-attempt error, response, and trace evidence for identified unstable variants. The default first-retry trace can show a passing retry while missing the original failure. +- Assign a repair owner to each stable test ID and distinguish product regression, test state collision, selector/readiness failure, service failure, and reporting failure. +- Quarantine narrowly, with a linked issue, owner, expiry, replacement protection for critical behavior, and a regularly executed recovery lane. +- Record both final gate success and first-attempt stability. A retry-rescued test remains useful, but its green final result is not evidence of reliability. + +The repository already supports `@quarantine` and a `PLAYWRIGHT_RUN_QUARANTINED` opt-in. I found no workflow setting that variable to run the recovery lane. A quarantine facility without an exercised return path can silently reduce coverage. [Quarantine configuration][config] + +The current 0.5% flaky-case budget can permit about 22 retry-rescued cases in a 4,490-case run. All recent runs can stay below that threshold while the queue is still unreliable. Gate reliability needs its own target. As an illustrative independent-failure model, `P(all pass) = (1 - q)^4490`; achieving 99% suite success would require residual per-case failure probability near 2.24 parts per million. Real service failures are correlated, so this is an explanation of aggregation sensitivity, not an estimate of actual failure probability. + +## 6. Test portfolio: retain the behavior, change where combinations run + +Playwright is a strong fit for actual browser behavior: DOM interaction, browser navigation, downloads, canvas operations, focus, and application-to-server integration. Its own guidance emphasizes observable behavior, isolated state, and retrying assertions. Switching browser frameworks would not remove OpenMetadata's setup time, shared backend state, or the number of combinations currently placed in browser tests. [Playwright best practices](https://playwright.dev/docs/best-practices) + +The goal should be **a small set of explicit browser contracts, backed by broad cheaper coverage**, with full regression retained during migration. Browser and API assertions complement each other: UI visibility does not prove server authorization; an HTTP 200 does not prove that the user saw the correct result. + +| Behavior | Browser coverage to retain | Broader combinations to test elsewhere | +|---|---|---| +| Login, logout, route protection | Normal login, protected navigation, expiry/refresh, representative SSO callback, role switching | Token validation and authorization policy in backend tests; callback parsing and error states in component tests | +| Entity metadata editing | Search/open entity, edit description/owner/tag, save, reload and verify persistence | Entity type × field × permission combinations through API integration tests and component tests | +| Steward/consumer/admin behavior | Representative visible controls and an attempted prohibited action | Complete permission enforcement matrix through API tests; role-dependent component affordances with real components | +| Lineage | Drag/connect, pan/zoom, expand/collapse, modal interactions, persistence across reload | Graph transformation/layout helpers and edge validation with focused tests; server lineage traversal and authorization through API ITs | +| Advanced search | Compose representative filters, submit, navigate result, confirm visible semantics | Operator/type/null/escaping truth tables in parser, component, and search-engine integration tests | +| Custom properties | Each materially different editor interaction, save/error/reload behavior | Property type/entity/validation combinations in component and schema/API tests | +| Data contracts and semantic rules | Create/edit contract through the form, execute, show pass/fail/error state | Semantic rule truth tables, missing fields, bounds, and type errors below the browser layer | +| Widgets and page size | Placement, user preference persistence, cross-page integration, useful empty/error states | Widget state combinations and rendering using Jest/Vitest/Testing Library; counts and propagation through backend integration tests | +| Import/export | Browser upload/download, progress and error feedback, a successful round trip | File parsing, encoding, malformed rows, limits, and large datasets through direct API/processing tests | +| Ingestion and connectors | Configure one representative service, deploy, display status, inspect logs | Connector pagination/schema/types/error handling in Python tests; source-specific integration tests; deployment API checks | +| Reindex and search availability | Start operation and show completion/error feedback | Long-running lifecycle, consistency and engine-specific guarantees through Java integration tests | +| Visual quality and accessibility | Stable visual snapshots, keyboard/focus journeys, accessibility checks on representative screens | Component stories and state variations, with explicit supported-browser coverage | + +This does not require converting all API checks to Java. Playwright's `APIRequestContext` supports direct API testing without launching a browser, and is useful for setup and postconditions. An API-only project can be separated from browser provisioning. [Playwright API testing](https://playwright.dev/docs/api-testing) + +The repository already has a substantial Jest suite and an emerging Vitest/core-component suite. Extend those tools and existing component stories. Tests should exercise rendered behavior using real core components, with external boundaries mocked where appropriate; replacing the entire component tree with mocks only proves wiring. [Testing Library principles](https://testing-library.com/docs/guiding-principles/) + +### 6.1 Where to start, using measured cost + +The eight most expensive files in the representative run account for **520.3 test-worker minutes**, **38.4%** of the reporter's product-worker time, and **1,411 logical cases**: + +| Spec | Cases | Worker minutes, including observed test lifecycle work | +|---|---:|---:| +| Pages/Entity.spec.ts | 353 | 131.7 | +| Pages/Lineage/DataAssetLineage.spec.ts | 85 | 98.8 | +| Pages/ExplorePageRightPanel.spec.ts | 234 | 53.3 | +| Pages/CustomProperties.spec.ts | 173 | 50.1 | +| Pages/EntityDataSteward.spec.ts | 158 | 49.3 | +| Pages/EntityDataConsumer.spec.ts | 143 | 46.6 | +| Features/AdvancedSearch.spec.ts | 130 | 45.5 | +| Pages/ServiceEntity.spec.ts | 135 | 45.2 | + +This is a prioritization list, not a claim that 38.4% of work can be deleted. In particular, lineage interactions can justify real browser cost. Review each file's matrix dimensions: retain every distinct browser interaction and move repetitive backend or validation combinations only after equivalent lower-layer assertions exist. + +Additional useful candidates are DataContractsSemanticRules, with 41 cases and 21.0 worker-minutes, and BulkImport, with only 6 cases but 24.9 worker-minutes. Test count alone is a poor optimization target. Conversely, an API-only Tasks case took 61 milliseconds in the timing data: merely finding API calls inside a Playwright file does not establish that it is a major cost problem. + +Static pattern counts provide review leads, not a quality score. The inventory found `test.slow()` in 171 files, custom test timeouts in 50, serial declarations in 58, literal hard waits in 10, and request routing in 38. Hard sleeps are therefore not a sufficient explanation for the observed queue problem. Some timeout extensions, serialization, and route fixtures are legitimate. Review their purpose and observed cost. Static inventory (original local evidence: `static-inventory.json`) + +## 7. Coverage fidelity and blind spots + +### 7.1 Shared setup disables a normal application cache path + +`disableEtagConditionalReads()` writes `OM_DISABLE_ETAG_CONDITIONAL_READS=true`. Role-page fixtures, home navigation, and persisted authentication setup install the opt-out. The production interceptor explicitly explains that entity version/updatedAt does not cover every relationship/child mutation. [Shared helper][common], [role fixtures][pages-fixture], [production ETag interceptor][etag] + +This creates an important limit: the main suite predominantly verifies fresh unconditional reads, while normal users exercise conditional reads. The production client already invalidates its local cache on non-GET responses, so this finding is **not** proof that every ordinary edit is broken. Cross-session changes, background updates, and relationship-dependent representations still need an integration contract under normal caching. + +Add a small production-behavior lane that explicitly leaves the opt-out unset. For example: session A reads an entity; session B changes a relationship or child state; session A refetches the relevant fields and must display the new state. Add a backend assertion that the ETag/representation contract is correct for that change. Keep this protection until the underlying semantics permit removing the workaround. + +### 7.2 Other optimizations need explicit boundaries + +The shared server-load helper caches selected bootstrap responses in a bounded, identity-aware worker cache and stubs analytics by default. It deliberately excludes important dynamic endpoints such as permissions and the logged-in user. That is thoughtful existing work, and should be retained where it does not mask the contract under test. Tests specifically about analytics can opt in to collection. [Server-load helper][server-load] + +CI also defaults to an alternate coarse bundle, and raises the server's active-session limit to 10,000. These choices help the workload run but do not test ordinary bundle behavior or normal session-limit enforcement. Include a small default-build/auth/cache lane rather than multiplying the entire 4,490-case suite across every configuration. + +Browser contexts remain useful isolation. Sharing all contexts or one mutable server entity across tests to save startup time would trade away reproducibility. Reduce unnecessary app boots within a scenario, use browser-free API setup where possible, and give server-side mutable resources explicit ownership. + +### 7.3 Execution accounting is not requirement coverage + +`verify_playwright_coverage.py` reconciles planned IDs with timing/results and detects missing or duplicate execution. That is valuable infrastructure protection. It does not determine whether the selector chose the right tests, whether quarantined requirements remain protected, or whether a passing assertion checks the right result. [Coverage verifier][coverage-verifier] + +A useful coverage ledger should track: requirement/risk, owner, browser contract, API/component/connector coverage, entity/role/engine dimensions, excluded variants, and the evidence required to retire or relocate a test. For high-risk behavior, validate a representative deliberate defect: the wrong permission result, stale count, omitted persistence, or incorrect search operator should cause the intended test to fail. Use focused mutation or negative-case checks, not another test that mirrors internal method calls. + +## 8. Reproduced process defects + +### 8.1 Budget alerts silently treat a breach as success + +The workflow computes: + +```sh +met=$(jq -r '.budgetTargetsMet // true' "$performance") +``` + +In jq, `//` substitutes its right side for both null and false. The local reproduction `jq -n '{budgetTargetsMet:false} | .budgetTargetsMet // true'` prints `true`. Consequently this step exits with “All Playwright budget targets met” when the boolean is explicitly false. One of the recent sampled runs has a false shard-duration budget, so the false state is not merely hypothetical input. [Budget signal, line 366][budget-signal] + +Use an explicit missing/null check that preserves false, and test true, false, absent, and malformed payloads. Keep performance reporting advisory to merge correctness, but make alert delivery observable and tested. + +There is a second defect on the alert path: `gh issue list ... --jq --arg t ...` treats jq's `--arg` as arguments to `gh`. The equivalent read-only command fails argument parsing. Pipe JSON to a separate `jq --arg ...` invocation or use a valid `gh --jq` expression. Otherwise fixing the boolean alone still leaves issue publication broken. No issue was created or commented on during this audit. + +### 8.2 Manual experiment switches cannot be turned off + +The dispatcher passes both `full_suite` and `coarse_bundle` using the pattern: + +```yaml +full_suite: ${{ github.event_name == 'workflow_dispatch' && inputs.full_suite || true }} +``` + +An explicitly false input reaches `|| true`, producing true. The same bug affects `coarse_bundle`. This makes the declared A/B controls misleading and prevents an actual false dispatch from reaching the reusable workflow. Use boolean logic that preserves an explicit false while applying the intended default only for other event types. Cover all event/input combinations. [Dispatcher, line 108][dispatch-flags], [GitHub expression semantics](https://docs.github.com/en/actions/reference/workflows-and-actions/expressions) + +### 8.3 Selection has both over-selection and missed dependencies + +The selector was executed locally on real individual paths: + +| Changed path | Actual selection | Assessment | +|---|---|---| +| `playwright/utils/lineage.ts` | 22 targeted spec files | Omits `Pages/Lineage/DataAssetLineage.spec.ts`, an actual helper consumer | +| `playwright/utils/common.ts` | Same 22-file canary selection | Shared-helper change does not select all consumers | +| `playwright/PLAYWRIGHT_DEVELOPER_HANDBOOK.md` | Full | Documentation is treated as unmapped code because path classification is too broad | +| `src/rest/etagInterceptor.ts` | Full | Sensible conservative behavior for a shared production path | +| `src/components/common/Table/Table.tsx` | Full | Conservative fallback for broad UI impact | +| Snowflake ingestion `metadata.py` | 23 targeted browser specs | Exercises some UI/ingestion administration; does not establish source-specific extraction correctness | + +These are selector outputs, not estimates. Probe results (original local evidence: `selection-probes/summary.json`) + +The generated map uses bounded import/test-ID heuristics, not a sound graph of all production and helper dependencies. Unmapped-code fallback is valuable, but it cannot detect incomplete mappings for a path that already has at least one edge. + +Locally, **153 CI-tooling tests passed and one failed**: `test_committed_generated_impact_map_matches_the_generator_output`. The generator reports the committed map is out of date by four added lines. Regeneration to an ignored output file confirmed drift without modifying the committed file. Test output (original local evidence: `pytest-results.log`), regenerated map (original local evidence: `impact-map.regenerated.json`) + +Improve selection in this order: + +1. Add reliable reverse dependencies for test helpers and fixtures; a changed helper must select its consumers or fall back conservatively. +2. Distinguish documentation from executable/configuration changes using explicit rules, while retaining broad fallback for unknown production code. +3. Generate and validate the impact data deterministically. Consider computing it for the current tree at runtime instead of requiring bot commits to keep a derived file synchronized. +4. Shadow-test selection against full runs on the same commits across UI, backend, schema, helper, rename, deletion, and documentation changes. Measure missed failures before relying on a smaller queue gate. + +The automatic drift workflow does not replace that validation: it has restricted event/path behavior and cannot prove that a partially populated map is correct. I did not find an in-repository workflow invoking this Python CI-planning test collection as a test suite; occurrences in path filters do not execute tests. + +### 8.4 Budget and documentation names have drifted from behavior + +Current code uses a 19-minute common planning budget, at most 28 common shards, a 60-minute hang wrapper, and a 75-minute job limit. The Playwright README still describes 21 minutes, 24 common shards, a 25-minute wrapper, and a 35-minute job clock. It also describes coarse bundling as opt-in despite the current default. [Planner][planner], [reusable workflow][reusable], [README][ci-readme] + +The metric named `environmentAtMostFiveMinutes` currently allows 480 seconds during a documented transition. Actual end-to-end setup additionally includes the separate seed-preparation job. Names should expose what is measured and the real threshold. Otherwise optimization discussions compare different clocks. [Performance evaluation][performance] + +## 9. Provisioning, packing, reporting, and queue mechanics + +### 9.1 Make compatible asset reuse effective + +The golden-fixture mechanism and duration-aware planner are worthwhile foundations. The fixture fingerprint currently spans about 2,880 tracked inputs, including schemas, server code, migrations, ingestion code, and transitive UI seed dependencies. Broad invalidation can be correct, but its hit rate must be measured by asset and by compatibility reason. [Fingerprint implementation][fingerprint] + +All 30 sampled runs executed seeded-environment preparation. This proves complete reuse was unavailable; preparation can be triggered by either the database fixture or the ingestion image being absent. The inspected representative restore log explicitly missed both assets. It would be incorrect to infer 30 database-cache misses solely from the preparation-job count. Restore log (original local evidence: `fixture-restore.log`) + +The warmer runs on main pushes and a six-hour schedule. In a separate recent 15-run snapshot, eight warmer workflows were cancelled, six succeeded, and one was still running. This is consistent with cancellation pressure, but does not prove that every useful cache asset was lost. A main-only warmer also cannot prewarm a novel compatibility key introduced by an unmerged queue candidate. [Warmer workflow][warmer], warmer history (original local evidence: `cache-warmer-runs.json`) + +Recommended changes: + +- Record hit/miss separately for DB seed, ingestion image, UI bundle, and dependencies, including the input category that invalidated each key. +- Reuse immutable assets only when their compatibility fingerprints match. Preserve isolation and validate cold versus warm behavior, including migrations and data reset. +- Coalesce production of the same asset by fingerprint. Avoid cancelling useful work simply because another main push arrived; equally avoid building the same missing asset independently for every queue group. +- Give queue jobs safe read access to compatible completed assets across intended workflow scopes. Do not assume a PR artifact is compatible with a synthesized merge commit without verifying inputs. +- Let non-ingestion test lanes start without waiting for an ingestion image when their declared dependencies permit it. +- Review whether build, test discovery/planning, and reusable asset preparation can overlap. The current plan waits for the build before restore/preparation can progress. + +Expected savings should be measured in a warm/cold comparison; the 17-minute median preparation job is an opportunity bound, not a promised 17-minute reduction for every change. + +### 9.2 Optimize total work and tail latency together + +The planner uses recent successful full-run timing history and isolated lanes for stateful suites. This is preferable to blind equal-file sharding. Keep the duration and execution accounting, but investigate large atomic suites and imbalanced lanes. [Planner][planner] + +In the representative run, the reporter observed **981,104 requests**, including **324,756 API requests**, and **10,919 app boots** for 4,733 recorded UI scenarios, or **2.31 boots per scenario**. Reported static response bytes total roughly 65.6 GB; that is a reporter measure, not billed transfer. These counts support reducing repeated app initialization and unnecessary navigation within scenarios. + +Three browser workers share a runner with server/search processes. CPU, memory, search indexing, and connection pressure are plausible contributors to timeouts, but this audit did not measure resource saturation. Compare one/two/three workers with the same test set, runner class, bundle, and seed state. Optimize p95 completion and stable verdicts, not the greatest worker count. + +Experiment with queue build concurrency only after instrumenting demand. Five concurrent groups may reduce throughput if they contend with each other and active PR jobs; reducing it may also reduce useful parallelism. Compare two/three/five with reserved capacity, and measure merges/hour, p95 wait, obsolete work, and runner-hours per successful merge. Cancel demonstrably obsolete group builds, while preserving other valid queue groups. + +### 9.3 Keep a small trusted verdict separate from rich reports + +The current merge-group policy fails if the shard matrix is not successful or reported tests failed, while ignoring aggregate reporting infrastructure issues. PRs retain a stricter policy. This solves a real class of false red gates, but aggregate result/coverage downloads can now fail without blocking an otherwise green matrix. [Summary decision, line 870][summary-decision] + +The stronger design is a small per-shard receipt, produced and verified inside the shard before it reports success: source SHA, project/shard identity, planned IDs, executed IDs, unexpected outcomes, and explicit skips. The final required check reconciles those small receipts against the expected matrix. Rich HTML, traces, request metrics, historical timing exports, and comments can run separately and report operational failures without making passed tests fail. + +Do not solve artifact unreliability by allowing an unsuccessful test matrix to become green. Conversely, an HTML merge failure should not invalidate a trustworthy completed test verdict. Reuse the existing coverage verifier's logic in the trustworthy path where possible. + +### 9.4 Timing history should not need direct pushes to main + +The successful full-run workflow attempts to commit a materially changed timing baseline directly to main. In the inspected run, GitHub rejected the push with `GH013`; the job emitted a warning and passed. Automatic baseline refresh therefore did not succeed in that run. Refresh log (original local evidence: `baseline-refresh.log`), [refresh job][refresh-job] + +Granting a bypass is not the preferred repair. Timing observations are operational data, and additional main commits can invalidate speculative queue work even when tagged to skip ordinary CI. The planner already consumes recent successful timing artifacts. Use immutable artifact/object storage as the normal source, retain a bootstrap fallback, and update that fallback infrequently through a controlled process. + +## 10. The merge gate to aim for + +Use explicit risk contracts rather than treating the current project name `Basic` as a sufficient definition of smoke coverage. + +| Stage | Proposed responsibility | Failure consequence | +|---|---|---| +| Local / fast PR checks | Changed component/unit/API tests, formatting, CI-planning tests | Author fixes before queue entry | +| PR browser checks | Critical browser contracts plus validated impacted coverage; full coverage for high-risk or uncertain changes | Required before entering queue where that coverage is part of the change contract | +| Exact merge-group candidate | Critical browser contracts and necessary integration/compatibility tests for the actual combined commit | Blocks merge for real failures or incomplete execution | +| Full regression on main and release candidates | Broad entity/role matrices during migration; engine, SSO, connector, visual and browser compatibility coverage | Owned response; release blocking for relevant failures; prompt revert/fix for regressions | +| Recovery and operational checks | Quarantine soak, performance, reporting, cache and selection audits | Tracked ownership and repair deadlines; separate from product verdict | + +A smaller exact-candidate queue gate is an architectural destination, not an immediate recommendation to drop today's full gate. First preserve the migrated cases below the browser layer, validate selection in shadow, and establish a reliable full-regression response. A green PR run alone does not validate the combined merge candidate. + +A possible starting operating target is **p95 required-gate latency of 15–20 minutes**, setup around **five minutes**, and **at least 99% noise-free full-gate success on unchanged known-good candidates**. These are proposed pilot goals, not measured capabilities or industry guarantees. Distinguish real defect detection from noise when measuring that success target. The exact budget should follow a measured pilot and the team's risk requirements. + +## 11. Prioritized work packages and acceptance criteria + +| Priority | Work package | Why first | Acceptance evidence | +|---|---|---|---| +| P0 | Diagnose/repair the three currently failing variants and the repeatedly retrying Pipeline task flow | These account for all sampled final failures and the most persistent retry | Specific owned entities; captured failing response/state; repeated isolated and concurrent runs; no dropped assertions | +| P0 | Fix budget false handling, CLI argument parsing, and manual boolean inputs | Reproducible defects break visibility and experiments | Fast tests for false/true/missing inputs and event combinations; dry-run alert payload, without requiring issue writes in tests | +| P0 | Run CI-planning checks and repair generated-map drift | An existing useful test already detects a current defect | Current 154-test collection green; drift/selection checks executed on relevant changes | +| P0 | Add trusted completion receipts while retaining report-only failure tolerance | Prevents both false red and incomplete green results | Deliberately missing execution fails; deliberate HTML failure leaves a complete passing matrix green | +| P1 | Measure and repair cache/seed reuse and preparation dependencies | Repeated median 17-minute serial work | Per-asset hit rates, fingerprint reasons, cold/warm correctness, reduced setup and gate p95 | +| P1 | Fix helper dependencies and documentation classification | Avoids both missed consumers and unnecessary full PR runs | Probe regressions covered; helper/rename/deletion cases verified; same-SHA selection shadow results | +| P1 | Move expensive repetitive matrices to appropriate lower layers | Eight specs account for 38.4% of measured worker time | Requirement ledger shows every relocated case; representative browser interactions retained; measured cost reduction | +| P1 | Add default-cache/default-bundle behavior and an owned quarantine recovery lane | Current green results omit important normal paths and excluded variants | Cross-session ETag regression test; dispatch false controls exercised; quarantines have owner/expiry and repeated recovery evidence | +| P1 | Pilot a bounded critical queue suite and runner/concurrency settings | Targets queue throughput without blindly reducing assurance | Compare equivalent commits and workload; report first-pass stability, p95 verdict, total wait, regressions, and runner-hours/merge | +| P2 | Align actual branch checks, schedules, visual paths, and documentation | Removes mistaken assumptions about protection | Machine-readable check contract agrees with effective rules and trigger tests | +| P2 | Store timing history outside source commits; improve queue accounting | Avoids needless main changes and misleading measurements | No operational-data pushes to main; complete attribution and stable dashboards | + +Use small, separately reviewable changes for control-plane fixes, individual unstable tests, provisioning, and portfolio migration. A single large “Playwright optimization” rewrite makes it difficult to tell which change improved reliability or reduced coverage. + +## 12. Improve the measurements before declaring the queue fixed + +The existing daily queue report is valuable and exposed the problem. A few definitions need correction or clearer labels. [Queue metrics implementation][queue-metrics] + +- “Total wait” measures first enqueue to merge. “First-pass latency” actually measures **last enqueue to merge for every merged PR**, not browser execution time and not only PRs that succeeded on their first enqueue. +- “Wasted passes” derives from enqueue counts and misses automatic group rebuilds that do not produce a new enqueue event. +- “Bypassed” is inferred from the absence of enqueue events; a PR previously queued and then bypassed can be misclassified. +- Failure attribution requests the first 100 check runs without pagination or filtering to required checks. It examines available check state, not necessarily an immutable snapshot from the moment of removal. +- Reported requeue penalty subtracts medians rather than taking the median of each PR's actual added delay. + +Track a stable test-ID ledger and a queue-group ledger. For each group, record source/base SHAs, included PRs, start/end of each stage, asset reuse, expected/executed tests, first-attempt outcomes, final failures, runner delay, and why the group became obsolete. Join failed checks to the actual required-check configuration and paginate all results. + +Publish separate measures for: real regressions caught, noise failures, retry-rescued tests, incomplete execution, setup latency, runner wait, total gate latency, reporting health, and total runner-hours per merged PR. Keep an absolute healthy operating target alongside a rolling baseline; being 26% better than a degraded previous week is not evidence of acceptable service. + +## 13. Reproduction and audit limits + +This is the original audit snapshot, preserved for follow-up. Selected public summary CSVs are included under `evidence/`. References labeled “original local evidence” identify collection files that are not published here; raw logs and result payloads may contain session details. All source/run links and conclusions refer to the audited commit and collection window, not a fresh verification of this PR. + +The local check was run in an activated Python 3.11 virtual environment: + +```sh +source env/bin/activate +python -m pytest -q \ + .github/scripts/tests/test_playwright_ci_planning.py \ + .github/scripts/tests/test_playwright_performance_gate.py \ + .github/scripts/tests/test_playwright_pr_comment.py \ + .github/scripts/tests/test_playwright_custom_properties_selection.py \ + .github/scripts/tests/test_playwright_cache_assets.py \ + .github/scripts/test_classify_playwright_outcome.py +``` + +Result: **153 passed, 1 failed in 11.53 seconds**. The failure is the committed generated impact-map drift guard. It was not repaired because the requested deliverable is an audit. This is not a claim that the CI tooling is fully green. + +Additional evidence files: + +- Effective branch rules (original local evidence: `effective-main-rules.json`) and ruleset snapshot (original local evidence: `main-ruleset.json`). +- Daily queue report log (original local evidence: `daily-report-2026-09-09.log`) and [daily workflow counts](evidence/queue-daily-outcomes.csv). +- Detailed calculations (original local evidence: `analyze-evidence.cjs`), table exporter (original local evidence: `export-tables.cjs`), and collection helper (original local evidence: `collect-evidence.cjs`). +- Selection probes (original local evidence: `selection-probes/summary.json`), with individual input/output files alongside them. +- [Repeated failing variants](evidence/repeated-test-failures.csv), with original hosted timing/result artifacts under `runs/`. +- Redacted first-attempt failure extracts under `raw-results/`; raw local result payloads are not intended for publication. + +Run counts are not independent PR counts. Retry-rescued cases are not established product bugs. Completed workflow failures are not all flakes. Timing accounting does not establish business coverage. Resource contention, the exact cause of the deployment 400, and the counterfactual throughput of a smaller gate need controlled follow-up experiments. + +[config]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright.config.ts#L206 +[reusable]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/workflows/playwright-e2e-reusable.yml +[dispatcher]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/workflows/playwright-postgresql-e2e.yml +[selector]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/scripts/select_playwright_tests.py +[impact-map]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/playwright/impact-map.json +[representative]: https://github.com/open-metadata/OpenMetadata/actions/runs/34355232120 +[visual]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/workflows/playwright-visual.yml#L27 +[yarn-coverage]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/workflows/yarn-coverage.yml#L205 +[ruleset]: https://github.com/open-metadata/OpenMetadata/rules/6520078 +[daily-run]: https://github.com/open-metadata/OpenMetadata/actions/runs/34324239537 +[report-incident]: https://github.com/open-metadata/OpenMetadata/actions/runs/34312746335 +[timeout-incident-1]: https://github.com/open-metadata/OpenMetadata/actions/runs/33862281607 +[timeout-incident-2]: https://github.com/open-metadata/OpenMetadata/actions/runs/33869395948 +[report-advisory]: https://github.com/open-metadata/OpenMetadata/actions/runs/34350084849 +[redeploy-failure]: https://github.com/open-metadata/OpenMetadata/actions/runs/34354609470 +[page-size-failure]: https://github.com/open-metadata/OpenMetadata/actions/runs/34350081016 +[page-size-failure-2]: https://github.com/open-metadata/OpenMetadata/actions/runs/34343844656 +[widget-failure]: https://github.com/open-metadata/OpenMetadata/actions/runs/34349824126 +[widget-failure-2]: https://github.com/open-metadata/OpenMetadata/actions/runs/34349258398 +[redeploy-spec]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/TestSuitePipelineRedeploy.spec.ts#L65 +[tasks-spec]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/TasksUIFlow.spec.ts#L132 +[widget-spec]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts#L203 +[common]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/utils/common.ts#L169 +[pages-fixture]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/fixtures/pages.ts#L35 +[etag]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/src/rest/etagInterceptor.ts#L46 +[server-load]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/support/fixtures/serverLoad.ts +[coverage-verifier]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/scripts/verify_playwright_coverage.py +[budget-signal]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/workflows/playwright-postgresql-e2e.yml#L366 +[dispatch-flags]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/workflows/playwright-postgresql-e2e.yml#L108 +[planner]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/scripts/build_playwright_shards.py +[ci-readme]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/playwright/README.md#L12 +[performance]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/scripts/evaluate_playwright_performance.py#L139 +[fingerprint]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/scripts/playwright_cache_fingerprint.py +[warmer]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/workflows/populate-playwright-caches.yml +[summary-decision]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/scripts/render_playwright_summary.cjs#L870 +[refresh-job]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/workflows/playwright-postgresql-e2e.yml#L569 +[queue-metrics]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/.github/scripts/merge_queue_metrics.py#L307 diff --git a/docs/testing/playwright-migration/README.md b/docs/testing/playwright-migration/README.md new file mode 100644 index 000000000000..20f6685eb146 --- /dev/null +++ b/docs/testing/playwright-migration/README.md @@ -0,0 +1,220 @@ +# Should OpenMetadata move Playwright coverage into frontend tests? + +Audited 10 September 2026 at commit `44823acde1c85ccc20d9f62c588169567fc28c90`. This follow-up classifies every frontend Playwright product-test definition in this checkout and maps the classification to an actual full merge-queue run at the same commit. It supplements the [overall Playwright and merge-queue audit](QUEUE-ANALYSIS.md). + +## Decision + +**Yes. This is a worthwhile route: 1,589 of 4,488 queue cases, or 35.4%, are strong candidates for frontend component/page integration tests.** Another **1,778 cases, or 39.6%, combine extractable UI checks with real backend behavior**. Those need splitting while preserving integration coverage. Together they form a **75.0% candidate pool for some frontend extraction; 75.0% is not the percentage of whole tests that can safely be deleted.** + +Counting unique source definitions instead of expanded queue cases, **1,239 of 2,884, or 43.0%, are strong candidates**. The difference matters: several expensive mixed suites repeat the same code across many entities and roles. + +The preferred destination is usually **a real React component or page integration test**, exercising real children, form logic, providers, routing and request construction against controlled HTTP responses. A large collection of shallow tests that mock the component's own behavior would lose coverage. + +The strong candidates account for **23.2% of recorded test-worker duration** in the measured run. The opportunity is substantial, but removing 35.4% of queue cases would not make the queue 35.4% faster. Backend setup, shard scheduling, retained long journeys and replacement-test cost all matter. + +## Complete inventory and how the review was performed + +| Inventory | Count | Meaning | +|---|---:|---| +| Frontend Playwright `.spec.ts` files | 394 | All product spec files in the inventoried Playwright tree | +| Additional files defining product tests | 2 | Shared search-separation factory and production-bundle smoke | +| Unique source test definitions reviewed | 2,884 | Each inline test definition counted once, before entity/role loops expand | +| Definitions instantiated by the 394 spec files | 2,903 | Includes 22 factory instances in 11 specs; excludes standalone bundle smoke | +| Distinct planned product cases in the measured queue run | 4,488 | Parameterized and project-expanded cases, each counted once | +| Queue cases mapped to a reviewed definition | 4,488 / 4,488 | Exact source-location match using native Playwright JSON results | +| Owning spec files represented in that run | 365 | Some SSO, visual and other specialized suites use separate lanes | +| Unique definitions represented in that run | 2,747 | The source review also covers the remaining 137 definitions | + +The source denominator needs care. There are 2,881 inline definitions inside the specs. Eleven specs instantiate two shared factory definitions each, producing 2,903 spec-instantiated definitions. Counting each factory definition once and adding the standalone bundle smoke instead produces 2,884 unique definitions. The strong numerator is 1,239 under either approach: **42.7% of spec-instantiated definitions**, or **43.0% of unique definitions**. + +The runtime evidence is [queue run 34355232120][run], at the audited source commit. Its native results were collected across 37 shards. The 4,488 product cases comprise 4,483 expected outcomes, four cases rescued by retry and one skipped case. Two Data Insight lifecycle invocations in the reporter's 4,490 total are excluded. Retries contribute duration but do not add cases to the denominator. + +I parsed every inventoried source file using the TypeScript AST, extracted each definition's title, enclosing suites/loops, actions, helper calls and assertions, and reviewed every definition at that level. Ambiguous cases were followed into full bodies, hooks, helpers and relevant application code. Examples include pagination, permissions, entity CRUD, right-panel validators, graph instrumentation, chart clicks, token helpers and contract import parsing. All 396 files parsed without diagnostics. All 2,884 definitions have a recorded classification; none remain unclassified. + +This is an assertion-and-behavior audit, not a filename heuristic or a sampled percentage. It is also not a claim to have manually read every line of every transitive helper, proved every assertion correct, or implemented equivalent replacements. Classification remains engineering judgment about the appropriate testing boundary. Java Playwright UIITs, runner/reporting unit tests and authentication/setup lifecycle files are outside this frontend product-test denominator. + +The full suite was **not rerun locally**. The percentages use reviewed source and existing hosted execution evidence, not a migration benchmark. + +## Classification results + +| Category | Unique definitions | Queue cases | Queue share | Recorded worker-time share | +|---|---:|---:|---:|---:| +| **U — Strong frontend component/page integration candidate** | **1,239** | **1,589** | **35.4%** | **23.2%** | +| **M — Mixed: extract UI checks, preserve backend integration** | **839** | **1,778** | **39.6%** | **41.9%** | +| B — Retain browser; potentially isolate from backend | 138 | 145 | 3.2% | 2.4% | +| A — Backend/API contract, outside UI component migration | 231 | 254 | 5.7% | 2.4% | +| E — Retain integrated journey during initial migration | 437 | 722 | 16.1% | 30.1% | +| **Total** | **2,884** | **4,488** | **100.0%** | **100.0%** | + +Percentages are rounded. Category A includes API-only tests already using the Playwright runner and browser-driven tests whose primary assertions concern server contracts. It is not an exact count of tests that currently launch no browser. Category E is a conservative decision for the first frontend migration, not proof that every variant must remain an end-to-end test forever. + +**What earns U:** the important assertion can still fail for a frontend regression when API responses are supplied at the HTTP boundary. Examples are required-field validation, permission-derived controls, URL construction, stale-request handling, tab/selection state, and rendering a supplied response. Creating entities through real APIs merely to prepare those states does not itself make the assertion end to end. + +**What earns M:** replacing the server would remove a meaningful assertion about persistence, actual search results, permission propagation or another backend result. Move the UI matrix, but keep that contract under real integration coverage. CRUD helpers often fall here. + +**What stays in B/E:** real browser geometry, pointer interactions, clipboard, screenshots, editor behavior, built-bundle loading, authentication/session renewal, ingestion/background processing, cross-user workflows, cascades and file round-trips. Some browser-specific tests could run against isolated fixtures without the full OpenMetadata stack. + +## Where the strongest opportunities are + +These are current cases classified U. Counts for a partially eligible file refer only to its U cases; they are not recommendations to remove the entire file. Durations are cumulative test-worker minutes in the representative run. + +| Area | Strong queue candidates | Recorded worker minutes | Recommended replacement | +|---|---:|---:|---| +| Entity, service and data-quality permission suites, combined | 115 | 28.7 | Render real screens with allowed/denied permission responses; assert actions and route guards | +| `Pages/CustomProperties.spec.ts` | 88 | 17.0 | Real form validation, local property search, field and link rendering | +| `Pages/ExplorePageRightPanel.spec.ts` | 88 | 14.5 | Real panel, tabs, schema search, selection and permission state | +| U cases inside `Pages/Entity.spec.ts` | 48 | 14.0 | Shared entity UI affordances, labels, local schema state and navigation | +| `Flow/NestedChildrenUpdates.spec.ts` | 36 | 7.9 | Apply mutation responses to the real nested table and assert immediate updates | +| `Features/ColumnBulkOperations.spec.ts` | 25 | 7.7 | Grid rendering, selection, bulk-edit state and validation | +| `Features/Pagination.spec.ts` | 35 | 7.2 | Page-size/cursor requests, URL state, loading, navigation and search reset | + +The per-file totals and every contributing case are available in [all-files.csv](evidence/all-files.csv) and the [complete definition inventory](evidence/all-definitions.csv.gz). + +### 1. Custom properties: clear validation and rendering candidates + +The suite contains **15 separate name-validation definitions**, covering invalid initial characters, punctuation, valid names and length. These are straightforward candidates for parameterized tests of the real form, with a small utility test matrix if validation is factored into a reusable function. Most do not need a real database, search index, login or browser. [Name validation][custom-validation] + +Four further definitions repeat display, search, clear-search and property-name checks across 17 entity contexts: **68 queue cases**. Preserve the shared panel and real custom-property rendering; provide representative entity payloads and assert the visible result. Keep distinct serializers and genuinely different entity behavior represented rather than replacing the whole matrix with one generic fixture. [Property panel tests][custom-panel] + +There is already evidence of the intended direction in this repository: `CustomPropertiesApiContract.spec.ts` explicitly covers **272 removed browser-matrix combinations**, across 16 entity types plus table columns and 16 value variants. It runs 17 API compatibility cases plus one matrix-shape assertion. That coverage is already outside the UI-candidate count; it must not be claimed again as future savings. [Existing API compatibility contract][custom-contract] + +The remaining custom-property suite still has 81 mixed queue cases and four browser-dependent cases. Its real persistence, search and browser-specific behavior should remain covered while the UI-only parts move. + +### 2. Permission matrices: separate presentation from enforcement + +The entity/service permission helpers largely assert whether controls are visible or disabled. The data-quality suite includes analogous create/delete/edit affordances and page access. These can exercise the actual permission-to-UI logic with controlled permission responses. [Entity permission matrix][entity-permissions], [service permission matrix][service-permissions], [data-quality permission matrix][dq-permissions], [shared assertions][permission-helper] + +A hidden button does not prove server authorization. Preserve real API tests that attempt forbidden operations and assert denial, plus representative browser journeys confirming that the signed-in identity receives and applies the correct permissions. The large presentation matrix and the backend enforcement matrix protect different failures. + +### 3. Pagination, local state and asynchronous UI races + +The shared pagination helpers exercise page/URL state, outgoing limits/cursors and resulting table display. The complete-flow helper's search checks do not establish that every returned item actually matches the search. This makes a real table/page integration with controlled HTTP pages a good destination; a service-level cursor and search contract should remain separate. [Pagination suite][pagination], [pagination helper][pagination-helper] + +`SearchSettings.spec.ts` has a particularly strong example: **“Latest preview config wins when a superseded request resolves late.”** The Playwright test already intercepts and delays responses. The essential regression is frontend response ordering. A component/page test can deliver the old response after the new one and assert the current preview stays visible, using the real state and rendering logic. [Stale preview regression][search-race] + +Nested-child update tests similarly protect an important UI regression: a successful edit should update the displayed nested row immediately without requiring refresh. These should remain strong behavior tests after migration; checking only that an API mock was called would miss the regression. [Nested updates][nested-updates] + +### 4. Right panels: repeated UI, with some meaningful integration contracts + +There are **126 strong queue candidates across seven files whose names contain `RightPanel`**, accounting for 20.4 worker-minutes. They cover tabs, entity links, empty states, schema filtering and role affordances in multiple page contexts. The shared components are a natural component/page integration boundary. + +Keep representative host-page wiring checks: opening the correct entity from Explore, Glossary, Tag and Team contexts can expose different routing or selection bugs. Actual edits, deleted users disappearing from selectors, and search-index propagation remain mixed or integrated cases. In the main Explore panel file alone, 116 cases are mixed and 30 retain integrated coverage. [Explore panel tests][explore-panel] + +One quality defect reinforces why this should improve assertions as well as placement: `validateRightPanelForAsset` checks an expected tab only **if it is already present**. An absent expected tab can therefore pass that helper. A replacement should assert that every expected tab exists before checking its contents. [Conditional tab validator][panel-helper] + +### 5. Lineage: a browser page is not automatically a browser-dependent assertion + +Layer toggles, selected/traced/dimmed attributes, panel state, breadcrumbs and graph-data transformations are frontend behavior. The shared `clickEdgeBetweenNodes` helper uses a synthetic `dispatchEvent('click')`; those cases do not establish that a user can hit the rendered edge at the correct screen position. Several ontology helpers likewise read serialized graph data from DOM datasets, rather than inspecting canvas pixels. [Synthetic edge click][edge-helper], [graph data reader][graph-helper] + +Move appropriate state/transformation cases into frontend integration, and keep genuine canvas/layout, drag, zoom, hit-testing and screenshot checks in a browser. Graph libraries may make a backend-free browser fixture more practical than jsdom for some candidates; that still removes the full-stack dependency, but it is not the same as a Jest unit test. + +The broad `DataAssetLineage` journeys remain outside U: **79 cases account for 97.6 worker-minutes** in the measured run. They combine real graph creation, column relationships and export behavior. Removing small control tests alone will not remove this cost. [Integrated lineage suite][lineage] + +### 6. Import/export: distinguish the modal from the format contract + +Local YAML/JSON parsing errors, preview content, mode selection and disabled import buttons can be frontend tests. Server schema validation, ODCS/OpenMetadata conversion, merge/replace semantics, persistence and actual export round-trips need real API or integrated coverage. The implementation performs local parsing and also calls server parsing/validation endpoints; these are separate boundaries. [Import implementation][odcs-implementation], [import/export cases][odcs-tests] + +Existing `ODCSImportModal.test.tsx` already covers many modal behaviors, so this is partly consolidation and strengthening. However, it replaces core components including the upload control, and implements extension filtering inside the mock. A passing test of that mock is not evidence that the real upload control behaves the same way. [Existing modal tests][odcs-unit] + +## Mixed tests are the larger, harder opportunity + +The 1,778 mixed cases account for **41.9% of recorded worker time**. In `Entity`, `EntityDataConsumer`, `EntityDataSteward` and `ServiceEntity` alone, **605 mixed cases consume 3.37 worker-hours**. Much of this repeats owner, tag, glossary, tier, description and announcement operations across entities and roles. [Shared entity helper][entity-helper] + +The useful decomposition is: + +1. **Frontend integration:** interaction, form state, correct endpoint/body, response handling and visible update, with the real UI. +2. **Backend/API integration:** the operation actually stores the intended data, search returns it, permissions are enforced and entity-specific contracts hold. +3. **Representative browser journey:** the assembled application connects those contracts correctly for meaningful entity/role differences. + +Do not replace a real search-result assertion with a fabricated matching result and call that equivalent coverage. For example, the advanced-search helpers verify real search hits as well as query/chip state. The UI builder/serialization matrix can move, but the actual AND/OR/filter semantics belong under real search integration. **124 of the 130 AdvancedSearch queue cases are mixed**, not whole-test U candidates. [Advanced search helper][advanced-helper] + +Similarly, workflow authorization and approval, inherited ownership, deletion propagation and ingestion execution should not be erased merely because their final assertion appears in the DOM. + +## Existing Jest coverage needs strengthening before browser tests are retired + +The application already has Jest, jsdom, React Testing Library and user-event. This migration does not require a new test runner. [Package scripts and dependencies][package], [Jest configuration][jest] + +Targeted inspection found important limitations: + +- **AddCustomProperty:** the unit test mocks `generateFormFields` into plain inputs, leaving out the real validation rules. Its three tests check child placeholders, field presence and Back navigation. It cannot replace the browser name-validation matrix in its current form. [Current test][custom-unit] +- **QueryBuilderWidgetV1:** the test replaces `Builder` and `Query`, makes several tree utilities identities and returns constant JSON logic. It can test surrounding wiring, but cannot establish correct user-driven query construction or real serialization. [Current test][query-unit] +- **ODCSImportModal:** substantial behavior coverage exists, but several real design-system controls are replaced, including a mock that implements file filtering. Preserve component behavior through the real controls where that behavior is the target. [Current test][odcs-unit] + +These are examples from targeted inspection, not a claim that all existing frontend unit tests are poor. The required change is **less mocking of the behavior under test**, not simply a larger unit-test count. Testing Library's guidance supports testing components through user-visible behavior; Playwright likewise recommends observable behavior and test isolation. [Testing Library principles](https://testing-library.com/docs/guiding-principles/), [Playwright best practices](https://playwright.dev/docs/best-practices) + +## Assertion quality affects the migration estimate + +The ledger carries **77 source-definition notes** about weak assertions, conditional coverage or limits on what a title proves. These are review notes, not 77 independently confirmed production defects. Examples include a password-reset title that only checks navigation, zoom titles that do not assert a changed zoom, and a comment-viewing title that only checks the task card. + +Of the 1,589 strong candidate queue cases, **71 have an assertion note**. Excluding all of them still leaves **1,518 cases, or 33.8% of the queue**, as strong candidates. This sensitivity check shows the opportunity is not driven by obviously weak tests. It is not a statistical confidence interval. + +Migration should preserve or improve the intended outcome assertions. Some cases deserve repair or consolidation instead of a one-for-one translation. For example, a replacement for a zoom test should either verify the real transform in a browser or clearly limit its claim to control state. + +## What this would do for the merge queue + +The representative run records **22.58 cumulative test-worker hours**, including attempts. U accounts for **5.23 hours**; U plus M accounts for **14.69 hours**. These figures describe where current work is spent. They exclude separately accounted lifecycle work and are neither billed runner-hours nor predicted savings. + +The earlier operational audit found a median **17.05-minute seed preparation** and a **61.14-minute required Playwright gate** in its 30-run snapshot. Frontend extraction can reduce repeated application work and allow fast feedback without that setup. It does not automatically shorten preparation or the longest retained shard. Files that still contain M/E cases may still incur their shared setup. [Operational measurements](QUEUE-ANALYSIS.md#43-the-recent-sample-separates-current-problems-from-old-incidents) + +There is also no basis to promise a proportional flake reduction. In this particular representative run, the four retry-rescued cases are in **M, A and E**, with none in U. Moving U cases therefore targets test placement, feedback speed and compute first; it would not have eliminated that run's observed retries. Reliability and queue orchestration work from the original audit remain necessary. + +## Recommended first migration + +Start with a bounded set of **211 strong queue candidates across six files**, representing **51.4 current worker-minutes**: + +- `Features/Permissions/EntityPermissions.spec.ts`: 46 cases. +- `Features/Permissions/ServiceEntityPermissions.spec.ts`: 44 cases. +- `Features/DataQuality/DataQualityPermissions.spec.ts`: 25 cases. +- `Features/Pagination.spec.ts`: 35 cases. +- `Flow/NestedChildrenUpdates.spec.ts`: 36 cases. +- `Features/ColumnBulkOperations.spec.ts`: 25 cases. + +Begin implementation with one small family, such as required-field validation or pagination, to establish the real-provider/HTTP-boundary harness. The six-file set is the next bounded target, not a demand to rewrite all six at once. Retain representative assembled-app journeys and the real backend contracts they currently touch. Custom-property validation and right-panel rendering are strong subsequent targets. + +For each migrated behavior: + +1. Identify the actual defect the test must detect, including negative outcomes. Record which UI, API and browser checks will cover it after migration. +2. Implement the replacement with real components and controlled network/time boundaries. Use user interactions; assert visible outcomes and meaningful request contracts. Avoid mocking the validator, query serializer, state hook or control being tested. +3. Demonstrate that the replacement fails for the intended regression: invalid names accepted, wrong permission combinations, stale response replacing current data, or a nested row failing to update. A temporary targeted fault or existing regression fixture is stronger evidence than coverage percentage alone. +4. Compare current and replacement runtime and repeatability, and verify retained backend/browser checks. Retire the redundant browser variants only once replacement coverage is demonstrated. +5. Rebalance shards and measure the actual queue verdict latency, setup time, test-worker time and retries separately. + +Require the fast frontend suite for changed behavior, retain representative critical journeys in the merge gate, and keep API/security/format semantics under real integration coverage. Choose the eventual broader browser schedule and gate size from measured residual cost and failure detection, rather than using an arbitrary target percentage. This audit makes no workflow or branch-rule changes. + +## Preserved evidence and follow-up + +- [All 2,884 unique definitions](evidence/all-definitions.csv.gz): source links, category, rationale, assertion notes and queue contribution. +- [All 4,488 expanded queue cases](evidence/all-queue-cases.csv.gz): owning spec, source definition, category, measured duration, attempts and result. +- [All 394 specs plus supporting files](evidence/all-files.csv): complete inventory and per-category totals. +- [All 2,903 spec-instantiated definitions](evidence/all-spec-instances.csv.gz): explicit accounting for shared factory definitions. +- [Machine-readable summary](evidence/summary.json). CSV exports are gzip-compressed; use `gzip -dc ` to inspect them. +- [Migration status and validation](MIGRATION.md): distinguishes the 211-case candidate set from coverage actually replaced in this PR. + +These are immutable audit exports at the source commit above, not generated descriptions of the current branch. The original TypeScript AST extraction, hand-reviewed decisions and downloaded shard results produced the reconciled exports. Repeating the classification requires checking out that commit and collecting the linked run's native results; hosted artifact retention may limit future retrieval. This repository preserves the reviewed decisions and measurements, rather than depending on an ignored local workspace directory or a live artifact URL. + +[run]: https://github.com/open-metadata/OpenMetadata/actions/runs/34355232120 +[custom-validation]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/CustomProperties.spec.ts#L3803 +[custom-panel]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/CustomProperties.spec.ts#L3668 +[custom-contract]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/CustomPropertiesApiContract.spec.ts#L900 +[entity-permissions]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/Permissions/EntityPermissions.spec.ts#L217 +[service-permissions]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/Permissions/ServiceEntityPermissions.spec.ts#L93 +[dq-permissions]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/DataQuality/DataQualityPermissions.spec.ts#L320 +[permission-helper]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/utils/entityPermissionUtils.ts#L197 +[pagination]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/Pagination.spec.ts#L66 +[pagination-helper]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/utils/common.ts#L1335 +[search-race]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/SearchSettings.spec.ts#L612 +[nested-updates]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/NestedChildrenUpdates.spec.ts#L62 +[explore-panel]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ExplorePageRightPanel.spec.ts#L204 +[panel-helper]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/PageObject/Explore/RightPanelPageObject.ts#L838 +[edge-helper]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/utils/lineage.ts#L141 +[graph-helper]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/utils/ontologyStudio.ts#L170 +[lineage]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Lineage/DataAssetLineage.spec.ts +[odcs-implementation]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/src/components/DataContract/ODCSImportModal/ODCSImportModal.component.tsx#L335 +[odcs-tests]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ODCSImportExport.spec.ts +[odcs-unit]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/src/components/DataContract/ODCSImportModal/ODCSImportModal.test.tsx#L41 +[entity-helper]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/support/entity/EntityClass.ts#L145 +[advanced-helper]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/playwright/utils/advancedSearch.ts#L371 +[package]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/package.json +[jest]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/jest.config.js#L121 +[custom-unit]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/src/components/Settings/CustomProperty/AddCustomProperty/AddCustomProperty.test.tsx#L198 +[query-unit]: https://github.com/open-metadata/OpenMetadata/blob/44823acde1c85ccc20d9f62c588169567fc28c90/openmetadata-ui/src/main/resources/ui/src/components/common/QueryBuilderWidgetV1/QueryBuilderWidgetV1.test.tsx#L97 diff --git a/docs/testing/playwright-migration/evidence/all-definitions.csv.gz b/docs/testing/playwright-migration/evidence/all-definitions.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..7269fc349bd61fb95d17bd1e753ecc6b47acd2af GIT binary patch literal 159348 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

S55_5ZLy6Y?QIOs70o%zK2QeJVh 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 `b!I0W#ud$~*F2hxyz>zY1s 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 z zR{rklljP&{H6ND+<_r%KyXF1&`&W+B3a_1Juv^pCCgsT!<_aoWC`Wv}mLI)whg|LW zWLsw$hmvdkam3_bFNL~fa&r|3<{l=#-*$ZbEg;Dj6z=rWYlJ?wMTA%v?5;Ex2#+Q8 z8A^oy@hA|fKMrSlUsWZF-AgBbAypfqPjy1BHk2x8H5Tl#hYO`*Zb#_nqnDZ_P1+yt zYrYs@q_rY&U_f5X@~pp&g6TrP^P1@aO1}In^KZHSL3!`#qrMbj^bEw zmkPOg(!CbhFXy+j;{A67UWb9$LvVjWY7`Eq*-Krk9dY;~nhI}t+#N?2J4xYCmOQZ; zv&aWtp0gA@5~@8E%H!=^uzs+#5s$c(!b>JrlmeqfDX-Vm*ct*%aH7;%BS!@3;Cp2TzOJ_0{o~kMx2)1s}s(hxOflaar0i^K;u9d#oq1 zFF#d`KqxDL6ITYJ;gO-MF8d^Vz4;STu9**oO6l97f%e}=$pFhd&nzoNl*PrH*j>Nw z9?m>xps`xsT?X@lyh1{X80$RZy@UAqs$awWjDRbwUJ*X@AacmGUI}1tQsI(!u6v7{ zoijz~&B<0FLi_J#eO~JKO?UPQeiT<+cNW+>mAvVMX6Obp6BwLD#g_?tZpXH)V?WC5 zt3Fq^M&s-F78s6~nq1?QQ9X@4%dC@5JEPKUWj96EdpOND4lcFV%3toQiBiMvf{<&y ztN6{h*}JB`2dnP5MTE|}-*94VI%QbJ*5^7rN~(v<41)mBn~dolnM`ZVlOid-o7m$_ z-Xop&)xW8CTFqne_I~tdW)`?er`s;K1v43*aV{>?=IlQ7Xt8|BhuY(Z86>XG!$VpW z6Sxqf@CPc3hO|DbUuM0MLdT7kM746vx>9>$P{STM;M`e6SQbq6ZeX__&meEW2CY#P ziLo`uo_Cv^x|doHJIBH${){<(aaD;+-i7F?pceH21|nmPNb6sFUWFwjMWScdSk~t# zT1pxy#TsA0jBm96Mz$DSRnQ$j%fxpR)e>$ZBJ!`yD-|3J2d53n8+&lih*Vift0a~M zM<}wUODg`YUM|?$kNeD{d>=r<6n|y50LO*Io+m!+N`wu2WT5k9&7FLSgVOz4?Fc}d z64jZA^!BctLevUSAkbUpA$55{C?Qk)rXwLr@@Ed6b$&0>%okGf)km3@kaG!8%KeL^BQ7v-*jWf}i)c;-<0pw!SRLMaa(jJ7r}dBqXdhsn}C!?eCn$8sq*y5V37SUa0~D1DElhSzllSrw%sZ!VmC>CcBkEelA_W9IGL zY|N1Y9{E)DGb{_Jh^Xz|bzz=_LMFcNeM+EqA_#%8^s*1z^Wa}A?VUf~jUF~V+MNFn zQ{NaJS+s;3+w9m@$C=o+opfv`6HaW~nTc(4;>^UhZEM1pd+&Q|z2ALSol|?S-n;7i zzN(^>nS1}Og`T#;Rnd?t3kLC1t<%0l)x!NKj-G+0xa!+T98oqzAX=m%nlYI$-M4Og zt|zBQgd^Fwb{{Y}*?BE$3Du;}vP*h+C_3^@8ghQa?^?T<%%9pWjO~_`-`J05er!u= znwS0Ah&U`;NhZ+FdR50}Y773MQl7_+kmgn;u(-)Szd3!v=;CK92k`nD{e_)W#~t8r zJ!@lFf-D`)Ig;fQmK7a#8N^n{LBn0}&E-|4oKwxzUUpa2$hZk4Z8|w>dLY1efGoKr zKKy8R#{HM1x)WQb_7KQ(F$U2nu2axSKXW$g z>6hfD8yh@m*eW@uYS1ZPyOF>qc;k5+Wy*gsZv`X7^JmD-uw|&vd}F^rwzPteXV4~) z?%AaQ<5Nk*1%G_B#qDHbD3GTldeZ|p5;e9%S;Mx5WYG8C=5s-*XkJWNrnHjehR7au z>Z|Rsn!Fm1#|W84$$Jwf&3c(@Z-T{+DUsXHF6&cC4jVg<$v-i!cWiRSuS-Irg%;*n zAh*nee`fn$8d-iQZu>lsvn@~aT}mvH){QtShMm}w&UJY6SCUMY6`4_xH>JM|Db7iL z&-IFmWqPS!>2jLK6Zov>HDINOf~CSaxkj=s&_-S?*j;6K#Z&Bfs-}1q(jzogjqG?V z<+8@}qEr=0+aCv>%5CByrdTcq#2rW5t5|*QJpcKzcVYsoUq9PsA7`re}&9PX#^JzHtH@6 zZ=(DPnT@V%xh=eM<-d_E*J(Gd0%`&nwxY1rYgVq7nIcWv{i-}sicLcZmal;t8T9h0 zoGPIqa^)fQF-(QF=T~5wWg>yL+rvbVrQ~H?c-;0`k2f~$Ua3>pSW=HGrcDZeRbo9Oo24HoRo``{H_BX)D`OWP zDHph!1h4s*Ccmm)t1Fm(F;fHXcxx&V7p(A8t9Ugx=Cll^E14q&DtD!F?9|)^Ee4SJ0F&yp8HJvTW$dA$>-lwMbLJJ-bU0k}J^GzDXeT8us=*4^R(4A_wBJTDKp~0mtbf{&|q|;n|0MA@2lQcom>Kh4$s(2@hg%h z2R+%Vm(CTU%V^v5X#YAMog5{FoHFpA7;%^*vZu299t(7SjQWZ*%8l-`^HYk)b_FHY zPYb5FKM_Jo@Od1gDOSmzNiyG@~S!mEOcSR!S#_|4uqKXs{{-v!-DlAR#8YD&*ppdNh$vKmE(` z68$AbWu2~xd!ZMsy7E4j9-BW|Ntcr(>!pi!K{v#^c1_J787*3)9~(HogJD+;?W#Rj zhQ!MiKkv1X0Lvi|9_cRG8m>~?fiE!D8W33O*q-$;@v>>|x5Y$S$((Q$@`z`NVW9Hu z?UmQu@8Czh#@iQ3<94Ux?k0+PU8Z84$9Z@1ht23}g&WVpv8HT9bi+D-HObQt<4NP! z`(S-4o}*?a^C}U))@lXYH(HOl^My1$x$qoDskFVhG>X4qu0!k7r|#*L*{Ox$Oac5S zD-||ai`8cE4NyPpp{$QPQz{}mD3FKa8bQdiB#mtKJ?B!RmtnanVbzAMYGy>4em6FQhT3(7Pn$pTf_@^Kn+^$#o#PEGmgkaiVov^Wtg zvw3_Su+H$_9xGI9E0Zmi7xxuyXGugWlTdhh6<)Fz%p&;y{GnOx)!a^OxPnkuey2d2bFvzimI}v-b1tQ=SbGWvY+dv70(~LS6QV zEnPxTGXtvQJAdi*XyRhUf+xjm?C}SS2fUwVQ*lu4XVdhktN<9ONhqodOsbfN1+R=5`_h}7>AHVHYe)yFP;}%SFa9#25q7TocnI;&cP?xa@VP zs**-DW#-d8Vj#Ej47w&N29sHJt=|l(#_R>`>ajF5Ctax~kIYx%OCb7#8=G?LY_vJ! ztMKuwv}MJH>jhfx4b#-#!g`ULiD#-ha^;SY0X1*kLPd>=$3L#J*WbXb(ftnSUhvlb zXnXT9b=#T}^V;ktj378g-ZK$oo;j*}FY^x%;oUtEOpfUIRrOew2;x5!3DUGI;M%GB z<&l^ul|Q#cUVYDLQh;pTTH%_A@(GG6OpFU^Otv@WUN766PCW!2U$v~nQH><|yd<45 zWr&!SVz% zpn?p`o@K~4&q~}sOl$h~jgnmR6obGgMzy*_>p~?Lr9&yP7EX&dD!a-eUj^i9@^sD8M>bOg9OgZSo|V`Jt_+ zsz+fZ$9WuYWGV&RPn-`yi~#&YkqitG=3gHhguK9gRSo^^WE3HFi)!=>;k^;ZFW2~a$W|});ikV2I zKS)x|^4_GEJCIyD7B#?lobW&9RA6Z8^?=2`o(!MkRg!yFHoYF5yertiUD0oSxc~L~ z{CX_Sdn|aNTG`E3o8jY@}+XzLWaYH}QwV zK6@AOJYYUuN5@P;k2&Ne=poLfLLF-OkJ1&2w@`hVrLwt|p-4V_6>_YR9Xm^^GOqQv z(#q>eGnDQ_vAGG5H3JYY7Ski9x$C9Lqda-2S>EoUyO;a`Yz7-Nqjd@iMU7WUrBWs97 z_fw_+hwgX+l#xt0?BW7{xf;Ofp3Y(jcYR*ZowMAH8Ydwi0CB7*hLR0WC;w|qd-Ye| z84T<+A=kePafQ_Bi-N%vAt#cVk#DpMq4Y!098$CmZWwHihn@#lDg%Si#{ z6L6Y1=TJy^&REW!7|;WDniY+k%Crn4kNQB!*@w^)I_(4Q(KpMN_X_Uq127g?01axt z%oY`G2pY?#3rXxo-i5Y$gp&Q~)B$ zmLbU@A;?Ym{&8o6RlX;H`oeI3)E3cbY=E&YJ zK(?zt%7)9)Ifu-ZaS=>YeIZHNtxz-mM-i+SWYxpZ; z5C+M~LocgC^>-d(wXDtBm=A#@Y@uo6F=;tDubEZ;z*f@UETR(?2F=nFSBZCEceM;M z)Z|=4h!l+27yKcErm?}tev^uX9flxwFq4mQ&vl6wP3WP#lJq_|u!}N_Tq9~;MZZu~ z-0WX&V;BKs&%n#Jl$<^CqV_lq|4qeEHuy-6aVF?CPJ6~dqWB#|xqugeAjS9*^vIS0 z5EjF;DP|J}kRm0Fz`()dknKvZ$zMAD#izfC(1B^;<|y>o%grQghA{HeL!GQ7Ysp$* zFZ;Q<=)Qu}sAmUSe78W97O}6z2S_X3?SOWz_yNdT5zn zm+%cn%mZY>m-E>yO%SRR4pg)XNQo{ka&!rqsEnEAj`j#t70eYw$hYx&IXd|{<0K@| zBS`j*90y}$ShP-u(NjAmY}Lg>n@2zZ9k1yvW6J3@V4xF9>!_M!-U62i@?f{nEy3^_TG>7 z-a;Ze0@o-!%KWpyoWz|9SisXTC0sBuYDoUW3`4JhWfFQ`qS|}s{DWl$;{+o5W;>ATQVf2D1?7#hzCq*NvoYm*W{i0Iusm8L%S*lNq{;v;S7Dyx zy=*wtA$v$ifT3aT-#@RL1A!`{m#)^2YYql%b?FXNo)0R4&z#$&K+ttRNSJ&uS9Es; zD9wc!3^t|%6?oBiN(GDhJAgD@~*%RwG7&RDSSbC3?S-c0A7i_e0b*P?E6A6{!Y4Ck`dTLT|rj{ zUx_zv?p)I#p;_UVI4O*4f%qU{?)t`^K;kxpo%{Bp#s907;ckcOF3>H~7tVws35|!~ zP>hx}YiBFVKWqk)P-EEuMRt2zoAVd2nTAi*%slYyadO3a>s0WXC-{{J^-1rAcA#u~ z1O7@8!1Dy7Nc*}0Ph9WO>&%Um128Gh-_!1;qxbFCa-D<1!489{Ou1RjtZeW$Y?dyU zooBdC=K5wD#yXI(0%Nf|xv(RZzfebW%@v)AHb9bZTWd=To>rB+lw_<`V+MSz@5+$z z!W-}f_1HzT6xr@aJ8Ds&dYjVzaZui10dg$%XRckH6>!cYCvq>gGgPTINsry0l82#~ zf!;+qPZQaxGh5De!G1j^!6PyX_m9s zhb#`3yl!v&b3c5!rRp$;npcIPIgXA0cZ38a*RgowFJngs8;|kyaqv&|p%i0vgtoF} zKA8T&|J&h~%9vYR2+_i7KtPaOTbqe5k6bcLp-kcNS`Y#dIw?bUNXO5ETrOY}_wmj% zm$jYqh*>0aJeAGF;v{rPCfCAWqgf3^eV&k7;6em<96f;1{Hi?rN6DR zNz@qxy2Nn9yDl1X(vXaSo;B>7=8#zGh8%h z0qz#nt6YT$H0w#?ESD3C#HTOyTmAB`r|(8~7L zcTn)hg*EK z(sA9UlW_6%ZKAm7cs%hiW8jAeDU3yjA*t;UZI2!BFv+gRN(Zoy36P^~&TiVyad5@# z<`GO&9x_z=%8b?dA?W)-5+Zs@DA?V|4^?^GXP|-GSbh0o=X%!*;x|RW6CLHw++1#% z%VKW%Wp&rM;=&OU@8mC^6Wvxyn9^c{5LK8wqI{%-!e|0H#|+)T$|1k<(Wk-$ebz77%YOW8Eqk3C!A!)xPR-)wt+HR_vVHAYB|bf(io9q+ z@$uQGsm6aNBf`Z_jWrA(ckH2Iqe|RhCJgJ>uY~#OpO!{-p=S9mM|V*v=r}~6QK1Rn z*8E&||0;4XrCgbvcSN>1gA_q>6S+$8Ots?Qt5Of3)UkRKo)0EQxKo(TT*dv@)mN}V z>FEysZd@xPdE5d6PON$|R~GOH z&$8ws7Yr$`PpE(KC#MCAOp8(DEgIwRWIvk&%B`JM;~!e---w@v8giKz27O+OH55|Q zfNv7)Bhps!Z1;TjzpD42_Uu{$D%(up3rn8A^KgKed}`EiC?l1ea|r6T;FYY0rV-gv9- zmQLn@ZFNzHE6;VKcI=bc+O$mMK#`Hk!MUl{aPccBJ<~f8a&DI(B5xOATS%_-QXDE*L6OB-ogVOupbLh|P$z@{+D zUbzV0x4#WLu>VoaE-15a+}NTj5>GN$orbL5G&Kzt6Q&=(I-S8GT*Gt*VU@`0Ff>dH zk#HC@^{^rz2BWQCs*IWCN@q5}U_n(a`6bkaG%Q$SR?3B*4?cD*RQ#yG;E7sg} zdsYSw8dC37FXtaM_-}``gsN7rKMwVQWgV(q3=kd##0PH z7(n=puP`2Bo;0afZx!K>LQ;Sz2637#v9z$*pW~kuSSmq9^!eg8oH(f+9KUJl^Yi2F z(~o+Mje$Tw4>%H~%sTa895yiKJvIn@E}JsVQ(KS>u%Il4vC zU2rvEL(PC44|d!Ir%yzRO!NyvgC%%CF{W<0S{D8l5lHs~Ml5k?(!{dfKbo8LG`duL zcJzDPKx`HyaA9?XxmimIu~EG;xL~$oRzgpo7Ba9ib*fk^U9Oh6_Jdr)AQdrDLH$uD z`mtd+D!tz|=YwUD<9vbSZkL>C=hY@9FP&*K_3NJU@)Ly^77$NbmJ73LBrb%i6#k11 zz(e5q{*aS8J>*};Jlu;eX($JT>Y4FOxtA0hp&!I?oVNl=twA2F|W^mmO^?>4Xl^mg+}7DBmPQl z>Q(FE4a9&sH=Ls9_R3GU!H6Yr7mGEXUjBpka*F zLb%J#Ahuv6(INVw2rOdjmIU=K6pm4g>jRt&SM@M=*U3(fnN3I3c^5Qi;etn9?wD z)ZKjr>|uW^@}96l7N2Ju!c?L@ymO_u#{Lle?iUM_kXws~IhHOzU_Dc4;UY`f=|FLi z95T~t-eOcqvH~P?< zQT%W>Y?UR^_~$H;TVk8^F0d7tW#FxCQF5lS0gLFQ;Pdt5k0ac{9a&rvm6H!qKx~sC zmli#KZUovig&&ry*c;L_{)_&uFkx!(MxQ9VHh>W+?X`UQQkx)@S@YLL1p6~{{FwUL z53e8kT3#aUSR{POTUl*)2~Y5Z;|#E}Iax`r$uFt_o9d8|MQp_4iA)h}lO2mz<%%m9nr4u& zU=Se9k%c2)nF(g~R<9^Kk+E<)pW9uqRcaiZt}{~+8!1KdIijAp<t}^^aDmh#r3d9CAbI{s{DsVxj-E z%T9{8h@MNqBWXQl?(g`ex z`GZT$lNgHN=u-vE__@1hO!{zR~|Z<)xkJp?x%lrnqFXSlcc1pUJ~l0F%Zya)AQgdFL)y* z@kc56$#i}`U6)fR${Hb((H-6~LTn+X@@t(Hw~qniv}hO^*hcE`%r^}g`B$b}9|RhP zP4198@W?pMFG{T7dcLd1JP@BRCw3@?F&+ga%0*5pqR#lmx0ic_DPIJaiuuFtnF5^d-Mty-_{bzvH0p^UA+WQ)zqg$S&$UjGTR&QM&MKoq( z#LtWS39C2N^`k>Qgig8$(BXn5YMY}{A&Z^JC*XC3XvIm#-P<^i~9nLv~h;Hd7_`>$+maM zY!5O)lQeWgNMNt9G3h!aT#*31qgZYjAL*bT6vSZ()x5#6J?GDlMjnmoXXK(DrEf>k zem5!#XNVF)8+)e6f{VuD{3ztRg5M1!J(v)=SBS|mY+QDY(af(Va){4`qB(v`SIR%+ zj?9zXHSt$E*Aab>hH5iHNM)>|)qynxmO{MAmZk^0^}6M_$Bjxt z&CED`ZQupx%JzoZUM+CIPBlH@GxTQcFT|(~_7`m?lMjsp&GBzPMM)8leQhM>e4sG$ z{z4#To!a~uO={Sqc}wygxnb@z&9I2qHcIDpinP3C@>KPUVG~Vx{;jBVQ>y+NL^hBB z`g0Cu7AB@c<7PklyjFx1>gV@{Mr8gA^{A@2lzcmTSS8Hpn`&5Mzci@m98C3vJzG5N z@zN?&4(nITFW6Hr$F$l+3$>DTe} zq%QAw9hR z#GDto*lI(Rpd_G-M;2w|xeP|ohtXpD018H4e6D>>BlK7wyD7Pz+@uu`D0cqg#>Q)R1y z+q$yF`x=sD8%+rODjYx;ld_g5x=S@y74Gv3g-)+&+#CGi33-|=SQ_+SIEybn+4wjc zdoa;l?xyuP^Fb80Re0VI_H5qKd4&BZn@k3!d=j6uXjXBkj1`N#@Aqs!eD6{EF&XUUe)j<{KTpH59v1FVt)J*-OiFHrN z=896Zmgq~7@3;S_FY1iJ#sG3Y-kjgke&FObC2^U~qB_^Rte4&6190YZyJ{w*Z@N?r zAXSYeP+=V4hxd(L_%Xgo7h0Jn%W0IqGrgEmEwrYpuX@CLr=tqD4Wkv(GDTHTL})U_ z&^u_3UmJV!&wITU*?!T>q8hmS(ppq7(qD>=t{Xe><8!}A^36J* zZyJ2y#MZF&ido}z)HEL-d-mF*Sim-#!Y-rVFD6F#-oOy`;V4wI6`5wD`CxqfsL=fq zk+nu=zKn3%2@^0Pl=eq-lK#O;eZIeZ;)GJ$$^9(v1n-^_DQ8yqdT?FGQpElwaI4k> z|Ctv!&fNAruIuVSVr4jbnmcF-c-ny$hTT#gpOsDh?V2upiSegt zMbKWpmY_-;Bcy(Uz%jc^W}D*gpGGg!M}ZiEVdT9->s=Ugg|-{BUEOwpKCX?%M5#7- zazt*O^4XGL6r`_mZI+qD{$tQR&^r&uTYA@`m;!Rj@WgJ;ga8^a7P&hu8V^6uNCyuy zB9V^>EMs-g;FZrU70xBaE8ALKYr*KPYY-!M!MZg z!S>$vrt2Mlm+vljVUY%!%9^BiLLvaYImU`Wn#BqD6v~dh zE@ruiE-cd$=(!;48``F8UKaa(=$2aZY{OM;3?`t=_GV>NlM0h-(6_!EPb9@Zd6?=+ z&0iL(8(9}A5}ddBtu$D}r%y=kIy7PshoSd&S)Bq$#r2ZH<@ul1_Fr-kyh5>US1Qsyt!I?L0;}I`viL@;?Fd=JA*~6^fJs3yeH_@_1 zYSQX*l{uikI%DmxX|%h{Ps~WZ1UPFP5!5J>EEr3EXpC-^S)%?H{|(9Fdl8bT>d6~W zln3lrc`?uL88ENNW}@#p+C$hZ2`|hHfh@$aUj(PLxa=4VvBTVOrYE3Fn%Hd0CYtRC zQ~eOibytOF#~nQS5B!Du5SM)pJYHiGm8oWyxy@o!3UPEQ6GZUHesoI3!8%$P^uTVS zF>6~RKOZ;cdP#J0$Eghcm^T4q2MQ`@jHNyA^aH$k)_;LHei%->dg36$3w;~I41C1(_!KsKfeC_ z*u=dK*)6!Lmk!I@D_km2`BF3<1n+ORSN3!rT~!*Zs&|BXsKB~0#Rz(iTkFOAM@-i( z3C^y**!21rEVuAK0eQiUtMvC@3_k{MOkJh#A#r*v34;gpdIQ4Kxn-wLWf}5mPUJ75 zeK(C^8PutdTWuaV0}(bB6?iqn$NcYqX#G?Fzo4!LhC9U%zq_4zYJJvFmV0Htz|U8a zuJW5JE3C+_T-s{!3Qqo(4mNWr!EP}OHU|JV_u0P(_`i6Kx`l&xRr|?*Hoo1rUEg55 zCHOE&UuTRmZ>972Y{?T^AhCzx-6;?Masa34iHGGN0(Iq5AbE7jlvy4wuw79$7`C+? zFY(CE;}XKb2o{#~%vZ3AjVlND^=*H(6vQGlTv8k6EsU(mlAWTqsfeq;nd8-|e`!(Y zA!fIJ6ht=v`~@kprtxmOlUjnE+P&Y)htN?R(5h>w@)jZ+0J)7q_7z)qpoP}Rd6E$7 zS&(+E`n#)^0(Yb6pa5TFv_{b6m`T|C{bT4PKJ5)Sqp}xxwI8aSl|!TBhnjqpW|MVr zUu;JoI)|f%gJ6#XZt+)BM93NWHTbG*Z8IJOon98bUIy{omm86jn_4-nlsfz zVQadlT41Q!0!X6*3Fgz;U@_Ksp~1!|%O+Ns6zW7m)4Gy&xx((|LI8>T(w%c4pPvUg z$>_9#nET{jP3?#DT4Y%z#tUm-8=oVHEZdM)C1-CrBg+?b_ysh7*JB$$k?kNm&5pUw7&;#^}XYh0iNeuK!k@$Nkmm$eE{U&V>%jsiHx$ z*}#^IJ?0ca3q^uckZ>ZpK|uOO?5KiKI9Aflq>5gGn-}Un#XakPtX}|_ZVBg*-S1a5 z4Z*j}|Bv%y=8Y5iwAY$We_D-TM0NK5fdwPb4u0 zh<8FHfW?!FGNN=nfsbdL5Fwo$aA-_uXVPXM#}})?l)$Nl(A_Fvkwtdwdmx!?bR39m@;tWqhDu(ir_@=F_d)q(wA4Tbtze?|M05MKOu86 zyjp+dF;tsa_>)8~&ZMNY4chf_OK8*~;XJA(b2=Yr;!aSh6lLSPy88H|K48IaN1ge z0l@%ZnyP$%$A@An2BXiL9(k6-E-8#qq^L+{omFNA=;@uazG!T0%aaI?kJ4k@fz;nq?M7ImM=gKK^vJ)pHikrH|h#lN)*Q(73@&ct+vY#dX`MoSRY~gv~VJrr?8~Uu! zyQlLk4?t9#n#*V^k(JBslQ6V%ZstS6(7Tgl;$Y49m8`XZ3mN5Z zYaQd1hWPjiaDVsqQYySdH2>U&t>6T2%$I@7rs1nxB40; zO}#~-9kSr4zgaNFgsIh@e7>SxwfE4*A^G>cC)j)TrAIm0A<9M^DV?I#~*rR2vM5KOXf-a6%yy~Vp570sc?mnA3UU3nMdc9s^x{OUoq zO5S3HxZmXR|CqH(?}Q00$cT+419v=nWIy!WYiB5K zPp9kp%fOF_>W;UyM~c#@CyH^z!y$^>ATui)6~4$J#CE+dIN$T}gAMfG#uopP1jUab zC6PaZyB9S*QGUeb#{E*EblIS?=u-JY3-AQ>LPWH%4vE+649D(`znJ=--Ci?VJc8lC z?p-*KXkzrm;kapI4@7~@B__-e_J+*!cDk)qCFSdPV=G@yjuT|F10qS$m$H1iq`~?Pb=V zWdvUJ3-0^WPC2yI5_~cYH$oZ2Uog{1;p~7FM!Z_mbje8EH;M2|${YLpXSu>zO-`r; zA@=|3xTK&X7K$mgW!0R&PtfBRO3f?O@ceer|4}A%XifJq@@e*^_yCZ{Bcdl!^Y-M-oyUiLNX@@#QR zefRA$Yk2ulXxnWm$`P!}ht& z-v)6n_@?jqnc6pj7M!F9iO}bv-ZV~aYDBsgSNyhSV$84m^#8qO=V^pRm3r1@Y5yYQ zX&$joq#GCJCimG>xC4 zVVD*xFMuc}uJ+^|2gN*KeUM)B^dbX#AsWrjknzCaxb5oi|MxlNE#dKgJG{Q<8Q=@i zR1St19L*a+@vlF-fPw&$n0Uv2*vKT=;?78Ofd`Lq?^7ybzfp$2FH6_XpUJpi%MyHZ zqwq|sqPk8IQGJiw{^gX6pJ@>$?00*^O9C$QuXO>CY|W3Xo+LkYFW1jG9@KF5e4n1D z-ne$~<=@^9{c;Et;!7a9o8Mx+t3B-AZaS%UQt(&7yU%5EtQ7Cf=%cb+{W;l&CADMf zW2j5nsh@Blc;`mr+R10D{LEXBD=-y4MU^J#Jma6bcc2o=>oHeQ?@KUUKNcv;E`pp= zt|EmHI?Z4HGUHucHc}34E4dZCs22QxTSiRqwPpQM7h?WT`vCxv91FqhSQfX)}# z{~i!tc0mcuk)%J&9=<2?9SWv`F9xLN?`_(GlW&UNkcPpDg^=AYqmfx>nM<4D{oRlI zr)(YpGQ^|46&y=o|I$r`d~0BhOW>U_8EjMq?Z@G%n(uFWPAS}R7e7{SNs^D&WPo#Y~h{1(aBDK&&I)y0EhXFT;9?5 z)ISyF*`X||@lQmLWIG__cj&`=($_R}iCU!shi_NPcy7aC;Y{Y`;Lje>l52OSGsYGTN_RL2EIO8!@-9`>V11N``V zJ$Y%ky5B%O>utAU<18{&oWDJdvJLp+C~Z$2)eU>K;wZ|8omIGH$7AljM0yb+hWlHM z$ix0VuQ=VAjbzQ7$xxENzJzZTE6$rfyq0s z`)HkTG0E|ST`_mnICrG;==NABzv<0`N0e(Njt*^|da0F%_Ws1NPfU}Oaw?^_RbRX5 zjfw8SU$BOZjvAQhqFsY*f{N5nh5j>ECLNBJIl67&(OMyASm=4j9nhXQ?9RUSHB2i|)BQvUMto%%EEgnVkOVK>w&?qh>gzP7 zzDdk6u+hgVq8>r;ko2M(y4(*F;7Ql}V)_1a(7-lw8M!L>xpzb0y^}c)WmjtLm8aGd z)QboSGhiCnSBCuIOup1`0K17&K-Np7D4qXSv7HME83cawCjjoHDYv&Z9fd)_x3nU3 zq+}^B6q|c^0x=hPTM&Hn7s2;dc9HDto%+D(WN*X6-3AB2Y$xCLZ3U>pZS#Wdis`R% zg51a@)S}cu%;z;2upz$OeelY_aQdHGurW}Q{hX9YG{|gCNL?az_LRz+wQ{KoTde3A zaPlFsXnk;~3ESRj*0gY~aZqn?#HsY%?0L_mgl|rUzM1r45MqJ(br=XDxcW`F@MB#4 zMqyH&g7{TE)>lt10z0~6h<=!Nqenf`u{ z49qZgii#qm)8JI!$xN>f1M4luvEd!S=d-T#gzO~%E9qY?1McI8IoLfgz;9HmfbU@% z?(3;%EU*KP$XV{2rgi%$%Sq9=vQ0N?s?@CuT`V9Q16S$@WEYI99@+kT`fAz;S)n1F4_BRnW1Sa0(`BE3N{u9luQ23KdpDO2XVMLO z7yNaeKJyy%2u5~+1Wc$@!af{kf=8=lT1P}QwY&vG-{q>CJU`Fyt_O$VlY{^E?R$#5 z+^3=@^VGZ0_M89ShxN{p()htkG7~s}-|jrJF~fFZQhL%|$S=fGph)Z1OZJh0yJAVf z?L18+Hcr4E0TYn%9ew1%ZLut}g5%t6GNq@(YbP1)u)p!B-#*L755v>Xzj3e?l5pqJ zxNj&mu5;AeY~c)6v`zMa=HF zNZ8332l%B1L$wgu;%ACHZ;=6Y@zGv)!P#=)cbcJ?igGf!Dd^No8>0YWGayk9z^r2y zp?Vxgh>|zJ!BeeMGw9<;t>)@2kbp1%NZbAZ!jAk-5fiTx3d?X{02%UDG%u3ddrEBp z7|a&*g6q_&*8&>`06yl6bOgbXdOO?YGKgPZlJ-4eoIcOX`ARd^Y)jWxhh7>!V-s!{ zN()ArnXTjE6-hQm)v?!-JBB9&A{Ty6q^&*rUbIz zZt19wyxJ)ia`enA_80{}n18W;t8`zx`uZOyeTaV_^bMX&J(+xoDHGaSP>-s^vCA9l>AF>lb5>z$ChIrE1cd zrQakL_7|;jSzp-7znw7~8Azdnf2Se!pA=h^Kj(;~Dp1%23>BI?iOgSyKZ5t-HG~&%NV8O*id!l+YGsv*@z`HKfM*?3t{Xo- zYd^y-3Rj44U57Oo_)spaG$wrTXHP%dod;4ct`KR95{luDnz7%#5!@(U2mU7={q{4s_GnFp zt9|Dl>F2Ft2?`}WfGond>VuJp4`QmXoEW!dR@iie;&T>cbEXkt^tJ>mpk50)%U+iM z71&LC6vuLEg$i1iSKKSIK0m>p*`nj&R#1~%X0U}S8#V`a^DAf}D(2<11P>Scd`=m8 zAQ}s%a71Mys4m~&U(ZYdh)FfEc{Xm7NvhYjz> z?7=)4vkIe1WX4`D& zY?19iqFS=9fT#~U;(|r?sx@-HR$j0L=2IL|WeBUgRrK}K56#}{osU3F%a%r}vTw_j zm($lP^t-VYGe?T*%j+QV>0NM2B!5hcI6ObQ+gO8XxBop20>SNgTz+7{PYwa<5~%s# zC$(n0&%X4P*-zhSvN zBltE$yw}$1frr6pr!9zueaS=b+SZ6^sKpGXR;^3KavM(h)Ka|n>=1Et5T9?$HkMR4 zj2CnHXVNQ9L!^ajWnit7BVX$SW~lx*2-5)2{7gA6sK=DXu(!_YO&HX}SdX6|6I>O# zDONaSuOhV)QeE`np!}3{A;Iz#u7Y_EN_zOW_pr^y>rOn5ef5>JMGPVw5eGkSHnW6p zLq#W=t5>gpAO(5(HMF<2clTZO=Z=jVcvNN-j!h{uuTR^kj`+Ex@q5WWH$unYaK$5s zvkfn~b_<)1fq;>wN$ul!WMZw6Eb*7B^x2ZbAaSd~I`ld<9;y2m%G!(+Ue50UwqFKE zd|XMM1Y01WVSQ8w(xx3d>>GkS`@m!mKP=PFtU<()mVvb0C6C|e3*VJI$l(wVohS=1 zKin@M_X0)9XyY^#xx_l2{gBr&V>Fnt^k}gX`UWrB)D|O6ir1Y!@K2?Q|CBG2yK?J~ z^9a$o0Ct-8zIU?a2PE?9#{cOETOc6rT`)r18AYUt zexW}g63Y`AGHi7~^!}De;hXSHwqCo#9BKKRW21NZE#)64Bdl`JVMdC*GFQ#I<{*>8 zU=g8KqjV)r+Zneu8Ve_K!b101i->MSgBL%eVX>dMSq?q!2pUWfc(r2PT}1ZcKiN}~ zb{8JWznZ7+Ts3~-aHt6cranK(yuIj54YTPSyn6zeoG82rmoF~Cn?0)DPn{YX#SjXRia}xIL*zx0Jh?lQ_&QHpfP^xNumSY)I zy|fjmmRg?#CaFF6vYQYc5g^gw_Iy8TsW<`2$*+@1yzIXm%9a#LRoXm@6IO>&v#rUl zpx7W$gjDZWJlK3D%+jb{lBgu_=@y_9CLylS!Gb{k6=zjrvHjb8B=UJXc_Kehah0ew*Z*Jod2?PZQ?If-wy zQkUDAr0a_?tlSQVyQwrM?l^qvdLBM2I4qxHv^zAmCuA)ir12}LMyHp4@M%D94%))FLq9`hBio3AlMu{ z((c`45Wj04TIsH!Wg-^efsq+Gk~#<|84I;crmb@g7@?t z+T^^WA24!XroO_S=O7w$Ret=Ly^O3l&QS#J{_HBnZ$2xbEnvYC}u8u3z zU$%9-eTjP0ExBH^9k@wDqf1xy4hJYX;N>IJ1y#zMQaygoxexBVq=>yGh!GC@YJ+;U zXgV(CEO4fi1au})Gjur?Z%xMAebm~cOnUsI8H|I^E`k_Yrqg}20vV_CI#p9{GYx$6f{u7bF!w4%X|xTrQ#u%>kZ`t7h>74LEts^hLD#iwBhBehhqX0!_48bSh-H*#yMDpZS~ zg+=#{!UG^bm;~nd6;dic3s;(-P)vB$t zPfU&j{l0ts$&&hI!#5XWTw5_tvUM4>C$2wX@)X(vtsZ<#KKCnKCQgJwt2C9G9gMQ) zD;cuQg_=?i$w~Ux@O#X(!PU5GDRfni@m~iV;uxzkpCV zQU%PVBgEE&Vq?sefTQ!Yu4&qI)gZ@_F(cEuZlt=$lP_aR!T8ggF>1c|uFrlJLuor> zy$~5#GsTXEavt@PTG5M2%%@z=yZR?0dN2(#x#2RBIJEOi)4>X+^RbMI>ms4W>F_; zP)TTbSI9$4VGD$)@|UHo_7X1dYLmsf)0~P^i@5y=b`&CM7wvi~nBRl&%Ve_$M&QoX zNG*c`8yU4Ma#qBCFUp8tXli2ma3ScA(qIkSymg?c0BFU$cqLC>I=XYFV*Rh}m=~5o z@D*Al{*|waMMYbM)*EG#>qNV6czbl`RukC7fRNQf)uR~18A1D1J-ZZdGr-ZXAYwSG zTcE-lVf^HWbZU>HsxUIAW*zvz1uJDw_`$+9$#yr*CTtNi#dy1I=dKe0@iO^hh3qaO zzwP}SkNr?KmF@%YCvvtM3W{<5&Wlv;dIxJqAJ#_D;dcF`wv0SwCQUD6SC3A1eulc+ zUA-a0Yd0IoKd`)Q{%aY*ES!3->g(w=$CI#!We=3YZC6$P;@fcHvAAkfGAK{2GDvIi z_K!{7exaNzK73LAyWQ9pmT_!6p8HMZptlX|gs>Klu?Gf7f9VQwiRokrtE85E*-1L3 z6t54R=FE-seZhVIj&C8HLh!I$jEf2Wy+azLgjg^yYUE$_5_1xt`Wbn-1S8V z%KVWl?nyv4+h|{o!Iao_l;5yt_>>%Q`iOj*^73v~bRwO$#l%gjR!>}n&b6r7Pw+yV zFq>YO(6Fpw>FwjHR80?~AuKmDEU|l3hDds%j<)4*o)m`6t1~laGaT}blGhk^j*mowJfV)a+!;T^ka;mU-wf3% z6(#Fp|F9;7bNU+ec%<$|f4-?7eqY7wz?w@`~DGP*+X`Mp^F>KW7^Q zixp2JZotL%RNra>anX3_cP}dGHRd&Fy5ZBgzxRR{+@?R`6B=3+OOAOwg`v%VZa2ln z;SyZ7f_$??4T~Wlj$uu44+e@#m>9tN=-wY1l0mJAUk05lqvOuMq3iHAjY#>b$3sYK zZlE`wgvIOu#cSU+KY{;}Z{2NaqKf^uSA{=}ADCY)vOnnx*DxkkFPMsBeb1bJ#hz$B zPm4WoDX@|`F~~<>UFO~TPWmGzbeQ=m5AN{7cu4nJLy8Xw%psV$%iYv)dB)H_X$a zb;-krZyhvVsPd4V#XBT_?p##C6g&d zdld%NOMm(`yH2pHVetc?=cud)oIVAu(-f>Pf*-~h_fD#2YjB!Q7SE4~Di zi(;Ng@RP6qhjc%)`Q;-Kp}l@1*8AOFcSyY@wC_65n&5kbk!IbrN}b+z-KHy)rF}*s zahy%mCT)4kh<0URC|I6@0atPtLtEdDkt>)3q-x)%0`MVSo24$k%PbPTbs=sw@q@WY zUl!@}cAE0qTL~#NZ3OG}`5Ilw)A0LK8ia#A61}wcGaw7EsEEg%~hBd1BmmcRae#uZ3_`lI-_Jx05gM498%3 z-L9FKpjA77SgXa^AfotHrdY}drly0izhXsUM1b9U=wd27K=CSILhtZ3L-kEZ z6%Yz6?){^L;MVJaO^xOg!%xriYkpoyJs!*`%qjhq6__}iu#1_~Z9&(b^3RvvPLuXj zI+T178|6D;jl~?POIh7T;jSg;*NT9&3ev7ghy`C4{q$+Zc63$(F&)5{haNj!{ks4F$N`|o9Yg)0tMWabd^-X*d@{Fzo4 z!~pTN|IqVqBaqTsM^%;D(}zm6Y$fSDo6U6lXSC}FAqNz;s%Ad>nYZTly(@9=lM7hB zp^MwxY#~i`TA^dGP;c2Z8VQa@+$)$FDx-~byMbcc^JEQh3DfpCS&3Tta-S`6a3(_I+d=5?J;E@F{ydf&n{7?42>6u!Z)JBQKzN^iy>Sdwl2|# zYWOs5{?pel__8nDB z7O9(&Qk(&W5;B#{evyz-&UabfC+0tGWi9GEUs=ZIi1xycFv!szE%SbM8;;eReWl0dp4VV$Vze!S~GMCJGDCKc*-f;Y=n5k0CeS)aoDAl46(VsK zPkdE2FC49Y6;Zl6kWsF`MB_8k2YdR#$}s2on1DX`2)J3!~di$QK;< z@>>0rWgWLVW*lgdynkvmM}TtFt9~}vY!$5rQ1F6A%!^01v@kup8)F^|qdl!LX!2Nx z0MMRIPk^6wW%W)u09!iO6V?=3>3bf@g<~jkpfH9OGCBC@_B#8$ceOJE*wM`=Y0cpi z*;$$)zyWj9079KIJ#fN9$^7oH3|DpNCEs%4mXfr%iV{SGWA(0LR`LG)iwEdFnLYp{ zuC_m~UZ@E9j>#Lt0T}*sxbXABvCKoHbl6aJJitV_n^gF*tAL-THkNHK8sAYzGFXJl z&g9MXRH+M14^&T}|BJv>pLO}pxZ_je+*U4H@SB4akY=Ww1rT}87BiQBob%lq0;wp{ zj|0(mV*xx`(dMo0(9GA_4-9^b3Oal8TVjp@{jvda(dfu%y7@}YbM@P*=&>tMyQef` zDl)<8PI>Y~CW*b0|B!<08{Fv?9E##H+jR8Bop5H!!k+BvXmfAIQ5!>ur%5n(N}UvsH(4F3k(<3W3iw4n*3U zeTNGd#+KE+(KRHkCeE7y==NiO%n&1WJ#C1*{3`AX{UpvL&z`BabbPZR-o#pkcQl9j z-%irA5`9?@KjyP1jA9t;aB}l-qESfK2k*`!_-_vBZ=qL6R*}oru#>)_l{`WK60l$P zu<-Axyb4AiZ-z42;Db@BGes-TY_d)h8^ z062r0cj&KKfLW{W0{`XdVPhXk{~Y+dNjS|B0rtkKvq_R zhh`^Jxme4m3=EzG)-zxr(!7nZt69}W>wdK(i zh8f^$DeY=ei~DmO8*~-FxiKdLQ-6xRo{VH$_NBO`nK#uN$+gT_z4vW>Az7^L74e8P zaMgBF^2`5ME26y{U{ir0M}L8jeT*WT;c`(tQib4XmN$1PwdJRbY?FSgWaZ#WBr z$g6{u+msVqG=#Qb;HI9p{BQzBE7;lvA)C15EteEi{X_+UWQHc3o3Ex;N^OXE zVem;hMFav|{c%FX&#z)l=azbPqh?hNOZsU`lIF+V*Jaxtr4J6yS|fYBO0c^GOIlhq7Hhy*6l>t|nnBgF=xvyNoN zB?S~x^Ob8ml{w`Bec8K|$iIUhyJz@1{4^eBsg{9(gywcjY-caQ zCp-iMWRz;sLeraRP0}G`IaI_42^iz6iQV>Np2mXA_&h3wYo+}SU|Y)@WDdb4_O5nrkryQT zsir{YG`nC>8!T!#E&axi{(0Wk! zQ1O70uMne^NsYA6*JZZslESg~G(Cdl)Y-e3rdXf_C8WB=b9S!&?;AC6tnMe;)MY>Tsx{IkkMk>b9#`TF!T~M=-EJ|m#a~nt9znB|IkvYWaITW zA^8k!lji8EP~bQJZFB+iC&zQS1LZ9bDUn(tiKpQGT$Sj_k?w@|vESXnwkx|t%o7Pc z>!wq)G{U}v>G73{L|q?KVp>8u%?-d(^B>Km%2-nVi4>Y&zLe@Jn#_JZjOBcKIXNN< zJTxaiBvicv`yS$mTXPP^o#51Qe6OtMt`@!9$eQGCF0exQw{df8&9MDmNL1Y$-!vKY zE_z;F@41qjgvu&x5sG^T@>OU*KK?(Cc&CAxt00vtqa`G7Q6A;>IlEhmyk7xwIco{) zb$IbO>O?g9H+nHQ(K@2s5+dW4#KNm*NdqR2{i)H}yIMfN{i{r$in5x(bTYqsw~1o{ zt3~xaWTm}Ss^(e>!tgRsjtdL8c}Bd6bdd9W*21dQ$xaQblCiQBqFqLSErEbOpoy3n2#6aI|Su zRryr=l2-_S>@EK*YY=xbA;<-LI| zWZSW^MAzl51N!ZMYuRX1hxbezyA8nS=Jor`+?=cEBMC{@iyxNj9hJ{S*H3vz04!8i zbFQYQb(v!Z-4}WK&HZeeD}Md@Uy1@6MSaMS=_?IqAxNTvTK7<(J(r09^{i!N*FfxS zPS1=3%SY2PEGi7eaJFqm^<&#nZY)xKqe+D>!HGSk6^qbe3q{vN6jfAQ?tYD0;0i98 zMuPMYA{HN+TFjea73BC&d&|<34-Gn-24# z11;+$BFx8%0P?Ngh=Zr=GYVsDY8v-r6N zTpU`yF#YHMzl{tOt8ee!>WaHLc&l{@gu(7Bb(phiEdn1ztC#akf;Z>G!}Fwy7%Y%q z2w;-^|BcVGLJpk2~8}{8KoJxoG>p3@o?XnsH2S(+ID~#Fo zf(pi~FKN1ywPx~+zDD?{|4C%qO~j+4!UW5p+#A15Wnxt8Cu?;SV81=WdV_eZm2C0O z#&a{?SyCJ?AVm>l!)4s7x|($U0!#c#hr?BHQQs45AXCfid6wA*q96`*VSSsROBNN* z$@-X07>!};sb|py%*pgvbOvreO;kQ{!}Z8KAO)5)%~O9gjduh2CoS04V&N`|1e&9b zJA&J<&MSblk8SaiK7}x+KOw63wo_LwiL|8^am{wnrJQe_GE(Q|OPpwTA^8kOP;Cv| zO&k*7$AbWL)0f|RyBSM)h^&m%xpN#m`+esiFa=vv(39s?JnmtiZlbk=PqGPgVc#{G!Y{wmwLER);x@PYV>IQpQ7gF~a z{`}QA>ShXIsP^)sKZTSnOHO0Y=gr$6BdWWLGXR)e^*(`qjez!R;8L=N>WQ&7T4M|9 zEqM}dzI@PdS*63FSGYYF_r3d)V)R~xn>>f|9~($huL+{=lM@w7LB;;0P;GZZq=P2?|YBvW8!Sdb2jM5dj>R4Fs-+&99Z~p4hJI5-c z50rMEj^i@2X zvGD$TL2ubLv)Vit@NSFJe+I&m&+;W-A<_lyLi-t& z;qm_QTdWR8FxUGVS7YRFU$u^zis0Y_=GPt{AIT8~|Cgh-_SaF zNDPmS>OnWb4eDer9j?AR#0urMwc*!8J398XZXxBVx60txN4~U?6M-cl z+|23aV%wb0XfN{>!(`^Mr<=$%^g@VWIH>TUmjuUJQuU1pnEsRr|4-dI$}Z7VkBe_HSIPxk$7UOpaoqy@)KK%0DZ1fio7478<9KYt@?VW>0Ocp%hDO+55VC*ManhMP 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

255gT~+q^HwX41dS^o^k6e5G;s5%u}n!uGPDp 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

UWb%{o3^5usU`GWQ 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 RF!IBn{y#My5;rFLGXS(<2TlM0 literal 0 HcmV?d00001 diff --git a/docs/testing/playwright-migration/evidence/all-spec-instances.csv.gz b/docs/testing/playwright-migration/evidence/all-spec-instances.csv.gz new file mode 100644 index 0000000000000000000000000000000000000000..eb5705aa8bbc5e3b776ae8725c8b9b1642445a0b GIT binary patch literal 150458 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 N{{yMpj6ZN!EdWIa+*SYp literal 0 HcmV?d00001 diff --git a/docs/testing/playwright-migration/evidence/queue-daily-outcomes.csv b/docs/testing/playwright-migration/evidence/queue-daily-outcomes.csv new file mode 100644 index 000000000000..b7395072cf3c --- /dev/null +++ b/docs/testing/playwright-migration/evidence/queue-daily-outcomes.csv @@ -0,0 +1,9 @@ +"date","success","failure","cancelled","in_progress" +"2026-09-02","88","83","0","0" +"2026-09-03","82","140","1","0" +"2026-09-04","114","114","0","0" +"2026-09-05","82","74","0","0" +"2026-09-06","10","6","0","0" +"2026-09-07","126","49","1","0" +"2026-09-08","109","98","0","0" +"2026-09-09","120","34","0","5" diff --git a/docs/testing/playwright-migration/evidence/recent-queue-runs.csv b/docs/testing/playwright-migration/evidence/recent-queue-runs.csv new file mode 100644 index 000000000000..83c48c74504a --- /dev/null +++ b/docs/testing/playwright-migration/evidence/recent-queue-runs.csv @@ -0,0 +1,31 @@ +"id","date","gate","gateMinutes","shards","runnerMinutes","buildMinutes","planMinutes","prepareMinutes","fixtureRebuilt","summaryMinutes","passed","flaky","failed","infraCount","url" +"34355232120","2026-09-09T13:08:41Z","success","60.23","37","719.33","6.85","1.95","20.4","true","2.42","4485","4","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34355232120" +"34355229715","2026-09-09T13:08:40Z","success","57.67","37","716.18","5.98","1.63","20.23","true","2.5","4483","6","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34355229715" +"34355228351","2026-09-09T13:08:39Z","success","55.7","33","676.18","6.8","1.63","15.77","true","2.17","4483","6","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34355228351" +"34355226302","2026-09-09T13:08:38Z","success","53.98","37","705.5","6.72","1.98","16.5","true","2.57","4486","3","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34355226302" +"34355225816","2026-09-09T13:08:37Z","success","56.3","37","708.98","6.1","1.63","19.4","true","2.57","4483","6","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34355225816" +"34354609470","2026-09-09T13:02:39Z","failure","58.22","33","698.18","5.58","2.08","16.43","true","2.38","4483","5","1","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34354609470" +"34350140149","2026-09-09T12:17:11Z","success","74.57","36","703.45","6.63","1.98","18.73","true","2.27","4482","7","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34350140149" +"34350138383","2026-09-09T12:17:10Z","success","69.93","36","698.77","6.8","1.6","16.97","true","2.45","4482","7","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34350138383" +"34350137048","2026-09-09T12:17:09Z","success","63.97","36","701.17","6.7","1.73","16.53","true","2.18","4479","10","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34350137048" +"34350134941","2026-09-09T12:17:08Z","success","72.97","36","707.45","6.62","1.7","17.22","true","2.58","4481","8","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34350134941" +"34350132380","2026-09-09T12:17:06Z","success","62.83","36","694.08","6.17","1.57","16.43","true","2.67","4482","7","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34350132380" +"34350084849","2026-09-09T12:16:36Z","success","66.87","36","707.3","6.17","1.78","17.47","true","1.78","4485","3","0","1","https://github.com/open-metadata/OpenMetadata/actions/runs/34350084849" +"34350083022","2026-09-09T12:16:35Z","success","62.77","36","697.08","5.97","1.92","16.38","true","2.53","4482","6","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34350083022" +"34350081016","2026-09-09T12:16:33Z","failure","67.1","36","702.7","6.27","1.92","16.88","true","2.48","4479","8","1","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34350081016" +"34350079167","2026-09-09T12:16:32Z","success","62.23","33","678.32","6.07","1.58","16.97","true","2.75","4478","10","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34350079167" +"34350077252","2026-09-09T12:16:31Z","success","51.48","36","683.73","3.48","2.55","15.28","true","2.42","4481","7","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34350077252" +"34349824126","2026-09-09T12:13:51Z","failure","59.28","37","716.32","5.93","1.63","17.12","true","2.03","4475","11","1","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34349824126" +"34349680912","2026-09-09T12:12:22Z","success","56.42","36","706.38","7.82","1.93","15.17","true","2.42","4476","12","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34349680912" +"34349258398","2026-09-09T12:07:49Z","failure","59.38","36","697.02","8.82","2.17","18.2","true","2.05","4480","6","1","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34349258398" +"34349021136","2026-09-09T12:05:16Z","success","60.32","36","686.25","8.62","2.13","16.55","true","2.32","4481","7","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34349021136" +"34343850654","2026-09-09T11:07:08Z","success","58.05","36","690.83","6.28","1.6","16.93","true","2.62","4477","11","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34343850654" +"34343847993","2026-09-09T11:07:07Z","success","66.48","36","696.12","6.13","1.57","23.05","true","2.65","4479","9","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34343847993" +"34343846807","2026-09-09T11:07:06Z","success","64.68","36","682.1","6.57","1.92","18.43","true","2.65","4478","10","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34343846807" +"34343844656","2026-09-09T11:07:05Z","failure","60.15","36","685.27","6.1","1.7","17.17","true","2.1","4483","4","1","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34343844656" +"34343842775","2026-09-09T11:07:04Z","success","68.83","38","712.62","5.37","1.45","17.6","true","2.48","4482","6","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34343842775" +"34343642414","2026-09-09T11:04:53Z","success","69.53","33","692.4","5.63","1.92","27.2","true","2.3","4481","7","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34343642414" +"34343640117","2026-09-09T11:04:52Z","success","67.8","38","709.35","6.58","1.95","19.77","true","2.58","4480","8","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34343640117" +"34343639544","2026-09-09T11:04:52Z","success","50.72","38","701.77","6.03","1.92","16.82","true","2.33","4481","7","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34343639544" +"34343637075","2026-09-09T11:04:50Z","success","50.75","38","709.98","6.25","1.57","16.97","true","2.18","4484","4","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34343637075" +"34343635876","2026-09-09T11:04:49Z","success","61.95","38","698.28","6.3","1.85","19.47","true","2.53","4483","5","0","0","https://github.com/open-metadata/OpenMetadata/actions/runs/34343635876" diff --git a/docs/testing/playwright-migration/evidence/repeated-test-failures.csv b/docs/testing/playwright-migration/evidence/repeated-test-failures.csv new file mode 100644 index 000000000000..cae1657a5ebf --- /dev/null +++ b/docs/testing/playwright-migration/evidence/repeated-test-failures.csv @@ -0,0 +1,26 @@ +"id","file","title","flaky","unexpected","runs" +"53b3e913ac628cc64131-2fe9c1b4e193b0e8a3c1","Pages/TasksUIFlow.spec.ts"," › chromium › Pages/TasksUIFlow.spec.ts › Tasks UI Flow - Multi Entity Tests › Create and resolve description task for Pipeline via UI","21","0","34355232120 34355228351 34354609470 34350140149 34350138383 34350134941 34350132380 34350084849 34350083022 34350081016 34350079167 34350077252 34349824126 34349680912 34349258398 34349021136 34343850654 34343847993 34343846807 34343844656 34343642414" +"2ad9a40f0bef94e8eb21-3536acf272fc1235a483","Flow/CustomizeWidgets.spec.ts"," › chromium › Flow/CustomizeWidgets.spec.ts › KPI Widget","5","0","34355229715 34355226302 34350083022 34350077252 34349680912" +"8b186e385bbdb2574005-42f94f41e925d9ccfe5b","Pages/ExplorePageRightPanel.spec.ts"," › chromium › Pages/ExplorePageRightPanel.spec.ts › Right Panel Test Suite › Explore page right panel tests › Overview panel - Deleted entity verification › Should verify deleted tag not visible in tag selection for searchIndex","4","0","34350140149 34350138383 34350137048 34350132380" +"877ab5ffd9592be99930-fec525a76b0cc14929bb","Features/DomainTierCertificationVoting.spec.ts"," › chromium › Features/DomainTierCertificationVoting.spec.ts › Domain & DataProduct - Tier, Certification, and Voting › Admin operations › Domain - Tier assign, update, and remove","4","0","34350084849 34343847993 34343844656 34343642414" +"8b186e385bbdb2574005-4043f9e1c36ea0ea6a60","Pages/ExplorePageRightPanel.spec.ts"," › chromium › Pages/ExplorePageRightPanel.spec.ts › Right Panel Test Suite › Explore page right panel tests › Overview panel - Deleted entity verification › Should verify deleted tag not visible in tag selection for container","4","0","34350077252 34349680912 34349258398 34343642414" +"877ab5ffd9592be99930-c82d83f43577ab6478e0","Features/DomainTierCertificationVoting.spec.ts"," › chromium › Features/DomainTierCertificationVoting.spec.ts › Domain & DataProduct - Tier, Certification, and Voting › Admin operations › Domain - Certification assign, update, and remove","3","0","34355228351 34343850654 34343846807" +"4c305ec854f9593f5dca-0acd98f891080c27eb0d","Features/DataQuality/TableLevelTests.spec.ts"," › chromium › Features/DataQuality/TableLevelTests.spec.ts › Table Level Data Quality Test Cases › Custom SQL Query","3","0","34350137048 34349680912 34349021136" +"bb377aba08770f6c0b47-1b8a5e65cdef61c06560","Features/OntologyStudioIntegration.spec.ts"," › chromium › Features/OntologyStudioIntegration.spec.ts › Ontology Studio - Data Mode Asset Cards › data mode renders tagged assets from the ontology data response","3","0","34350137048 34350079167 34343847993" +"d6fb355c03fdea638db7-305911a4b7881aaba0c1","Features/GlobalPageSize.spec.ts"," › chromium › Features/GlobalPageSize.spec.ts › Table & Data Model columns table pagination › Page size should persist across different pages","1","2","34350081016 34343844656 34343642414" +"b211ed4e71c38f212b54-c332ba9a2b88fe69b9cd","Pages/DataProductAndSubdomains.spec.ts"," › chromium › Pages/DataProductAndSubdomains.spec.ts › Data Product Comprehensive Tests › Create data product via UI with description","3","0","34350079167 34349824126 34343635876" +"20371b414745b84fa481-d2d654438df91f046bde","Features/IncidentManager.spec.ts"," › Ingestion › Features/IncidentManager.spec.ts › Incident Manager › Complete Incident lifecycle with table owner","3","0","34349680912 34343850654 34343637075" +"72d52555450cf448e344-083dec8015a3843e7cd2","Pages/Lineage/LineageInteraction.spec.ts"," › Basic › Pages/Lineage/LineageInteraction.spec.ts › Lineage Interactions › Verify cycle lineage should be handled properly","2","0","34355229715 34355226302" +"a4ae799e0b6b8a382617-4bc0e6edaa3ee5e42269","Features/Topic.spec.ts"," › chromium › Features/Topic.spec.ts › Topic entity specific tests › Copy field link should have valid URL format","2","0","34355228351 34343639544" +"53b3e913ac628cc64131-a6b2c6fca32681720e0d","Pages/TasksUIFlow.spec.ts"," › chromium › Pages/TasksUIFlow.spec.ts › Tasks UI Flow - Multi Entity Tests › Create and reject tag task for Dashboard via UI","2","0","34355225816 34350137048" +"dfe16293eef39cdaf975-b00abfec58cbc6f25ba5","Features/Glossary/GlossaryHierarchy.spec.ts"," › chromium › Features/Glossary/GlossaryHierarchy.spec.ts › Glossary Hierarchy › should cancel move operation","2","0","34355225816 34350140149" +"5a5bc63dc66e3147e5e8-39708973ea128903f12a","Pages/Domains.spec.ts"," › chromium › Pages/Domains.spec.ts › Domains › Verify domain and subdomain asset count accuracy","2","0","34350140149 34343842775" +"14bd5adb6df9a88c340f-6aef0428615488839b7e","Features/Glossary/GlossaryAdvancedOperations.spec.ts"," › chromium › Features/Glossary/GlossaryAdvancedOperations.spec.ts › Glossary Advanced Operations › should create glossary with multiple owners (users + teams)","2","0","34350138383 34350137048" +"8f00f316c6c46c156a1c-a506eaeb50a155ae247d","Features/ContextCenterMemories.spec.ts"," › chromium › Features/ContextCenterMemories.spec.ts › Context Center - Memories › Edit Memory — Each Field › editing memory type persists after save","2","0","34350138383 34350079167" +"c345246d55609214620c-b8223a97360afdf32065","Pages/DataContracts.spec.ts"," › chromium › Pages/DataContracts.spec.ts › Data Contracts With Persona Dashboard › Contract Status badge should be visible on condition if Contract Tab is present/hidden by Persona","2","0","34350138383 34350079167" +"8b186e385bbdb2574005-564cf22c841556fb5bfb","Pages/ExplorePageRightPanel.spec.ts"," › chromium › Pages/ExplorePageRightPanel.spec.ts › Right Panel Test Suite › Explore page right panel tests › Overview panel - Deleted entity verification › Should verify deleted tag not visible in tag selection for mlmodel","2","0","34350134941 34349824126" +"6f9684bba76ed22e1a8c-dcee5e388fad4727090e","Pages/DataContractsSemanticRules.spec.ts"," › chromium › Pages/DataContractsSemanticRules.spec.ts › Data Contracts Semantics Rule Description › Validate Description Rule Is_Set","2","0","34350132380 34343640117" +"9de335d5f17b18a6dcce-68f33945efb071cc7b3c","Features/ActivityFeed.spec.ts"," › chromium › Features/ActivityFeed.spec.ts › ActivityFeed: activity + conversation merge (regression #25894) › All badge, header and rendered list agree on the count","2","0","34350132380 34349680912" +"8b186e385bbdb2574005-cf77fd2cc064e138e21d","Pages/ExplorePageRightPanel.spec.ts"," › chromium › Pages/ExplorePageRightPanel.spec.ts › Right Panel Test Suite › Explore page right panel tests › Overview panel - Deleted entity verification › Should verify deleted glossary term not visible in selection for container","2","0","34350084849 34350081016" +"719a1c77382793645da8-e627170fb572721ecd2c","Pages/EntityDataConsumer.spec.ts"," › chromium › Pages/EntityDataConsumer.spec.ts › Topic › Tier Add, Update and Remove","2","0","34350081016 34343640117" +"5a5bc63dc66e3147e5e8-058d4f127752c8b36927","Pages/Domains.spec.ts"," › chromium › Pages/Domains.spec.ts › Domains › Verify duplicate domain creation","2","0","34350079167 34343642414" diff --git a/docs/testing/playwright-migration/evidence/representative-spec-costs.csv b/docs/testing/playwright-migration/evidence/representative-spec-costs.csv new file mode 100644 index 000000000000..c6f660aa7b16 --- /dev/null +++ b/docs/testing/playwright-migration/evidence/representative-spec-costs.csv @@ -0,0 +1,357 @@ +"file","tests","workerMinutes","retryWorkerMinutes" +"Pages/Entity.spec.ts","353","131.685","0.000" +"Pages/Lineage/DataAssetLineage.spec.ts","85","98.763","0.000" +"Pages/ExplorePageRightPanel.spec.ts","234","53.273","0.296" +"Pages/CustomProperties.spec.ts","173","50.052","0.000" +"Pages/EntityDataSteward.spec.ts","158","49.336","0.000" +"Pages/EntityDataConsumer.spec.ts","143","46.560","0.000" +"Features/AdvancedSearch.spec.ts","130","45.453","0.000" +"Pages/ServiceEntity.spec.ts","135","45.213","0.570" +"Pages/DataContracts.spec.ts","48","35.267","0.000" +"Features/BulkImport.spec.ts","6","24.900","0.000" +"Pages/Domains.spec.ts","47","24.380","0.000" +"Pages/DataContractsSemanticRules.spec.ts","41","21.047","0.650" +"Features/ContextCenterArticles.spec.ts","41","16.292","0.000" +"Pages/Glossary.spec.ts","45","15.133","0.000" +"Features/CuratedAssets.spec.ts","23","13.532","0.000" +"Features/DataAssetRulesDisabled.spec.ts","34","12.326","0.000" +"Features/Permissions/EntityPermissions.spec.ts","46","12.067","0.000" +"Features/AutoPilot.spec.ts","12","11.784","0.000" +"Features/CustomizeDetailPage.spec.ts","25","10.387","0.000" +"VersionPages/EntityVersionPages.spec.ts","18","10.087","0.000" +"Features/ContextCenterMemories.spec.ts","55","10.062","0.000" +"Pages/Lineage/LineageFilters.spec.ts","15","9.988","0.000" +"Pages/Tag.spec.ts","21","9.601","0.000" +"Features/SearchSeparation/SearchSeparationSuite.ts","22","9.586","0.000" +"Features/Permissions/ServiceEntityPermissions.spec.ts","44","9.319","0.000" +"Flow/CustomizeWidgets.spec.ts","9","9.005","0.000" +"Features/DataQuality/TestCaseImportExportE2eFlow.spec.ts","2","8.637","0.000" +"Pages/Users.spec.ts","28","8.346","0.000" +"Features/DomainFilterQueryFilter.spec.ts","13","8.009","0.000" +"Features/ContextCenterPermission.spec.ts","34","7.999","0.000" +"Flow/NestedChildrenUpdates.spec.ts","36","7.867","0.000" +"Features/RestoreEntityInheritedFields.spec.ts","11","7.830","0.000" +"Pages/InputOutputPorts.spec.ts","43","7.713","0.000" +"Features/ColumnBulkOperations.spec.ts","25","7.697","0.000" +"Features/DataAssetRulesEnabled.spec.ts","31","7.473","0.000" +"Features/Glossary/GlossaryAdvancedOperations.spec.ts","28","7.272","0.000" +"Features/DataQuality/DataQualityPermissions.spec.ts","25","7.269","0.000" +"Features/Pagination.spec.ts","35","7.172","0.000" +"Flow/ConditionalPermissions.spec.ts","22","6.836","0.000" +"Features/ImpactAnalysis.spec.ts","23","6.448","0.000" +"Features/ContextCenterDocument.spec.ts","30","6.160","0.000" +"Features/BulkEditEntity.spec.ts","6","5.883","0.000" +"Features/ActivityFeed.spec.ts","17","5.740","0.000" +"Pages/Teams.spec.ts","21","5.712","0.000" +"Pages/GlossaryImportExport.spec.ts","9","5.697","0.000" +"Pages/Lineage/LineageInteraction.spec.ts","16","5.504","0.000" +"Pages/ODCSImportExport.spec.ts","47","5.500","0.000" +"Pages/Login.spec.ts","5","5.269","0.000" +"VersionPages/ServiceEntityVersionPage.spec.ts","12","5.181","0.000" +"Pages/TasksUIFlow.spec.ts","12","5.155","0.514" +"Flow/ObservabilityAlerts.spec.ts","8","4.878","0.000" +"Features/ExploreSortOrderFilter.spec.ts","17","4.792","0.000" +"Features/DataQuality/ColumnLevelTests.spec.ts","16","4.745","0.000" +"Features/Permissions/GlossaryPermissions.spec.ts","9","4.743","0.000" +"Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts","6","4.649","0.000" +"Pages/DomainAdvanced.spec.ts","22","4.617","0.000" +"Features/PersonaAIContext.spec.ts","29","4.558","0.000" +"Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts","21","4.545","0.000" +"Features/BulkImportWithDotInName.spec.ts","8","4.520","0.000" +"Pages/EntityHeaderBreadcrumb.spec.ts","19","4.329","0.000" +"Pages/AuditLogs.spec.ts","27","4.276","0.000" +"Pages/DataContractInheritance.spec.ts","8","4.183","0.000" +"Features/Table.spec.ts","14","4.020","0.000" +"Features/Workflows/WorkflowOssRestrictions.spec.ts","23","4.012","0.000" +"Flow/NotificationAlerts.spec.ts","6","4.008","0.000" +"Features/Glossary/GlossaryMutualExclusivity.spec.ts","11","3.986","0.000" +"Features/LandingPageWidgets/FollowingWidget.spec.ts","11","3.935","0.000" +"Features/DataQuality/TestCaseResultPermissions.spec.ts","11","3.925","0.000" +"Features/Glossary/GlossaryRelationsGraph.spec.ts","17","3.861","0.000" +"Features/Glossary/GlossaryWorkflow.spec.ts","10","3.783","0.000" +"Features/MetricBulkImportExportEdit.spec.ts","24","3.774","0.000" +"Features/ExploreQuickFilters.spec.ts","17","3.643","0.000" +"Features/Tasks/ActivityFeed.spec.ts","17","3.568","0.000" +"Features/SSOConfiguration.spec.ts","42","3.562","0.000" +"Features/EntitySummaryPanel.spec.ts","19","3.545","0.000" +"Pages/DataProductAndSubdomains.spec.ts","18","3.469","0.000" +"Features/DataQuality/TestCaseImportExportBasic.spec.ts","24","3.442","0.000" +"Features/TeamSubscriptions.spec.ts","17","3.413","0.000" +"Features/DataQuality/TableLevelTests.spec.ts","8","3.411","0.000" +"Features/Glossary/GlossaryTermRelationsGraph.spec.ts","12","3.277","0.000" +"Flow/SearchRBAC.spec.ts","29","3.251","0.000" +"Features/DataQuality/DataQualityDashboard.spec.ts","11","3.247","0.000" +"Features/ExploreFilterComposition.spec.ts","7","3.178","0.000" +"Features/DataQuality/TestLibrary.spec.ts","15","3.161","0.000" +"Features/Glossary/GlossaryStatusFilterLargeDataset.spec.ts","19","3.138","0.000" +"Pages/DomainUIInteractions.spec.ts","20","2.957","0.000" +"Features/TagsSuggestion.spec.ts","7","2.941","0.000" +"Flow/SchemaTable.spec.ts","4","2.895","0.000" +"Features/Glossary/GlossaryAssets.spec.ts","10","2.890","0.000" +"Features/RecentlyViewed.spec.ts","11","2.823","0.000" +"Flow/Navbar.spec.ts","22","2.800","0.000" +"Features/ExploreUrlState.spec.ts","7","2.747","0.000" +"Features/DescriptionSuggestion.spec.ts","7","2.695","0.000" +"Flow/PersonaFlow.spec.ts","11","2.672","0.000" +"Features/ActivityAPI.spec.ts","10","2.616","0.000" +"Pages/ExploreTree.spec.ts","14","2.571","0.000" +"Features/SettingsNavigationPage.spec.ts","8","2.569","0.000" +"Features/EntityRenameConsolidation.spec.ts","9","2.568","0.000" +"Pages/Lineage/LineageRightPanel.spec.ts","17","2.557","0.000" +"Features/SampleDataTableOperations.spec.ts","11","2.530","0.000" +"Features/Glossary/GlossaryMiscOperations.spec.ts","5","2.479","0.000" +"Features/Glossary/GlossaryStatusFilterNestedTerms.spec.ts","15","2.455","0.000" +"Features/Tasks/TaskNavigation.spec.ts","11","2.447","0.000" +"Features/Tasks.spec.ts","13","2.401","0.000" +"Features/DataQuality/IncidentManagerDateFilter.spec.ts","11","2.381","0.000" +"Features/DataQuality/DataQuality.spec.ts","9","2.306","0.000" +"Features/BulkEditImportPermissions.spec.ts","4","2.290","0.000" +"Flow/Metric.spec.ts","7","2.268","0.000" +"Pages/Tags.spec.ts","6","2.238","0.000" +"Flow/IngestionBot.spec.ts","1","2.231","0.000" +"Pages/TagPageRightPanel.spec.ts","11","2.210","0.000" +"Pages/ODCSImportExportPermissions.spec.ts","13","2.174","0.000" +"Features/Glossary/GlossaryP3Tests.spec.ts","20","2.159","0.000" +"Features/Glossary/GlossaryHierarchy.spec.ts","6","2.158","0.000" +"VersionPages/GlossaryVersionPage.spec.ts","7","2.146","0.000" +"Flow/ServiceDocPanel.spec.ts","14","2.143","0.000" +"Features/Glossary/GlossaryMutualExclusivityDataProductTree.spec.ts","7","2.115","0.000" +"Features/ContextCenterDashboard.spec.ts","9","2.108","0.000" +"Pages/SearchIndexApplication.spec.ts","1","2.091","0.000" +"Pages/DataProducts.spec.ts","9","2.069","0.000" +"Features/Glossary/GlossaryNavigation.spec.ts","9","2.048","0.000" +"Features/NestedColumnsExpandCollapse.spec.ts","11","2.027","0.000" +"Features/BulkEditOperationBadges.spec.ts","6","2.017","0.000" +"Features/PersonaAIContextRules.spec.ts","7","1.994","0.000" +"Features/Glossary/GlossaryRemoveOperations.spec.ts","6","1.992","0.000" +"Features/OntologyStudioE2E.spec.ts","15","1.981","0.000" +"Pages/IntakeForm.spec.ts","20","1.971","0.000" +"Features/Glossary/GlossaryCRUDOperations.spec.ts","13","1.947","0.000" +"Features/TableSearch.spec.ts","11","1.934","0.000" +"Pages/GlossaryTermRightPanel.spec.ts","10","1.930","0.000" +"Pages/TeamAssetsRightPanel.spec.ts","10","1.904","0.000" +"Pages/ExploreBrowse.spec.ts","11","1.890","0.000" +"Features/CsvJobsTray.spec.ts","11","1.876","0.000" +"Features/ArticleReviewerWorkflow.spec.ts","1","1.870","0.000" +"Flow/ExploreDiscovery.spec.ts","9","1.870","0.000" +"Features/Tasks/TeamActivity.spec.ts","10","1.857","0.000" +"Features/Glossary/LargeGlossaryPerformance.spec.ts","9","1.852","0.000" +"Features/Tasks/TaskComments.spec.ts","11","1.833","0.000" +"Features/Container.spec.ts","12","1.816","0.000" +"Features/ChangeSummaryBadge.spec.ts","5","1.813","0.000" +"Pages/SearchSettings.spec.ts","11","1.801","0.000" +"Pages/DescriptionVisibility.spec.ts","9","1.794","0.000" +"Pages/GlossaryTermRelationSettings.spec.ts","9","1.787","0.000" +"Features/TableSorting.spec.ts","11","1.781","0.000" +"Features/Permission.spec.ts","1","1.769","0.000" +"Features/Glossary/GlossaryTermDetails.spec.ts","7","1.729","0.000" +"Features/DataProductRenameConsolidation.spec.ts","4","1.723","0.000" +"Features/Tasks/TaskPermissions.spec.ts","13","1.696","0.000" +"Pages/Lineage/LineageControls.spec.ts","8","1.694","0.000" +"Features/ActivityFeedTabBadge.spec.ts","4","1.673","0.000" +"Features/DataQuality/TestDefinitionPermissions.spec.ts","7","1.669","0.000" +"Features/DataProductRename.spec.ts","4","1.644","0.000" +"Features/IncidentManager.spec.ts","5","1.644","0.000" +"Features/DomainTierCertificationVoting.spec.ts","8","1.641","0.000" +"Features/ActivityStream.spec.ts","5","1.641","0.000" +"Features/Tasks/TaskCreation.spec.ts","7","1.624","0.000" +"Features/SearchExport.spec.ts","7","1.621","0.000" +"Features/DataQuality/DataObservabilityGovernanceTab.spec.ts","14","1.618","0.000" +"Flow/TestConnectionModal.spec.ts","9","1.606","0.000" +"Features/Glossary/GlossaryTermRelatedTerms.spec.ts","6","1.587","0.000" +"Features/Glossary/GlossaryP2Tests.spec.ts","5","1.528","0.000" +"Features/MultipleRename.spec.ts","4","1.514","0.000" +"Pages/DomainDataProductsRightPanel.spec.ts","9","1.508","0.000" +"Features/DataQuality/TestDefinitionFilters.spec.ts","7","1.498","0.000" +"Pages/UserDetails.spec.ts","9","1.485","0.000" +"Flow/LineageSettings.spec.ts","3","1.480","0.000" +"Flow/CustomizeLandingPage.spec.ts","4","1.464","0.000" +"Features/DataQuality/TestCaseIncidentPermissions.spec.ts","8","1.420","0.000" +"Features/OntologyStudioInteractions.spec.ts","9","1.419","0.000" +"Pages/CustomPropertiesApiContract.spec.ts","18","1.394","0.000" +"Features/AdvancedSearchSuggestions.spec.ts","9","1.367","0.000" +"Pages/LearningResources.spec.ts","13","1.365","0.000" +"Features/AppMode/AppModeResolver.spec.ts","6","1.364","0.000" +"Features/Tasks/TaskResolution.spec.ts","9","1.362","0.000" +"Features/OntologyStudioCardinality.spec.ts","10","1.310","0.000" +"Features/CertificationDropdown.spec.ts","4","1.270","0.000" +"Pages/CSVImportWithQuotesAndCommas.spec.ts","1","1.269","0.000" +"Flow/ServiceCreationPermissions.spec.ts","8","1.263","0.000" +"Features/Permissions/DataProductPermissions.spec.ts","3","1.249","0.000" +"Features/DataProductDomainMigration.spec.ts","3","1.241","0.000" +"Features/AppMode/AppModeSettings.spec.ts","6","1.241","0.000" +"Pages/AssetHealthWidget.spec.ts","6","1.234","0.000" +"Features/Workflows/RecognizerFeedbackSchemaNodeLock.spec.ts","7","1.204","0.000" +"Features/Announcements/AnnouncementEntity.spec.ts","3","1.181","0.000" +"Features/NavigationBlocker.spec.ts","5","1.151","0.000" +"Flow/PlatformLineage.spec.ts","1","1.146","0.000" +"Features/Dashboards.spec.ts","4","1.110","0.000" +"Features/QueryEntity.spec.ts","3","1.104","0.000" +"Features/OnlineUsers.spec.ts","7","1.095","0.000" +"Features/AppMode/AppModePrecedence.spec.ts","5","1.093","0.000" +"Features/Announcements/EntityHeaderAnnouncements.spec.ts","3","1.084","0.000" +"dataInsightApp.ts","1","1.077","0.000" +"Features/ColumnBulkOperationsTagsGlossary.spec.ts","2","1.075","0.000" +"Features/ContextCenterArchive.spec.ts","3","1.074","0.000" +"Features/Glossary/GlossaryApprovalAfterMove.spec.ts","2","1.063","0.000" +"Features/LandingPageWidgets/DataAssetsWidget.spec.ts","7","1.061","0.000" +"Features/DataQuality/AddTestCaseNewFlow.spec.ts","4","1.043","0.000" +"Features/Tasks/DomainFiltering.spec.ts","8","1.032","0.000" +"Features/OntologyStudio.spec.ts","7","1.031","0.000" +"Flow/ConnectionConfigLayout.spec.ts","4","1.004","0.000" +"Features/Glossary/GlossaryBulkOperations.spec.ts","4","0.963","0.000" +"Features/Glossary/GlossaryTermInverseRelation.spec.ts","4","0.946","0.000" +"Features/Glossary/GlossaryVoting.spec.ts","3","0.942","0.000" +"Features/Permissions/DomainPermissions.spec.ts","2","0.931","0.000" +"Features/UserProfileOnlineStatus.spec.ts","5","0.930","0.000" +"Features/SSOTestLogin.spec.ts","8","0.925","0.000" +"Features/OntologyStudioIntegration.spec.ts","7","0.921","0.000" +"Pages/DataProductODPS.spec.ts","10","0.908","0.000" +"Flow/ServiceForm.spec.ts","9","0.904","0.000" +"Flow/Tour.spec.ts","3","0.878","0.000" +"Features/TierDropdown.spec.ts","3","0.845","0.000" +"Features/PersonaAIContextRuleCardAndStates.spec.ts","6","0.842","0.000" +"Features/ColumnSorting.spec.ts","7","0.841","0.000" +"Features/CustomMetric.spec.ts","2","0.840","0.000" +"Features/DataQuality/Profiler.spec.ts","4","0.832","0.000" +"Features/TeamsDragAndDrop.spec.ts","8","0.828","0.000" +"Search/SearchRelevance.spec.ts","11","0.815","0.000" +"Pages/DataInsight.spec.ts","10","0.802","0.000" +"Features/DataQuality/ProfilerIngestionForm.spec.ts","7","0.796","0.000" +"Flow/ApiCollection.spec.ts","1","0.787","0.000" +"Features/LandingPageWidgets/DomainWidgetFilter.spec.ts","2","0.780","0.000" +"Features/Glossary/GlossaryTermRelationsGraphNested.spec.ts","4","0.777","0.000" +"Pages/ClassificationConditionalRendering.spec.ts","4","0.767","0.000" +"Features/DataQuality/TestCaseSoftDeleteRestore.spec.ts","3","0.756","0.000" +"Pages/Lineage/PlatformLineage.spec.ts","4","0.748","0.000" +"Features/Topic.spec.ts","4","0.729","0.000" +"Pages/Lineage/LineageNodePagination.spec.ts","5","0.728","0.000" +"Features/Glossary/GlossaryPagination.spec.ts","6","0.728","0.000" +"Features/DataProductPersonaCustomization.spec.ts","2","0.724","0.000" +"Features/Workflows/WorkflowExecutionHistoryEntity.spec.ts","3","0.721","0.000" +"Features/Glossary/GlossaryExpandAllWithStatusFilter.spec.ts","4","0.721","0.000" +"Pages/Roles.spec.ts","2","0.700","0.000" +"Pages/Bots.spec.ts","1","0.689","0.000" +"Pages/GlossaryFormValidation.spec.ts","5","0.665","0.000" +"Pages/Policies.spec.ts","3","0.637","0.000" +"Features/DataQuality/IncidentManagerLocaleLayout.spec.ts","7","0.635","0.000" +"Pages/TestSuite.spec.ts","2","0.634","0.000" +"Features/CustomizeNavigationNewItems.spec.ts","2","0.622","0.000" +"Pages/ServiceListing.spec.ts","4","0.609","0.000" +"Flow/Collect.spec.ts","7","0.608","0.000" +"Features/TeamsHierarchy.spec.ts","3","0.601","0.000" +"Pages/DataProductCertificationFilter.spec.ts","4","0.588","0.000" +"Features/ClassificationImportExport.spec.ts","4","0.585","0.000" +"Features/DataQuality/BundleSuiteBulkOperations.spec.ts","3","0.577","0.000" +"Pages/DataMarketplace.spec.ts","5","0.569","0.000" +"Pages/DataInsightReportApplication.spec.ts","4","0.563","0.000" +"Features/DataQuality/CertificationFilter.spec.ts","4","0.560","0.000" +"Features/AppMode/AppModeRouteIsolation.spec.ts","2","0.552","0.000" +"Features/StorageMetadataAgentForm.spec.ts","5","0.540","0.000" +"Features/GlobalPageSize.spec.ts","1","0.534","0.000" +"Features/Glossary/GlossaryPersonaCustomization.spec.ts","3","0.527","0.000" +"Features/ExploreQueryBar.spec.ts","3","0.523","0.000" +"Features/Tasks/TaskAllEntities.spec.ts","46","0.512","0.000" +"Pages/TaskComments.spec.ts","10","0.498","0.000" +"Features/RTL.spec.ts","2","0.496","0.000" +"Features/TableConstraint.spec.ts","1","0.483","0.000" +"Pages/TaskFormSettings.spec.ts","2","0.478","0.000" +"Features/SampleDataDomainDataProduct.spec.ts","3","0.475","0.000" +"Pages/ProfilerConfigurationPage.spec.ts","3","0.474","0.000" +"Features/AppMode/AppModeCrossDevice.spec.ts","1","0.467","0.000" +"Features/TestSuiteMultiPipeline.spec.ts","2","0.464","0.000" +"Features/PersonaSessionPersistence.spec.ts","2","0.463","0.000" +"Pages/EditClassification.spec.ts","2","0.454","0.000" +"Features/SystemCertificationTags.spec.ts","3","0.449","0.000" +"Features/AppMode/AppModePreferenceRoundTrip.spec.ts","2","0.445","0.000" +"Flow/AddRoleAndAssignToUser.spec.ts","3","0.431","0.000" +"Features/ServiceAgentsDeploymentSummary.spec.ts","5","0.422","0.000" +"Features/Workflows/NoOpWorkflowNodeConfig.spec.ts","2","0.421","0.000" +"Features/DomainIsolation/DomainLineageIsolation.spec.ts","3","0.416","0.000" +"Features/BlockEditorMathEquations.spec.ts","1","0.416","0.000" +"Pages/ExploreResilience.spec.ts","4","0.414","0.000" +"Flow/FrequentlyJoined.spec.ts","2","0.399","0.000" +"Features/DataQuality/IncidentManagerAfterOwnerChange.spec.ts","1","0.398","0.000" +"Features/Tasks/TaskDashboardEntity.spec.ts","7","0.385","0.000" +"Pages/LiveIndexingTab.spec.ts","4","0.382","0.000" +"Features/LineagePipelineAnnotator.spec.ts","4","0.380","0.000" +"Features/Glossary/GlossaryInheritedReviewerApproval.spec.ts","2","0.365","0.000" +"Features/AgentLogStreamHandover.spec.ts","3","0.352","0.000" +"Features/Tasks/TaskCustomFormWorkflow.spec.ts","1","0.352","0.000" +"Pages/CustomThemeConfig.spec.ts","3","0.349","0.000" +"Features/IncidentManagerPagination.spec.ts","2","0.346","0.000" +"Flow/PersonaDeletionUserProfile.spec.ts","1","0.344","0.000" +"Features/ServiceAgentsStatusDegradation.spec.ts","4","0.342","0.000" +"Features/DomainIsolation/DomainListingIsolation.spec.ts","3","0.339","0.000" +"Pages/AppStopRunModal.spec.ts","3","0.317","0.000" +"Features/PersonaAIContextPermissions.spec.ts","2","0.317","0.000" +"Features/AppMode/AppModeAiPersonaLandsAtRoot.spec.ts","1","0.310","0.000" +"Features/EntityRightCollapsablePanel.spec.ts","1","0.308","0.000" +"Flow/ExploreAggregationCountsMatching.spec.ts","1","0.302","0.000" +"Features/DataQuality/IncidentManagerAfterSoftDelete.spec.ts","1","0.288","0.000" +"Features/ServiceAgentsLiveProgress.spec.ts","3","0.281","0.000" +"VersionPages/TestCaseVersionPage.spec.ts","1","0.280","0.000" +"Pages/DataMarketplacePermissions.spec.ts","2","0.270","0.000" +"Pages/SubDomainPagination.spec.ts","1","0.270","0.000" +"VersionPages/ClassificationVersionPage.spec.ts","1","0.264","0.000" +"Features/BlockEditorEmbedLink.spec.ts","1","0.263","0.000" +"Features/FailedTestCaseSampleData.spec.ts","2","0.258","0.000" +"Features/Tasks/TaskAssigneeManagement.spec.ts","1","0.255","0.000" +"Features/IngestionListNameSorting.spec.ts","2","0.247","0.000" +"Features/DomainIsolation/DomainIncidentIsolation.spec.ts","2","0.245","0.000" +"Features/MetricCustomUnitFlow.spec.ts","1","0.239","0.000" +"Features/Glossary/GlossaryRelationsGraphPerf.spec.ts","1","0.234","0.000" +"Features/DataQuality/TableTestCasePagination.spec.ts","1","0.233","0.000" +"Features/GlobalSearchSuggestions.spec.ts","1","0.233","0.000" +"Flow/ApiServiceRest.spec.ts","1","0.230","0.000" +"Pages/OmdURLConfiguration.spec.ts","2","0.230","0.000" +"Features/DomainIsolation/DomainDropdownIsolation.spec.ts","2","0.222","0.000" +"Features/LanguageOverride.spec.ts","1","0.219","0.000" +"VersionPages/MetricVersionPage.spec.ts","2","0.218","0.000" +"Pages/LoginConfiguration.spec.ts","2","0.218","0.000" +"Features/LineageExportPNGSnapshot.spec.ts","1","0.217","0.000" +"Pages/DataInsightSettings.spec.ts","4","0.217","0.000" +"Features/DomainIsolation/DomainSearchIsolation.spec.ts","3","0.201","0.000" +"Features/MutuallyExclusiveColumnTags.spec.ts","1","0.200","0.000" +"Pages/UserCreationWithPersona.spec.ts","1","0.192","0.000" +"Features/DataQuality/Dimensionality.spec.ts","1","0.181","0.000" +"Pages/AppRunsHistoryLogs.spec.ts","1","0.172","0.000" +"Features/DomainIsolation/DomainTaskIsolation.spec.ts","3","0.168","0.000" +"Pages/LogsViewer.spec.ts","1","0.166","0.000" +"Pages/PipelineExecution.spec.ts","1","0.159","0.000" +"Features/Markdown.spec.ts","1","0.147","0.000" +"Features/CronValidations.spec.ts","1","0.146","0.000" +"Flow/MetricListSearch.spec.ts","1","0.143","0.000" +"Features/SchemaDefinition.spec.ts","1","0.142","0.000" +"Features/ServiceAgentsRefresh.spec.ts","1","0.140","0.000" +"Features/OntologyStudioIsolatedToggle.spec.ts","1","0.132","0.000" +"Features/TestSuitePipelineRedeploy.spec.ts","1","0.130","0.000" +"Features/SearchIndexNestedColumns.spec.ts","1","0.126","0.000" +"Flow/UsersPagination.spec.ts","1","0.122","0.000" +"Flow/GlobalSearch.spec.ts","1","0.118","0.000" +"Flow/MetricSearch.spec.ts","1","0.117","0.000" +"Flow/ApiDocs.spec.ts","1","0.106","0.000" +"Features/SchemaSearch.spec.ts","1","0.099","0.000" +"Features/ServiceAgentsPauseResume.spec.ts","1","0.089","0.000" +"Features/Tasks/TaskEntityResolution.spec.ts","7","0.087","0.000" +"Pages/EmailConfiguration.spec.ts","1","0.085","0.000" +"Pages/DataMarketplaceAnnouncements.spec.ts","1","0.082","0.000" +"Search/SearchNightly.spec.ts","1","0.074","0.000" +"Pages/HealthCheck.spec.ts","1","0.066","0.000" +"Features/Tasks/TaskSuggestionAPIs.spec.ts","7","0.062","0.000" +"Pages/IngestionLogStreamLive.spec.ts","1","0.059","0.000" +"Features/Tasks/TaskPipelineEntity.spec.ts","5","0.059","0.000" +"Features/Tasks/TaskNestedFields.spec.ts","6","0.057","0.000" +"Flow/AppBasic.spec.ts","1","0.055","0.000" +"Features/AppMode/AppModeAuthGating.spec.ts","8","0.052","0.000" +"Features/Tasks/TaskTopicEntity.spec.ts","5","0.050","0.000" +"Features/Tasks/TaskContainerEntity.spec.ts","5","0.047","0.000" +"Features/DataQuality/TestCaseStatusAfterReindex.spec.ts","1","0.033","0.000" +"Features/SearchSeparation/GlossaryRenameCascade.spec.ts","1","0.027","0.000" +"Pages/Tasks.spec.ts","9","0.022","0.000" +"Features/SearchSeparation/GlossaryRenamePrefixCascade.spec.ts","1","0.016","0.000" +"Features/DataQuality/TestSuiteListAfterReindex.spec.ts","1","0.016","0.000" +"Features/DataQuality/TestSuiteSummaryAfterReindex.spec.ts","1","0.014","0.000" +"Features/SearchSeparation/DomainRenamePrefixCascade.spec.ts","1","0.014","0.000" +"Features/StoredProcedureServiceBulkFetch.spec.ts","1","0.013","0.000" +"Pages/PipelineValidation.spec.ts","2","0.001","0.000" diff --git a/docs/testing/playwright-migration/evidence/summary.json b/docs/testing/playwright-migration/evidence/summary.json new file mode 100644 index 000000000000..60a6ad999f8e --- /dev/null +++ b/docs/testing/playwright-migration/evidence/summary.json @@ -0,0 +1,1422 @@ +{ + "sourceCommit": "44823acde1c85ccc20d9f62c588169567fc28c90", + "representativeRun": "34355232120", + "scope": { + "specFiles": 394, + "supportingProductFiles": 2, + "uniqueDefinitions": 2884, + "specInstantiatedDefinitions": 2903, + "queueCases": 4488, + "queueDurationMs": 81271980, + "queueDurationHours": 22.57555, + "matchedQueueCases": 4488, + "definitionsPresentInQueue": 2747, + "owningSpecsPresentInQueue": 365, + "qualityFlaggedSource": 77, + "queueOutcomes": { + "expected": 4483, + "flaky": 4, + "skipped": 1 + } + }, + "categories": { + "U": { + "label": "Strong UI component/page integration candidate", + "reason": "Observable behavior is frontend rendering, local state, validation, routing or request construction. Exercise real UI with controlled HTTP boundaries.", + "uniqueDefinitions": 1239, + "sourcePct": 42.961, + "specInstantiatedDefinitions": 1239, + "instantiatedPct": 42.68, + "queueCases": 1589, + "queuePct": 35.406, + "queueDurationMs": 18829188, + "queueDurationHours": 5.23033, + "queueDurationPct": 23.168, + "retryDurationMs": 0, + "qualityFlaggedSource": 56, + "qualityFlaggedQueue": 71 + }, + "M": { + "label": "Mixed: extract UI checks; preserve backend integration", + "reason": "UI behavior is combined with a real save, search, persistence or server contract. Extract UI variants while retaining API integration or a representative end-to-end check.", + "uniqueDefinitions": 839, + "sourcePct": 29.092, + "specInstantiatedDefinitions": 839, + "instantiatedPct": 28.901, + "queueCases": 1778, + "queuePct": 39.617, + "queueDurationMs": 34059479, + "queueDurationHours": 9.460966388888888, + "queueDurationPct": 41.908, + "retryDurationMs": 34214, + "qualityFlaggedSource": 6, + "qualityFlaggedQueue": 6 + }, + "B": { + "label": "Retain browser; may isolate from backend", + "reason": "Primary coverage relies on browser layout, canvas/editor interaction, clipboard, downloads, screenshots or built-app execution.", + "uniqueDefinitions": 138, + "sourcePct": 4.785, + "specInstantiatedDefinitions": 137, + "instantiatedPct": 4.719, + "queueCases": 145, + "queuePct": 3.231, + "queueDurationMs": 1962285, + "queueDurationHours": 0.5450791666666667, + "queueDurationPct": 2.414, + "retryDurationMs": 0, + "qualityFlaggedSource": 1, + "qualityFlaggedQueue": 1 + }, + "A": { + "label": "Backend/API contract; not UI component migration", + "reason": "Primary assertions concern server semantics or API responses. API/service integration is the appropriate alternative, not mocked UI tests.", + "uniqueDefinitions": 231, + "sourcePct": 8.01, + "specInstantiatedDefinitions": 231, + "instantiatedPct": 7.957, + "queueCases": 254, + "queuePct": 5.66, + "queueDurationMs": 1977487, + "queueDurationHours": 0.5493019444444445, + "queueDurationPct": 2.433, + "retryDurationMs": 39011, + "qualityFlaggedSource": 9, + "qualityFlaggedQueue": 8 + }, + "E": { + "label": "Retain integrated journey in initial migration", + "reason": "Coverage spans real authentication, background work, persistence/cascades, file round-trips or multiple application contexts. Retain representative integrated coverage during UI migration.", + "uniqueDefinitions": 437, + "sourcePct": 15.153, + "specInstantiatedDefinitions": 457, + "instantiatedPct": 15.742, + "queueCases": 722, + "queuePct": 16.087, + "queueDurationMs": 24443541, + "queueDurationHours": 6.7898725, + "queueDurationPct": 30.076, + "retryDurationMs": 48586, + "qualityFlaggedSource": 5, + "qualityFlaggedQueue": 5 + } + }, + "strong": { + "cases": 1589, + "pct": 35.406, + "durationPct": 23.168 + }, + "strongPlusMixed": { + "cases": 3367, + "pct": 75.022, + "durationPct": 65.076 + }, + "strongWithoutQualityFlags": { + "cases": 1518, + "pct": 33.824 + }, + "topStrongFiles": [ + { + "file": "Pages/CustomProperties.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/CustomProperties.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 60, + "specInstantiatedDefinitions": 60, + "queueCases": 173, + "queueDurationMs": 3003123, + "U_sourceDefinitions": 24, + "U_queueCases": 88, + "U_durationMs": 1022072, + "M_sourceDefinitions": 32, + "M_queueCases": 81, + "M_durationMs": 1906204, + "B_sourceDefinitions": 4, + "B_queueCases": 4, + "B_durationMs": 74847, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Pages/ExplorePageRightPanel.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ExplorePageRightPanel.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 41, + "specInstantiatedDefinitions": 41, + "queueCases": 234, + "queueDurationMs": 3196405, + "U_sourceDefinitions": 21, + "U_queueCases": 88, + "U_durationMs": 870772, + "M_sourceDefinitions": 17, + "M_queueCases": 116, + "M_durationMs": 1873557, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 3, + "E_queueCases": 30, + "E_durationMs": 452076 + }, + { + "file": "Pages/Entity.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Entity.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 37, + "specInstantiatedDefinitions": 37, + "queueCases": 353, + "queueDurationMs": 7901108, + "U_sourceDefinitions": 12, + "U_queueCases": 48, + "U_durationMs": 841192, + "M_sourceDefinitions": 19, + "M_queueCases": 239, + "M_durationMs": 5397125, + "B_sourceDefinitions": 3, + "B_queueCases": 18, + "B_durationMs": 254874, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 3, + "E_queueCases": 48, + "E_durationMs": 1407917 + }, + { + "file": "Features/Permissions/EntityPermissions.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/Permissions/EntityPermissions.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 6, + "specInstantiatedDefinitions": 6, + "queueCases": 46, + "queueDurationMs": 723999, + "U_sourceDefinitions": 6, + "U_queueCases": 46, + "U_durationMs": 723999, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Features/Permissions/ServiceEntityPermissions.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/Permissions/ServiceEntityPermissions.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 7, + "specInstantiatedDefinitions": 7, + "queueCases": 44, + "queueDurationMs": 559111, + "U_sourceDefinitions": 7, + "U_queueCases": 44, + "U_durationMs": 559111, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Flow/NestedChildrenUpdates.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/NestedChildrenUpdates.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 6, + "specInstantiatedDefinitions": 6, + "queueCases": 36, + "queueDurationMs": 472042, + "U_sourceDefinitions": 6, + "U_queueCases": 36, + "U_durationMs": 472042, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Features/ColumnBulkOperations.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ColumnBulkOperations.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 25, + "specInstantiatedDefinitions": 25, + "queueCases": 25, + "queueDurationMs": 461822, + "U_sourceDefinitions": 25, + "U_queueCases": 25, + "U_durationMs": 461822, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Features/DataQuality/DataQualityPermissions.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/DataQuality/DataQualityPermissions.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 25, + "specInstantiatedDefinitions": 25, + "queueCases": 25, + "queueDurationMs": 436135, + "U_sourceDefinitions": 25, + "U_queueCases": 25, + "U_durationMs": 436135, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Features/Pagination.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/Pagination.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 35, + "specInstantiatedDefinitions": 35, + "queueCases": 35, + "queueDurationMs": 430318, + "U_sourceDefinitions": 35, + "U_queueCases": 35, + "U_durationMs": 430318, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Features/ContextCenterMemories.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ContextCenterMemories.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 55, + "specInstantiatedDefinitions": 55, + "queueCases": 55, + "queueDurationMs": 603702, + "U_sourceDefinitions": 31, + "U_queueCases": 31, + "U_durationMs": 314665, + "M_sourceDefinitions": 23, + "M_queueCases": 23, + "M_durationMs": 279319, + "B_sourceDefinitions": 1, + "B_queueCases": 1, + "B_durationMs": 9718, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Pages/EntityDataConsumer.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/EntityDataConsumer.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 12, + "specInstantiatedDefinitions": 12, + "queueCases": 143, + "queueDurationMs": 2793585, + "U_sourceDefinitions": 2, + "U_queueCases": 17, + "U_durationMs": 306514, + "M_sourceDefinitions": 9, + "M_queueCases": 111, + "M_durationMs": 2018154, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 1, + "E_queueCases": 15, + "E_durationMs": 468917 + }, + { + "file": "Pages/EntityHeaderBreadcrumb.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/EntityHeaderBreadcrumb.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 1, + "specInstantiatedDefinitions": 1, + "queueCases": 19, + "queueDurationMs": 259762, + "U_sourceDefinitions": 1, + "U_queueCases": 19, + "U_durationMs": 259762, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Features/Permissions/GlossaryPermissions.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/Permissions/GlossaryPermissions.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 9, + "specInstantiatedDefinitions": 9, + "queueCases": 9, + "queueDurationMs": 284597, + "U_sourceDefinitions": 8, + "U_queueCases": 8, + "U_durationMs": 259404, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 1, + "E_queueCases": 1, + "E_durationMs": 25193 + }, + { + "file": "Pages/InputOutputPorts.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/InputOutputPorts.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 43, + "specInstantiatedDefinitions": 43, + "queueCases": 43, + "queueDurationMs": 462783, + "U_sourceDefinitions": 27, + "U_queueCases": 27, + "U_durationMs": 253665, + "M_sourceDefinitions": 12, + "M_queueCases": 12, + "M_durationMs": 168294, + "B_sourceDefinitions": 3, + "B_queueCases": 3, + "B_durationMs": 29061, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 1, + "E_queueCases": 1, + "E_durationMs": 11763 + }, + { + "file": "Features/ActivityFeed.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ActivityFeed.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 17, + "specInstantiatedDefinitions": 17, + "queueCases": 17, + "queueDurationMs": 344411, + "U_sourceDefinitions": 14, + "U_queueCases": 14, + "U_durationMs": 245977, + "M_sourceDefinitions": 1, + "M_queueCases": 1, + "M_durationMs": 15079, + "B_sourceDefinitions": 1, + "B_queueCases": 1, + "B_durationMs": 27670, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 1, + "E_queueCases": 1, + "E_durationMs": 55685 + }, + { + "file": "Features/Workflows/WorkflowOssRestrictions.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/Workflows/WorkflowOssRestrictions.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 23, + "specInstantiatedDefinitions": 23, + "queueCases": 23, + "queueDurationMs": 240738, + "U_sourceDefinitions": 23, + "U_queueCases": 23, + "U_durationMs": 240738, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Features/PersonaAIContext.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/PersonaAIContext.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 29, + "specInstantiatedDefinitions": 29, + "queueCases": 29, + "queueDurationMs": 273458, + "U_sourceDefinitions": 25, + "U_queueCases": 25, + "U_durationMs": 234867, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 2, + "B_queueCases": 2, + "B_durationMs": 28550, + "A_sourceDefinitions": 1, + "A_queueCases": 1, + "A_durationMs": 605, + "E_sourceDefinitions": 1, + "E_queueCases": 1, + "E_durationMs": 9436 + }, + { + "file": "Features/SSOConfiguration.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/SSOConfiguration.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 42, + "specInstantiatedDefinitions": 42, + "queueCases": 42, + "queueDurationMs": 213725, + "U_sourceDefinitions": 42, + "U_queueCases": 42, + "U_durationMs": 213725, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Pages/Lineage/LineageInteraction.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Lineage/LineageInteraction.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 17, + "specInstantiatedDefinitions": 17, + "queueCases": 16, + "queueDurationMs": 330263, + "U_sourceDefinitions": 12, + "U_queueCases": 11, + "U_durationMs": 207261, + "M_sourceDefinitions": 2, + "M_queueCases": 2, + "M_durationMs": 36088, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 3, + "E_queueCases": 3, + "E_durationMs": 86914 + }, + { + "file": "Features/EntitySummaryPanel.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/EntitySummaryPanel.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 9, + "specInstantiatedDefinitions": 9, + "queueCases": 19, + "queueDurationMs": 212679, + "U_sourceDefinitions": 8, + "U_queueCases": 18, + "U_durationMs": 195096, + "M_sourceDefinitions": 1, + "M_queueCases": 1, + "M_durationMs": 17583, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Features/ContextCenterPermission.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ContextCenterPermission.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 34, + "specInstantiatedDefinitions": 34, + "queueCases": 34, + "queueDurationMs": 479944, + "U_sourceDefinitions": 17, + "U_queueCases": 17, + "U_durationMs": 194157, + "M_sourceDefinitions": 14, + "M_queueCases": 14, + "M_durationMs": 226352, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 3, + "E_queueCases": 3, + "E_durationMs": 59435 + }, + { + "file": "Features/Glossary/GlossaryMutualExclusivity.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/Glossary/GlossaryMutualExclusivity.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 11, + "specInstantiatedDefinitions": 11, + "queueCases": 11, + "queueDurationMs": 239187, + "U_sourceDefinitions": 8, + "U_queueCases": 8, + "U_durationMs": 171504, + "M_sourceDefinitions": 3, + "M_queueCases": 3, + "M_durationMs": 67683, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Flow/Navbar.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/Navbar.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 1, + "specInstantiatedDefinitions": 1, + "queueCases": 22, + "queueDurationMs": 167981, + "U_sourceDefinitions": 1, + "U_queueCases": 22, + "U_durationMs": 167981, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Pages/Glossary.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Glossary.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 45, + "specInstantiatedDefinitions": 45, + "queueCases": 45, + "queueDurationMs": 907975, + "U_sourceDefinitions": 11, + "U_queueCases": 11, + "U_durationMs": 166623, + "M_sourceDefinitions": 17, + "M_queueCases": 17, + "M_durationMs": 285239, + "B_sourceDefinitions": 1, + "B_queueCases": 1, + "B_durationMs": 7702, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 16, + "E_queueCases": 16, + "E_durationMs": 448411 + }, + { + "file": "Pages/Lineage/LineageRightPanel.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Lineage/LineageRightPanel.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 2, + "specInstantiatedDefinitions": 2, + "queueCases": 17, + "queueDurationMs": 153399, + "U_sourceDefinitions": 2, + "U_queueCases": 17, + "U_durationMs": 153399, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Pages/Domains.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Domains.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 47, + "specInstantiatedDefinitions": 47, + "queueCases": 47, + "queueDurationMs": 1462792, + "U_sourceDefinitions": 8, + "U_queueCases": 8, + "U_durationMs": 150287, + "M_sourceDefinitions": 16, + "M_queueCases": 16, + "M_durationMs": 435794, + "B_sourceDefinitions": 3, + "B_queueCases": 3, + "B_durationMs": 61093, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 20, + "E_queueCases": 20, + "E_durationMs": 815618 + }, + { + "file": "Features/Tasks/ActivityFeed.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/Tasks/ActivityFeed.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 17, + "specInstantiatedDefinitions": 17, + "queueCases": 17, + "queueDurationMs": 214051, + "U_sourceDefinitions": 12, + "U_queueCases": 12, + "U_durationMs": 146816, + "M_sourceDefinitions": 5, + "M_queueCases": 5, + "M_durationMs": 67235, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Features/DataQuality/DataQualityDashboard.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/DataQuality/DataQualityDashboard.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 11, + "specInstantiatedDefinitions": 11, + "queueCases": 11, + "queueDurationMs": 194837, + "U_sourceDefinitions": 9, + "U_queueCases": 9, + "U_durationMs": 145302, + "M_sourceDefinitions": 1, + "M_queueCases": 1, + "M_durationMs": 38247, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 1, + "E_queueCases": 1, + "E_durationMs": 11288 + }, + { + "file": "Features/DataQuality/IncidentManagerDateFilter.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/DataQuality/IncidentManagerDateFilter.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 11, + "specInstantiatedDefinitions": 11, + "queueCases": 11, + "queueDurationMs": 142844, + "U_sourceDefinitions": 11, + "U_queueCases": 11, + "U_durationMs": 142844, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Features/BulkEditImportPermissions.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/BulkEditImportPermissions.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 4, + "specInstantiatedDefinitions": 4, + "queueCases": 4, + "queueDurationMs": 137387, + "U_sourceDefinitions": 4, + "U_queueCases": 4, + "U_durationMs": 137387, + "M_sourceDefinitions": 0, + "M_queueCases": 0, + "M_durationMs": 0, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + } + ], + "topMixedFiles": [ + { + "file": "Pages/Entity.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Entity.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 37, + "specInstantiatedDefinitions": 37, + "queueCases": 353, + "queueDurationMs": 7901108, + "U_sourceDefinitions": 12, + "U_queueCases": 48, + "U_durationMs": 841192, + "M_sourceDefinitions": 19, + "M_queueCases": 239, + "M_durationMs": 5397125, + "B_sourceDefinitions": 3, + "B_queueCases": 18, + "B_durationMs": 254874, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 3, + "E_queueCases": 48, + "E_durationMs": 1407917 + }, + { + "file": "Features/AdvancedSearch.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/AdvancedSearch.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 28, + "specInstantiatedDefinitions": 28, + "queueCases": 130, + "queueDurationMs": 2727165, + "U_sourceDefinitions": 6, + "U_queueCases": 6, + "U_durationMs": 84753, + "M_sourceDefinitions": 22, + "M_queueCases": 124, + "M_durationMs": 2642412, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Pages/EntityDataSteward.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/EntityDataSteward.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 13, + "specInstantiatedDefinitions": 13, + "queueCases": 158, + "queueDurationMs": 2960184, + "U_sourceDefinitions": 0, + "U_queueCases": 0, + "U_durationMs": 0, + "M_sourceDefinitions": 12, + "M_queueCases": 143, + "M_durationMs": 2510269, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 1, + "E_queueCases": 15, + "E_durationMs": 449915 + }, + { + "file": "Pages/ServiceEntity.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ServiceEntity.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 14, + "specInstantiatedDefinitions": 14, + "queueCases": 135, + "queueDurationMs": 2712805, + "U_sourceDefinitions": 1, + "U_queueCases": 9, + "U_durationMs": 102658, + "M_sourceDefinitions": 11, + "M_queueCases": 112, + "M_durationMs": 2189427, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 2, + "E_queueCases": 14, + "E_durationMs": 420720 + }, + { + "file": "Pages/EntityDataConsumer.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/EntityDataConsumer.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 12, + "specInstantiatedDefinitions": 12, + "queueCases": 143, + "queueDurationMs": 2793585, + "U_sourceDefinitions": 2, + "U_queueCases": 17, + "U_durationMs": 306514, + "M_sourceDefinitions": 9, + "M_queueCases": 111, + "M_durationMs": 2018154, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 1, + "E_queueCases": 15, + "E_durationMs": 468917 + }, + { + "file": "Pages/CustomProperties.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/CustomProperties.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 60, + "specInstantiatedDefinitions": 60, + "queueCases": 173, + "queueDurationMs": 3003123, + "U_sourceDefinitions": 24, + "U_queueCases": 88, + "U_durationMs": 1022072, + "M_sourceDefinitions": 32, + "M_queueCases": 81, + "M_durationMs": 1906204, + "B_sourceDefinitions": 4, + "B_queueCases": 4, + "B_durationMs": 74847, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Pages/ExplorePageRightPanel.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/ExplorePageRightPanel.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 41, + "specInstantiatedDefinitions": 41, + "queueCases": 234, + "queueDurationMs": 3196405, + "U_sourceDefinitions": 21, + "U_queueCases": 88, + "U_durationMs": 870772, + "M_sourceDefinitions": 17, + "M_queueCases": 116, + "M_durationMs": 1873557, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 3, + "E_queueCases": 30, + "E_durationMs": 452076 + }, + { + "file": "Pages/DataContracts.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/DataContracts.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 14, + "specInstantiatedDefinitions": 14, + "queueCases": 48, + "queueDurationMs": 2116042, + "U_sourceDefinitions": 5, + "U_queueCases": 5, + "U_durationMs": 102350, + "M_sourceDefinitions": 4, + "M_queueCases": 21, + "M_durationMs": 875267, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 2, + "A_queueCases": 2, + "A_durationMs": 105549, + "E_sourceDefinitions": 3, + "E_queueCases": 20, + "E_durationMs": 1032876 + }, + { + "file": "Features/CuratedAssets.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/CuratedAssets.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 6, + "specInstantiatedDefinitions": 6, + "queueCases": 23, + "queueDurationMs": 811934, + "U_sourceDefinitions": 1, + "U_queueCases": 1, + "U_durationMs": 18294, + "M_sourceDefinitions": 5, + "M_queueCases": 22, + "M_durationMs": 793640, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Pages/Lineage/LineageFilters.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Lineage/LineageFilters.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 12, + "specInstantiatedDefinitions": 12, + "queueCases": 15, + "queueDurationMs": 599269, + "U_sourceDefinitions": 1, + "U_queueCases": 1, + "U_durationMs": 10623, + "M_sourceDefinitions": 11, + "M_queueCases": 14, + "M_durationMs": 588646, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Features/DataAssetRulesDisabled.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/DataAssetRulesDisabled.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 7, + "specInstantiatedDefinitions": 7, + "queueCases": 34, + "queueDurationMs": 739574, + "U_sourceDefinitions": 0, + "U_queueCases": 0, + "U_durationMs": 0, + "M_sourceDefinitions": 4, + "M_queueCases": 31, + "M_durationMs": 560498, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 3, + "E_queueCases": 3, + "E_durationMs": 179076 + }, + { + "file": "Flow/CustomizeWidgets.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Flow/CustomizeWidgets.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 9, + "specInstantiatedDefinitions": 9, + "queueCases": 9, + "queueDurationMs": 540308, + "U_sourceDefinitions": 0, + "U_queueCases": 0, + "U_durationMs": 0, + "M_sourceDefinitions": 9, + "M_queueCases": 9, + "M_durationMs": 540308, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Features/CustomizeDetailPage.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/CustomizeDetailPage.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 10, + "specInstantiatedDefinitions": 10, + "queueCases": 25, + "queueDurationMs": 623212, + "U_sourceDefinitions": 4, + "U_queueCases": 4, + "U_durationMs": 44160, + "M_sourceDefinitions": 4, + "M_queueCases": 19, + "M_durationMs": 517171, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 2, + "E_queueCases": 2, + "E_durationMs": 61881 + }, + { + "file": "Features/DataAssetRulesEnabled.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/DataAssetRulesEnabled.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 4, + "specInstantiatedDefinitions": 4, + "queueCases": 31, + "queueDurationMs": 448396, + "U_sourceDefinitions": 0, + "U_queueCases": 0, + "U_durationMs": 0, + "M_sourceDefinitions": 4, + "M_queueCases": 31, + "M_durationMs": 448396, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Pages/Domains.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Domains.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 47, + "specInstantiatedDefinitions": 47, + "queueCases": 47, + "queueDurationMs": 1462792, + "U_sourceDefinitions": 8, + "U_queueCases": 8, + "U_durationMs": 150287, + "M_sourceDefinitions": 16, + "M_queueCases": 16, + "M_durationMs": 435794, + "B_sourceDefinitions": 3, + "B_queueCases": 3, + "B_durationMs": 61093, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 20, + "E_queueCases": 20, + "E_durationMs": 815618 + }, + { + "file": "Features/DomainFilterQueryFilter.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/DomainFilterQueryFilter.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 13, + "specInstantiatedDefinitions": 13, + "queueCases": 13, + "queueDurationMs": 480556, + "U_sourceDefinitions": 0, + "U_queueCases": 0, + "U_durationMs": 0, + "M_sourceDefinitions": 11, + "M_queueCases": 11, + "M_durationMs": 393205, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 1, + "A_queueCases": 1, + "A_durationMs": 53678, + "E_sourceDefinitions": 1, + "E_queueCases": 1, + "E_durationMs": 33673 + }, + { + "file": "Features/Glossary/GlossaryAdvancedOperations.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/Glossary/GlossaryAdvancedOperations.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 28, + "specInstantiatedDefinitions": 28, + "queueCases": 28, + "queueDurationMs": 436340, + "U_sourceDefinitions": 4, + "U_queueCases": 4, + "U_durationMs": 51562, + "M_sourceDefinitions": 24, + "M_queueCases": 24, + "M_durationMs": 384778, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Pages/Tag.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Tag.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 21, + "specInstantiatedDefinitions": 21, + "queueCases": 21, + "queueDurationMs": 576055, + "U_sourceDefinitions": 8, + "U_queueCases": 8, + "U_durationMs": 134056, + "M_sourceDefinitions": 12, + "M_queueCases": 12, + "M_durationMs": 382726, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 1, + "E_queueCases": 1, + "E_durationMs": 59273 + }, + { + "file": "Features/ExploreSortOrderFilter.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ExploreSortOrderFilter.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 1, + "specInstantiatedDefinitions": 1, + "queueCases": 17, + "queueDurationMs": 287515, + "U_sourceDefinitions": 0, + "U_queueCases": 0, + "U_durationMs": 0, + "M_sourceDefinitions": 1, + "M_queueCases": 17, + "M_durationMs": 287515, + "B_sourceDefinitions": 0, + "B_queueCases": 0, + "B_durationMs": 0, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 0, + "E_queueCases": 0, + "E_durationMs": 0 + }, + { + "file": "Pages/Glossary.spec.ts", + "path": "openmetadata-ui/src/main/resources/ui/playwright/e2e/Pages/Glossary.spec.ts", + "kind": "spec", + "reviewed": true, + "parseErrors": 0, + "uniqueDefinitions": 45, + "specInstantiatedDefinitions": 45, + "queueCases": 45, + "queueDurationMs": 907975, + "U_sourceDefinitions": 11, + "U_queueCases": 11, + "U_durationMs": 166623, + "M_sourceDefinitions": 17, + "M_queueCases": 17, + "M_durationMs": 285239, + "B_sourceDefinitions": 1, + "B_queueCases": 1, + "B_durationMs": 7702, + "A_sourceDefinitions": 0, + "A_queueCases": 0, + "A_durationMs": 0, + "E_sourceDefinitions": 16, + "E_queueCases": 16, + "E_durationMs": 448411 + } + ] +} \ No newline at end of file diff --git a/docs/testing/playwright-migration/migration-cases.csv b/docs/testing/playwright-migration/migration-cases.csv new file mode 100644 index 000000000000..bada6be22137 --- /dev/null +++ b/docs/testing/playwright-migration/migration-cases.csv @@ -0,0 +1,212 @@ +"queueCaseId","definitionKey","sourceFile","sourceLine","title","status","replacementTestFile","replacementTestName","rationale","observedWorkerDurationMs" +"1a7cffc95ce4e87fc41d-0088ed46eab587c90371","T0198","Features/ColumnBulkOperations.spec.ts","273"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Filters & Search › should restore filters from URL on page load","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","restores the %s URL filter in the chip and HTTP request","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","19508" +"1a7cffc95ce4e87fc41d-014321099028e71df84c","T0194","Features/ColumnBulkOperations.spec.ts","184"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Page Load & Stats › should load the page with stats cards and grid data","retained-browser-contract","","","Retain assembled application: authenticated column page, live grid endpoint and page rendering.","12158" +"1a7cffc95ce4e87fc41d-170dbfd48cfc4dd5c106","T0203","Features/ColumnBulkOperations.spec.ts","467"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Filters & Search › should show Service filter chip from URL","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","restores the %s URL filter in the chip and HTTP request","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","14481" +"1a7cffc95ce4e87fc41d-185597b794db3ab6912c","T0214","Features/ColumnBulkOperations.spec.ts","899"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Bulk Update Flow › should update display name and propagate to all occurrences","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","submits exactly one update per selected occurrence and tracks the pending job","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","27308" +"1a7cffc95ce4e87fc41d-239c0f77e33ddb02ed00","T0199","Features/ColumnBulkOperations.spec.ts","294"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Filters & Search › should search columns with server-side API call","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","renders an empty result after searching and sends the typed query to the server","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","9688" +"1a7cffc95ce4e87fc41d-23c5e0255a245d7bd4a2","T0201","Features/ColumnBulkOperations.spec.ts","356"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Filters & Search › should clear individual filter and update URL","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","applies and clears a metadata filter through the real dropdown, URL and request","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","28369" +"1a7cffc95ce4e87fc41d-2e96f151f46e62aaae33","T0217","Features/ColumnBulkOperations.spec.ts","1070"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Nested STRUCT Columns › should select and edit nested STRUCT field","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","expands nested STRUCT rows and opens the edit form for the exact child","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","29514" +"1a7cffc95ce4e87fc41d-32b4d960f036903b8b97","T0212","Features/ColumnBulkOperations.spec.ts","810"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Selection & Edit Drawer › should open edit drawer when clicking on aggregate row","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","opens the drawer by clicking the aggregate column name","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","5167" +"1a7cffc95ce4e87fc41d-39e4bd843402570f4339","T0215","Features/ColumnBulkOperations.spec.ts","978"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Bulk Update Flow › should show success notification after bulk update","retained-browser-contract","","","Retain real server background job and notification; component HTTP stubs cannot establish persistence.","28564" +"1a7cffc95ce4e87fc41d-3ef93584d85256069ad4","T0195","Features/ColumnBulkOperations.spec.ts","199"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Page Load & Stats › should show no results when searching for nonexistent column","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","renders an empty result after searching and sends the typed query to the server","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","13758" +"1a7cffc95ce4e87fc41d-3ff3cebfc11e44e7369b","T0204","Features/ColumnBulkOperations.spec.ts","526"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Selection & Edit Drawer › should show disabled edit button when no columns are selected","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","renders supplied columns and exact stats, with editing disabled until selection","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","10725" +"1a7cffc95ce4e87fc41d-4a4df818cbe72b56fd42","T0200","Features/ColumnBulkOperations.spec.ts","313"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Filters & Search › should not reset stats to zero while search request is loading","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","keeps previous totals while a search is pending, then renders the new totals","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","10358" +"1a7cffc95ce4e87fc41d-59c5f8a31c7199210394","T0206","Features/ColumnBulkOperations.spec.ts","566"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Selection & Edit Drawer › should not count aggregate parent row in drawer selected count","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","counts selected occurrences without counting the aggregate parent, and tracks pending edits","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","7318" +"1a7cffc95ce4e87fc41d-5dac5fccf031408603db","T0216","Features/ColumnBulkOperations.spec.ts","1038"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Nested STRUCT Columns › should expand STRUCT column to show nested fields","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","expands nested STRUCT rows and opens the edit form for the exact child","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","28946" +"1a7cffc95ce4e87fc41d-6c8908c3cd1359e50b2b","T0207","Features/ColumnBulkOperations.spec.ts","614"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Selection & Edit Drawer › should show pending progress spinner after submitting bulk update","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","submits exactly one update per selected occurrence and tracks the pending job","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","25061" +"1a7cffc95ce4e87fc41d-7267cda84897fc91f6dd","T0205","Features/ColumnBulkOperations.spec.ts","532"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Selection & Edit Drawer › should update pending changes counter when editing selected columns","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","counts selected occurrences without counting the aggregate parent, and tracks pending edits","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","23240" +"1a7cffc95ce4e87fc41d-797101ebe2b800c4b2a4","T0208","Features/ColumnBulkOperations.spec.ts","667"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Selection & Edit Drawer › should select column, open drawer, and verify form fields","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","opens the real edit form with column identity, display name, description and tag controls","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","28980" +"1a7cffc95ce4e87fc41d-8491c672cd59d38141d9","T0209","Features/ColumnBulkOperations.spec.ts","706"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Selection & Edit Drawer › should show column count for multiple column selection","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","shows the number of independently selected columns in the drawer","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","5062" +"1a7cffc95ce4e87fc41d-8b7eb228bf6a6d35884e","T0196","Features/ColumnBulkOperations.spec.ts","233"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Filters & Search › should filter by metadata status and verify API param","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","applies and clears a metadata filter through the real dropdown, URL and request","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","27690" +"1a7cffc95ce4e87fc41d-94fbdadd8c9d95ead874","T0197","Features/ColumnBulkOperations.spec.ts","255"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Filters & Search › should filter by entity type (Table)","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","serializes the selected asset type and renders the filtered response","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","15303" +"1a7cffc95ce4e87fc41d-c6b5c6fa386a261c9945","T0210","Features/ColumnBulkOperations.spec.ts","737"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Selection & Edit Drawer › should cancel selection and disable edit button","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","cancels selection and disables editing without sending a mutation","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","23110" +"1a7cffc95ce4e87fc41d-c9cf4dffe0aa3ea711bb","T0213","Features/ColumnBulkOperations.spec.ts","829"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Selection & Edit Drawer › should accept text with spaces in the description field","retained-browser-contract","","","Retain real browser editor input, including spaces and closing the drawer.","21817" +"1a7cffc95ce4e87fc41d-cef1122673da72e852b8","T0218","Features/ColumnBulkOperations.spec.ts","1109"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Pagination › should navigate through pages","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","uses the cursor for the next page, preserves global totals, and resets it for a new search","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","10838" +"1a7cffc95ce4e87fc41d-d2e9a4b29a88686387ab","T0202","Features/ColumnBulkOperations.spec.ts","391"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Filters & Search › should keep latest search results when responses arrive out of order","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","keeps the latest results and totals when an older search resolves last","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","9119" +"1a7cffc95ce4e87fc41d-da1a0b3fd0cc0e01ed6d","T0211","Features/ColumnBulkOperations.spec.ts","757"," › chromium › Features/ColumnBulkOperations.spec.ts › Column Bulk Operations - Selection & Edit Drawer › should discard changes when closing drawer without saving","migrated","openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx","discards unsaved edits on cancel and reopens with the original value","Real component integration at HTTP boundary; consolidated outcome assertions replace this browser variant.","25740" +"1ce96103ecb38ee49d41-081025371a2814b4fb5f","T1779","Flow/NestedChildrenUpdates.spec.ts","62"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Table › Level 1 Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","14369" +"1ce96103ecb38ee49d41-0a4191b4db0efcbae0f8","T1782","Flow/NestedChildrenUpdates.spec.ts","176"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Search Index › Level 2 Deeply Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","14064" +"1ce96103ecb38ee49d41-11ad6728a046d81592e9","T1783","Flow/NestedChildrenUpdates.spec.ts","201"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Search Index › Level 2 Deeply Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","14640" +"1ce96103ecb38ee49d41-16216a857e97288f66c5","T1782","Flow/NestedChildrenUpdates.spec.ts","176"," › chromium › Flow/NestedChildrenUpdates.spec.ts › API Endpoint › Level 2 Deeply Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","12191" +"1ce96103ecb38ee49d41-1d2ca67614bbdde8e805","T1779","Flow/NestedChildrenUpdates.spec.ts","62"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Container › Level 1 Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","12035" +"1ce96103ecb38ee49d41-1ea9821cb6097c0ec98f","T1781","Flow/NestedChildrenUpdates.spec.ts","127"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Data Model › Level 1 Nested Columns › should update nested column displayName immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","13721" +"1ce96103ecb38ee49d41-20781c678687a66fa68b","T1779","Flow/NestedChildrenUpdates.spec.ts","62"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Search Index › Level 1 Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","12276" +"1ce96103ecb38ee49d41-20f85fdc0656235f5cf7","T1779","Flow/NestedChildrenUpdates.spec.ts","62"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Worksheet › Level 1 Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","12002" +"1ce96103ecb38ee49d41-2abec9f21a8ea3b2cc4f","T1784","Flow/NestedChildrenUpdates.spec.ts","239"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Table › Level 2 Deeply Nested Columns › should update nested column displayName immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","13636" +"1ce96103ecb38ee49d41-2e08b3569bf413a4b41d","T1779","Flow/NestedChildrenUpdates.spec.ts","62"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Data Model › Level 1 Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","12396" +"1ce96103ecb38ee49d41-2eee0c93c970f8d07682","T1780","Flow/NestedChildrenUpdates.spec.ts","87"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Table › Level 1 Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","14720" +"1ce96103ecb38ee49d41-38553a39450ce7270e88","T1782","Flow/NestedChildrenUpdates.spec.ts","176"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Data Model › Level 2 Deeply Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","12663" +"1ce96103ecb38ee49d41-4f11e50f706352784b6e","T1780","Flow/NestedChildrenUpdates.spec.ts","87"," › chromium › Flow/NestedChildrenUpdates.spec.ts › File › Level 1 Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","13179" +"1ce96103ecb38ee49d41-5bf28053c2a051ccdfa3","T1783","Flow/NestedChildrenUpdates.spec.ts","201"," › chromium › Flow/NestedChildrenUpdates.spec.ts › API Endpoint › Level 2 Deeply Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","13801" +"1ce96103ecb38ee49d41-693a5a472bbdcd5d7c39","T1782","Flow/NestedChildrenUpdates.spec.ts","176"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Worksheet › Level 2 Deeply Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","11202" +"1ce96103ecb38ee49d41-6f03ad71cb5cf3694aeb","T1780","Flow/NestedChildrenUpdates.spec.ts","87"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Worksheet › Level 1 Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","13323" +"1ce96103ecb38ee49d41-70f4e24aa49e1afddd61","T1780","Flow/NestedChildrenUpdates.spec.ts","87"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Search Index › Level 1 Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","16267" +"1ce96103ecb38ee49d41-75aab610bb32463cf2dd","T1779","Flow/NestedChildrenUpdates.spec.ts","62"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Topic › Level 1 Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","12257" +"1ce96103ecb38ee49d41-7930c4d3ae24ea30f63c","T1782","Flow/NestedChildrenUpdates.spec.ts","176"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Topic › Level 2 Deeply Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","11078" +"1ce96103ecb38ee49d41-7bbb32de38f97fcb06e3","T1780","Flow/NestedChildrenUpdates.spec.ts","87"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Topic › Level 1 Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","13562" +"1ce96103ecb38ee49d41-7d221bdeacd5afefd2ab","T1784","Flow/NestedChildrenUpdates.spec.ts","239"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Data Model › Level 2 Deeply Nested Columns › should update nested column displayName immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","11854" +"1ce96103ecb38ee49d41-88e41b978ee0ef287d92","T1780","Flow/NestedChildrenUpdates.spec.ts","87"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Container › Level 1 Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","14496" +"1ce96103ecb38ee49d41-8db06fd539e01dd3bbaf","T1782","Flow/NestedChildrenUpdates.spec.ts","176"," › chromium › Flow/NestedChildrenUpdates.spec.ts › File › Level 2 Deeply Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","10684" +"1ce96103ecb38ee49d41-a1a032a22693be0119e4","T1781","Flow/NestedChildrenUpdates.spec.ts","127"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Table › Level 1 Nested Columns › should update nested column displayName immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","14203" +"1ce96103ecb38ee49d41-a5652ed373875bbfa978","T1783","Flow/NestedChildrenUpdates.spec.ts","201"," › chromium › Flow/NestedChildrenUpdates.spec.ts › File › Level 2 Deeply Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","12609" +"1ce96103ecb38ee49d41-a83ffa17458ba063ab54","T1783","Flow/NestedChildrenUpdates.spec.ts","201"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Data Model › Level 2 Deeply Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","14276" +"1ce96103ecb38ee49d41-a89c14c356526919c60e","T1779","Flow/NestedChildrenUpdates.spec.ts","62"," › chromium › Flow/NestedChildrenUpdates.spec.ts › File › Level 1 Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","11420" +"1ce96103ecb38ee49d41-b9b78692b1500d345e57","T1783","Flow/NestedChildrenUpdates.spec.ts","201"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Topic › Level 2 Deeply Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","13308" +"1ce96103ecb38ee49d41-c458a06a93bfddc93263","T1783","Flow/NestedChildrenUpdates.spec.ts","201"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Worksheet › Level 2 Deeply Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","12991" +"1ce96103ecb38ee49d41-cf44adf2e574fb2cbc19","T1780","Flow/NestedChildrenUpdates.spec.ts","87"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Data Model › Level 1 Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","16476" +"1ce96103ecb38ee49d41-cfdcfe160d3952303e12","T1782","Flow/NestedChildrenUpdates.spec.ts","176"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Container › Level 2 Deeply Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","12181" +"1ce96103ecb38ee49d41-d1725f195b4f94165c61","T1780","Flow/NestedChildrenUpdates.spec.ts","87"," › chromium › Flow/NestedChildrenUpdates.spec.ts › API Endpoint › Level 1 Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","12770" +"1ce96103ecb38ee49d41-d3a1704a85d2cfaf31cd","T1782","Flow/NestedChildrenUpdates.spec.ts","176"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Table › Level 2 Deeply Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","13685" +"1ce96103ecb38ee49d41-d636fe1feb6796f668e6","T1779","Flow/NestedChildrenUpdates.spec.ts","62"," › chromium › Flow/NestedChildrenUpdates.spec.ts › API Endpoint › Level 1 Nested Columns › should update nested column description immediately without page refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","10947" +"1ce96103ecb38ee49d41-f2418d8c375a80d46f69","T1783","Flow/NestedChildrenUpdates.spec.ts","201"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Container › Level 2 Deeply Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","13895" +"1ce96103ecb38ee49d41-fd849b08a1243d3a9494","T1783","Flow/NestedChildrenUpdates.spec.ts","201"," › chromium › Flow/NestedChildrenUpdates.spec.ts › Table › Level 2 Deeply Nested Columns › should add and remove tags to nested column immediately without refresh","follow-up-retained","","","Follow-up: actual entity-specific nested-row rendering and mutation-response propagation across eight entity types. Shared nested-array utility coverage alone is insufficient.","12865" +"4b386b55f31c66fcf0a6-06daeb511ef00f84fd29","T1299","Features/Permissions/ServiceEntityPermissions.spec.ts","224"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Database Service Permissions › Deny permissions › Database Service deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15321" +"4b386b55f31c66fcf0a6-0c4645d7bb089c1e321f","T1295","Features/Permissions/ServiceEntityPermissions.spec.ts","102"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Database Service Permissions › Allow permissions › Database Service allow entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15581" +"4b386b55f31c66fcf0a6-14321144181f9ce47f79","T1294","Features/Permissions/ServiceEntityPermissions.spec.ts","93"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Api Service Permissions › Allow permissions › Api Service allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","18930" +"4b386b55f31c66fcf0a6-17cd90767af0966bd36c","T1299","Features/Permissions/ServiceEntityPermissions.spec.ts","224"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Pipeline Service Permissions › Deny permissions › Pipeline Service deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15615" +"4b386b55f31c66fcf0a6-18ede5fe24ff674006aa","T1297","Features/Permissions/ServiceEntityPermissions.spec.ts","163"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Mlmodel Service Permissions › View only permissions › AutoPilot trigger button is hidden with view-only permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","9771" +"4b386b55f31c66fcf0a6-2e5ac8793860549aeacb","T1296","Features/Permissions/ServiceEntityPermissions.spec.ts","134"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Pipeline Service Permissions › Allow Trigger permissions › AutoPilot trigger button is visible with Trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10347" +"4b386b55f31c66fcf0a6-343573554ec0d8268d70","T1296","Features/Permissions/ServiceEntityPermissions.spec.ts","134"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Dashboard Service Permissions › Allow Trigger permissions › AutoPilot trigger button is visible with Trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","9761" +"4b386b55f31c66fcf0a6-3484dd5baeedfabcdc0d","T1298","Features/Permissions/ServiceEntityPermissions.spec.ts","192"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Dashboard Service Permissions › Deny Trigger permissions › AutoPilot trigger button is hidden with denied trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","9476" +"4b386b55f31c66fcf0a6-35a725698998eb2a47f8","T1298","Features/Permissions/ServiceEntityPermissions.spec.ts","192"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › SearchIndex Service Permissions › Deny Trigger permissions › AutoPilot trigger button is hidden with denied trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10086" +"4b386b55f31c66fcf0a6-38f5f03eb5cf5ae7f033","T1297","Features/Permissions/ServiceEntityPermissions.spec.ts","163"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › SearchIndex Service Permissions › View only permissions › AutoPilot trigger button is hidden with view-only permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10879" +"4b386b55f31c66fcf0a6-395e69814743ba2cb187","T1296","Features/Permissions/ServiceEntityPermissions.spec.ts","134"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › SearchIndex Service Permissions › Allow Trigger permissions › AutoPilot trigger button is visible with Trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10590" +"4b386b55f31c66fcf0a6-3a1ec3677e129e362fbc","T1296","Features/Permissions/ServiceEntityPermissions.spec.ts","134"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Messaging Service Permissions › Allow Trigger permissions › AutoPilot trigger button is visible with Trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10383" +"4b386b55f31c66fcf0a6-3ae259c0d22b1e1ce4d8","T1294","Features/Permissions/ServiceEntityPermissions.spec.ts","93"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Messaging Service Permissions › Allow permissions › Messaging Service allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","14433" +"4b386b55f31c66fcf0a6-432352edf3dca06c2ef7","T1297","Features/Permissions/ServiceEntityPermissions.spec.ts","163"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Database Service Permissions › View only permissions › AutoPilot trigger button is hidden with view-only permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","9995" +"4b386b55f31c66fcf0a6-436873586de451fe96d5","T1294","Features/Permissions/ServiceEntityPermissions.spec.ts","93"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Dashboard Service Permissions › Allow permissions › Dashboard Service allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15650" +"4b386b55f31c66fcf0a6-4c6ea164e911bb693213","T1297","Features/Permissions/ServiceEntityPermissions.spec.ts","163"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Api Service Permissions › View only permissions › AutoPilot trigger button is hidden with view-only permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","11709" +"4b386b55f31c66fcf0a6-5f11cfb879248cf34e4c","T1297","Features/Permissions/ServiceEntityPermissions.spec.ts","163"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Messaging Service Permissions › View only permissions › AutoPilot trigger button is hidden with view-only permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","9419" +"4b386b55f31c66fcf0a6-622ca29cccba013730a4","T1298","Features/Permissions/ServiceEntityPermissions.spec.ts","192"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Database Service Permissions › Deny Trigger permissions › AutoPilot trigger button is hidden with denied trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10735" +"4b386b55f31c66fcf0a6-7b3743d684cf6e117d91","T1296","Features/Permissions/ServiceEntityPermissions.spec.ts","134"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Storage Service Permissions › Allow Trigger permissions › AutoPilot trigger button is visible with Trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10686" +"4b386b55f31c66fcf0a6-835d301c730efbe11b34","T1297","Features/Permissions/ServiceEntityPermissions.spec.ts","163"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Storage Service Permissions › View only permissions › AutoPilot trigger button is hidden with view-only permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","9367" +"4b386b55f31c66fcf0a6-8ddcec058984ec203d3f","T1298","Features/Permissions/ServiceEntityPermissions.spec.ts","192"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Storage Service Permissions › Deny Trigger permissions › AutoPilot trigger button is hidden with denied trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10114" +"4b386b55f31c66fcf0a6-8f1bafe670518bc9e83c","T1298","Features/Permissions/ServiceEntityPermissions.spec.ts","192"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Pipeline Service Permissions › Deny Trigger permissions › AutoPilot trigger button is hidden with denied trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10397" +"4b386b55f31c66fcf0a6-91a5d646919b4d9597e3","T1297","Features/Permissions/ServiceEntityPermissions.spec.ts","163"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Pipeline Service Permissions › View only permissions › AutoPilot trigger button is hidden with view-only permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10606" +"4b386b55f31c66fcf0a6-93d0ad051bf724091eae","T1298","Features/Permissions/ServiceEntityPermissions.spec.ts","192"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Messaging Service Permissions › Deny Trigger permissions › AutoPilot trigger button is hidden with denied trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10974" +"4b386b55f31c66fcf0a6-a475e3ade77b9e387765","T1298","Features/Permissions/ServiceEntityPermissions.spec.ts","192"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Api Service Permissions › Deny Trigger permissions › AutoPilot trigger button is hidden with denied trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","11023" +"4b386b55f31c66fcf0a6-ae6752ff147b57846fac","T1295","Features/Permissions/ServiceEntityPermissions.spec.ts","102"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Dashboard Service Permissions › Allow permissions › Dashboard Service allow entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15761" +"4b386b55f31c66fcf0a6-afc719e0143260d4e040","T1294","Features/Permissions/ServiceEntityPermissions.spec.ts","93"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Storage Service Permissions › Allow permissions › Storage Service allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","14990" +"4b386b55f31c66fcf0a6-b77edf9e143ef601fbf9","T1298","Features/Permissions/ServiceEntityPermissions.spec.ts","192"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Mlmodel Service Permissions › Deny Trigger permissions › AutoPilot trigger button is hidden with denied trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","8909" +"4b386b55f31c66fcf0a6-bcc6de800ae0018c8e35","T1296","Features/Permissions/ServiceEntityPermissions.spec.ts","134"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Mlmodel Service Permissions › Allow Trigger permissions › AutoPilot trigger button is visible with Trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","9470" +"4b386b55f31c66fcf0a6-c3aca2c5c8c2d82180af","T1296","Features/Permissions/ServiceEntityPermissions.spec.ts","134"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Api Service Permissions › Allow Trigger permissions › AutoPilot trigger button is visible with Trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","11294" +"4b386b55f31c66fcf0a6-c552350b1e2fa95be986","T1294","Features/Permissions/ServiceEntityPermissions.spec.ts","93"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Database Service Permissions › Allow permissions › Database Service allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16389" +"4b386b55f31c66fcf0a6-c7c8619b266099fc4f70","T1297","Features/Permissions/ServiceEntityPermissions.spec.ts","163"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Dashboard Service Permissions › View only permissions › AutoPilot trigger button is hidden with view-only permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10660" +"4b386b55f31c66fcf0a6-cdae34958cb93081829a","T1294","Features/Permissions/ServiceEntityPermissions.spec.ts","93"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › SearchIndex Service Permissions › Allow permissions › SearchIndex Service allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15412" +"4b386b55f31c66fcf0a6-d59b19f223a8f2cc1bbb","T1296","Features/Permissions/ServiceEntityPermissions.spec.ts","134"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Database Service Permissions › Allow Trigger permissions › AutoPilot trigger button is visible with Trigger permission","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10490" +"4b386b55f31c66fcf0a6-dd662649178d493876e0","T1299","Features/Permissions/ServiceEntityPermissions.spec.ts","224"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Storage Service Permissions › Deny permissions › Storage Service deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15222" +"4b386b55f31c66fcf0a6-ef980385b808a5c01753","T1299","Features/Permissions/ServiceEntityPermissions.spec.ts","224"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Api Service Permissions › Deny permissions › Api Service deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16965" +"4b386b55f31c66fcf0a6-f03031217bd696b25733","T1294","Features/Permissions/ServiceEntityPermissions.spec.ts","93"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Mlmodel Service Permissions › Allow permissions › Mlmodel Service allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15786" +"4b386b55f31c66fcf0a6-f14d138df6e533dcf29d","T1299","Features/Permissions/ServiceEntityPermissions.spec.ts","224"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Mlmodel Service Permissions › Deny permissions › Mlmodel Service deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","14535" +"4b386b55f31c66fcf0a6-f4ee16bcc2057c7cbe8f","T1299","Features/Permissions/ServiceEntityPermissions.spec.ts","224"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › SearchIndex Service Permissions › Deny permissions › SearchIndex Service deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","14528" +"4b386b55f31c66fcf0a6-fb8dab4d2fd36f28599c","T1299","Features/Permissions/ServiceEntityPermissions.spec.ts","224"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Dashboard Service Permissions › Deny permissions › Dashboard Service deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15211" +"4b386b55f31c66fcf0a6-fc44283d14ba6c42806c","T1300","Features/Permissions/ServiceEntityPermissions.spec.ts","233"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Database Service Permissions › Deny permissions › Database Service deny entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","17771" +"4b386b55f31c66fcf0a6-fc52cf1b230c7de377b5","T1294","Features/Permissions/ServiceEntityPermissions.spec.ts","93"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Pipeline Service Permissions › Allow permissions › Pipeline Service allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16956" +"4b386b55f31c66fcf0a6-fee0d4a9f268927eb49b","T1300","Features/Permissions/ServiceEntityPermissions.spec.ts","233"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Dashboard Service Permissions › Deny permissions › Dashboard Service deny entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","13626" +"4b386b55f31c66fcf0a6-ff25baa5e6705fd87e3c","T1299","Features/Permissions/ServiceEntityPermissions.spec.ts","224"," › chromium › Features/Permissions/ServiceEntityPermissions.spec.ts › Messaging Service Permissions › Deny permissions › Messaging Service deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","13288" +"69f04d167d027522a57a-0d63c51a5b8439797ec4","T1271","Features/Pagination.spec.ts","1270"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Table version page column pagination › should test search on Table version page columns","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","6116" +"69f04d167d027522a57a-1afaf40ca75b9169745f","T1269","Features/Pagination.spec.ts","1200"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pipeline Tasks page pagination › should display at most pageSize rows on each page and total matches task count","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","5911" +"69f04d167d027522a57a-1effafa017fa24dae3a8","T1240","Features/Pagination.spec.ts","124"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Database Schema Tables page pagination › should test Database Schema Tables normal pagination","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","13240" +"69f04d167d027522a57a-270586167806dc7a45d7","T1248","Features/Pagination.spec.ts","418"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Notification Alerts page › should test pagination on Notification Alerts page","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","11291" +"69f04d167d027522a57a-4536ce90c513ea40babb","T1243","Features/Pagination.spec.ts","199"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Table columns page pagination › should test Table columns complete flow with search","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","20598" +"69f04d167d027522a57a-4849a60b7f9b9c75970b","T1253","Features/Pagination.spec.ts","607"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Stored Procedures page › should test Stored Procedures complete flow with search","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","12716" +"69f04d167d027522a57a-4a9e844a35462eb4ed53","T1250","Features/Pagination.spec.ts","519"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for API Collection Endpoints page › should test API Collection normal pagination","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","11211" +"69f04d167d027522a57a-522675c74c67c05389c8","T1272","Features/Pagination.spec.ts","1320"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Service version page › should test pagination on Service version page","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","8075" +"69f04d167d027522a57a-569e6236bb343a798340","T1270","Features/Pagination.spec.ts","1260"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Table version page column pagination › should test pagination on Table version page columns","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","12771" +"69f04d167d027522a57a-5976c978fb8e0412cae3","T1246","Features/Pagination.spec.ts","337"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Classification Tags page › should test pagination on Classification Tags page","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","11202" +"69f04d167d027522a57a-5a0809981ccad3fac96a","T1263","Features/Pagination.spec.ts","1021"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Drive Service Spreadsheets page › should test Spreadsheets normal pagination","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","11497" +"69f04d167d027522a57a-5b1b1a14ee145e3320a2","T1259","Features/Pagination.spec.ts","807"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Drive Service Directories page › should test Directories complete flow with search","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","14308" +"69f04d167d027522a57a-5deca5d41faf8cf09f92","T1238","Features/Pagination.spec.ts","66"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Users page › should test pagination on Users page","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","11606" +"69f04d167d027522a57a-61c3a2cd143654c345ea","T1262","Features/Pagination.spec.ts","881"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Drive Service Files page › should reset pagination when switching between Files and Spreadsheets tabs and also verify the api is called with correct payload","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","12284" +"69f04d167d027522a57a-62a7e49254bc5ed1c0fd","T1261","Features/Pagination.spec.ts","867"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Drive Service Files page › should test Files complete flow with search","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","12608" +"69f04d167d027522a57a-65a356df11068eb892a9","T1257","Features/Pagination.spec.ts","749"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Dashboard Data Models page › should test Data Models complete flow with search","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","13351" +"69f04d167d027522a57a-6ccab878d5d132496901","T1242","Features/Pagination.spec.ts","190"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Table columns page pagination › should test pagination on Table columns","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","21531" +"69f04d167d027522a57a-70eff9216ce9baf67def","T1255","Features/Pagination.spec.ts","664"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Database Schemas page › should test Database Schemas complete flow with search","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","14119" +"69f04d167d027522a57a-7230a3d6ac8be6c0b43b","T1267","Features/Pagination.spec.ts","1154"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Bots page › should test pagination on Bots page","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","10979" +"69f04d167d027522a57a-755acad3b9ae48868e50","T1244","Features/Pagination.spec.ts","245"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Service Databases page pagination › should test pagination on Service Databases page","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","13365" +"69f04d167d027522a57a-7f9d55e3f06664f27de6","T1264","Features/Pagination.spec.ts","1032"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Drive Service Spreadsheets page › should test Spreadsheets complete flow with search","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","13188" +"69f04d167d027522a57a-81562d6199750c91eedf","T1252","Features/Pagination.spec.ts","577"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Stored Procedures page › should test Stored Procedures normal pagination","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","12014" +"69f04d167d027522a57a-95f815f4af52e846761f","T1256","Features/Pagination.spec.ts","721"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Dashboard Data Models page › should test Data Models normal pagination","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","12386" +"69f04d167d027522a57a-ac4a045699a81c56318d","T1245","Features/Pagination.spec.ts","293"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Service Databases page pagination › should test Service Database Tables complete flow with search","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","13679" +"69f04d167d027522a57a-b9120310e2cedd8c5bf0","T1254","Features/Pagination.spec.ts","655"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Database Schemas page › should test Database Schemas normal pagination","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","12341" +"69f04d167d027522a57a-be507602cb869bf3d3a4","T1265","Features/Pagination.spec.ts","1087"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Roles page › should test pagination on Roles page","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","11483" +"69f04d167d027522a57a-c0e169775cd894d676f8","T1247","Features/Pagination.spec.ts","372"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Metrics page › should test pagination on Metrics page","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","11185" +"69f04d167d027522a57a-c5300a813856c71be56c","T1268","Features/Pagination.spec.ts","1192"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pipeline Tasks page pagination › should test Pipeline Tasks normal pagination","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","11765" +"69f04d167d027522a57a-cf38d16dc446f8c57869","T1266","Features/Pagination.spec.ts","1124"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Policies page › should test pagination on Policies page","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","11141" +"69f04d167d027522a57a-d09956c0604ead156107","T1239","Features/Pagination.spec.ts","71"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Users page › should test Users complete flow with search","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","12381" +"69f04d167d027522a57a-d28067dfec2215fc2a1f","T1251","Features/Pagination.spec.ts","528"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for API Collection Endpoints page › should test API Collection complete flow with search","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","11475" +"69f04d167d027522a57a-d4ee9d0888330156246e","T1241","Features/Pagination.spec.ts","135"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Database Schema Tables page pagination › should test Database Schema Tables complete flow with search","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","14182" +"69f04d167d027522a57a-d6cd483f8e72dec2aab6","T1249","Features/Pagination.spec.ts","474"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Observability Alerts page › should test pagination on Observability Alerts page","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","10365" +"69f04d167d027522a57a-dbd8d16a665a04625901","T1258","Features/Pagination.spec.ts","796"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Drive Service Directories page › should test Directories normal pagination","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","12560" +"69f04d167d027522a57a-fa33d3888c5145159d4c","T1260","Features/Pagination.spec.ts","862"," › Basic › Features/Pagination.spec.ts › Pagination Tests › Pagination tests for Drive Service Files page › should test Files normal pagination","follow-up-retained","","","Follow-up: actual listing consumer with HTTP pages and URL state. A usePaging test alone does not cover the 35 distinct consumer/search/version variants.","11394" +"8ee4c71fd1ee04fef09a-00f9606596c3016580e0","T1282","Features/Permissions/EntityPermissions.spec.ts","288"," › chromium › Features/Permissions/EntityPermissions.spec.ts › DashboardDataModel Permissions › Allow permissions › DashboardDataModel allow entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","17447" +"8ee4c71fd1ee04fef09a-020742af52a481d6b34a","T1282","Features/Permissions/EntityPermissions.spec.ts","288"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Database Permissions › Allow permissions › Database allow entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10844" +"8ee4c71fd1ee04fef09a-02e76560310002da73e9","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › File Permissions › Deny permissions › File deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15631" +"8ee4c71fd1ee04fef09a-048cd5bb07db0b092c46","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › MlModel Permissions › Deny permissions › MlModel deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15077" +"8ee4c71fd1ee04fef09a-07b9537cf71ed31371ed","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Table Permissions › Allow permissions › Table allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","18472" +"8ee4c71fd1ee04fef09a-09a091accaad0d82c91e","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › DashboardDataModel Permissions › Allow permissions › DashboardDataModel allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","20936" +"8ee4c71fd1ee04fef09a-0af671909bde7a013f64","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Topic Permissions › Deny permissions › Topic deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16179" +"8ee4c71fd1ee04fef09a-0cc373dd04ff8030233f","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Worksheet Permissions › Deny permissions › Worksheet deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16469" +"8ee4c71fd1ee04fef09a-10deae907d09b964fcfa","T1284","Features/Permissions/EntityPermissions.spec.ts","335"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Database Permissions › Deny permissions › Database deny entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","11127" +"8ee4c71fd1ee04fef09a-13452946d5045d9f0db4","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Pipeline Permissions › Allow permissions › Pipeline allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16707" +"8ee4c71fd1ee04fef09a-18ae617d79e5d7b7f079","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › File Permissions › Allow permissions › File allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16171" +"8ee4c71fd1ee04fef09a-1f326d25e5fc9a9637ce","T1282","Features/Permissions/EntityPermissions.spec.ts","288"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Dashboard Permissions › Allow permissions › Dashboard allow entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15041" +"8ee4c71fd1ee04fef09a-393b9b78f8201b11c857","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Pipeline Permissions › Deny permissions › Pipeline deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15892" +"8ee4c71fd1ee04fef09a-3ad159e3ed8c31713208","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Database Permissions › Allow permissions › Database allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","11645" +"8ee4c71fd1ee04fef09a-3c9a28545246bbdc73fb","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Metric Permissions › Allow permissions › Metric allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16518" +"8ee4c71fd1ee04fef09a-45a17df84917860b8165","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Spreadsheet Permissions › Deny permissions › Spreadsheet deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","14715" +"8ee4c71fd1ee04fef09a-4d8f171e51cb0d2e42e1","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Worksheet Permissions › Allow permissions › Worksheet allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16746" +"8ee4c71fd1ee04fef09a-5bfaabe1489bae588f50","T1282","Features/Permissions/EntityPermissions.spec.ts","288"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Table Permissions › Allow permissions › Table allow entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","19484" +"8ee4c71fd1ee04fef09a-638c851f124e342a619e","T1284","Features/Permissions/EntityPermissions.spec.ts","335"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Pipeline Permissions › Deny permissions › Pipeline deny entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15668" +"8ee4c71fd1ee04fef09a-6b2b0ce6cc129f162e51","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Metric Permissions › Deny permissions › Metric deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16779" +"8ee4c71fd1ee04fef09a-7103f95de221bffd41e4","T1282","Features/Permissions/EntityPermissions.spec.ts","288"," › chromium › Features/Permissions/EntityPermissions.spec.ts › SearchIndex Permissions › Allow permissions › SearchIndex allow entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","12924" +"8ee4c71fd1ee04fef09a-76eeb463ff3652b7951f","T1284","Features/Permissions/EntityPermissions.spec.ts","335"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Table Permissions › Deny permissions › Table deny entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","19432" +"8ee4c71fd1ee04fef09a-7ae5321fb8e02ddc6a2c","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › MlModel Permissions › Allow permissions › MlModel allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16609" +"8ee4c71fd1ee04fef09a-7afc5f7035b8498c6583","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Dashboard Permissions › Deny permissions › Dashboard deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15862" +"8ee4c71fd1ee04fef09a-82058782f5a5195dbf14","T1279","Features/Permissions/EntityPermissions.spec.ts","217"," › chromium › Features/Permissions/EntityPermissions.spec.ts › DataAsset Header – EditTier / EditOwners / EditCertification permissions › EditAll allowed but EditTier, EditOwners, EditCertification denied – edit buttons not visible","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","11605" +"8ee4c71fd1ee04fef09a-8497ba3282344447e2e7","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Container Permissions › Deny permissions › Container deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","17757" +"8ee4c71fd1ee04fef09a-852f1640c17c28a14391","T1284","Features/Permissions/EntityPermissions.spec.ts","335"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Dashboard Permissions › Deny permissions › Dashboard deny entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","14921" +"8ee4c71fd1ee04fef09a-8cde431a28f77402aa93","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Container Permissions › Allow permissions › Container allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","18605" +"8ee4c71fd1ee04fef09a-98622cead2f44658d0c6","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › DashboardDataModel Permissions › Deny permissions › DashboardDataModel deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","20200" +"8ee4c71fd1ee04fef09a-9ecf0c8e4c89f192c4df","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Table Permissions › Deny permissions › Table deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","17590" +"8ee4c71fd1ee04fef09a-9ed49d22924150c2919d","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › SearchIndex Permissions › Deny permissions › SearchIndex deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","13501" +"8ee4c71fd1ee04fef09a-a21c41bd3db9957ede73","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Directory Permissions › Allow permissions › Directory allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15305" +"8ee4c71fd1ee04fef09a-af9cea942959e42519d9","T1280","Features/Permissions/EntityPermissions.spec.ts","230"," › chromium › Features/Permissions/EntityPermissions.spec.ts › DataAsset Header – EditTier / EditOwners / EditCertification permissions › EditTier, EditOwners, EditCertification allowed but EditAll denied – edit buttons not visible","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","12323" +"8ee4c71fd1ee04fef09a-b23b07500ce1df682796","T1282","Features/Permissions/EntityPermissions.spec.ts","288"," › chromium › Features/Permissions/EntityPermissions.spec.ts › MlModel Permissions › Allow permissions › MlModel allow entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16350" +"8ee4c71fd1ee04fef09a-b6907275b5a16eba27dc","T1284","Features/Permissions/EntityPermissions.spec.ts","335"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Topic Permissions › Deny permissions › Topic deny entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16029" +"8ee4c71fd1ee04fef09a-be98efca59a108071401","T1284","Features/Permissions/EntityPermissions.spec.ts","335"," › chromium › Features/Permissions/EntityPermissions.spec.ts › SearchIndex Permissions › Deny permissions › SearchIndex deny entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","13594" +"8ee4c71fd1ee04fef09a-c7b1063f20150b9224a9","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Spreadsheet Permissions › Allow permissions › Spreadsheet allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","14906" +"8ee4c71fd1ee04fef09a-cdc7161e3a6adaa0c2e4","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Directory Permissions › Deny permissions › Directory deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16246" +"8ee4c71fd1ee04fef09a-ddfdf503467d77c54ffc","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › SearchIndex Permissions › Allow permissions › SearchIndex allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","14032" +"8ee4c71fd1ee04fef09a-de36bce534daf48cb1ed","T1284","Features/Permissions/EntityPermissions.spec.ts","335"," › chromium › Features/Permissions/EntityPermissions.spec.ts › DashboardDataModel Permissions › Deny permissions › DashboardDataModel deny entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","17121" +"8ee4c71fd1ee04fef09a-e064b13617abbe309243","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Dashboard Permissions › Allow permissions › Dashboard allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16686" +"8ee4c71fd1ee04fef09a-e4e4e805ca158b580f5f","T1281","Features/Permissions/EntityPermissions.spec.ts","278"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Topic Permissions › Allow permissions › Topic allow common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16700" +"8ee4c71fd1ee04fef09a-e5bb4189f7681667f866","T1282","Features/Permissions/EntityPermissions.spec.ts","288"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Pipeline Permissions › Allow permissions › Pipeline allow entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15766" +"8ee4c71fd1ee04fef09a-e84df0a6339c03bd5290","T1283","Features/Permissions/EntityPermissions.spec.ts","325"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Database Permissions › Deny permissions › Database deny common operations permissions","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","11862" +"8ee4c71fd1ee04fef09a-ee4a0b3aec10677417e2","T1282","Features/Permissions/EntityPermissions.spec.ts","288"," › chromium › Features/Permissions/EntityPermissions.spec.ts › Topic Permissions › Allow permissions › Topic allow entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","15857" +"8ee4c71fd1ee04fef09a-f2f190d2e4df85e59203","T1284","Features/Permissions/EntityPermissions.spec.ts","335"," › chromium › Features/Permissions/EntityPermissions.spec.ts › MlModel Permissions › Deny permissions › MlModel deny entity-specific permission operations","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","14668" +"b2111489ddf56841564e-023d22dc39c48e8d53f4","T0550","Features/DataQuality/DataQualityPermissions.spec.ts","573"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Granular Permissions - TestCase GET Endpoints › User with TEST_CASE.VIEW_BASIC can view test case in UI","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","19442" +"b2111489ddf56841564e-225d15df6f71e5d6038d","T0538","Features/DataQuality/DataQualityPermissions.spec.ts","402"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Cross-Permission Negative Scenarios › User with TEST_CASE.CREATE cannot delete test cases","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","19015" +"b2111489ddf56841564e-2344f0d9500623421fb8","T0536","Features/DataQuality/DataQualityPermissions.spec.ts","378"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Standard Roles (Negative Scenarios) › Data Consumer cannot create or delete test suites","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10670" +"b2111489ddf56841564e-36d66c70ea2381068e2d","T0534","Features/DataQuality/DataQualityPermissions.spec.ts","339"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Standard Roles (Negative Scenarios) › Data Consumer can VIEW test cases but sees no edit controls in UI","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","18258" +"b2111489ddf56841564e-3b2675937f5dccd75d2f","T0545","Features/DataQuality/DataQualityPermissions.spec.ts","491"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Granular Permissions - TestCase CRUD › User with TEST_CASE.DELETE can see delete option for test case","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","20737" +"b2111489ddf56841564e-41cfeb97e29ffcfe25f5","T0554","Features/DataQuality/DataQualityPermissions.spec.ts","634"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Granular Permissions - TestSuite › User with TEST_SUITE.VIEW_ALL can view test suite CONTENT but cannot add test case","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","11655" +"b2111489ddf56841564e-505fe28532602c99aab7","T0537","Features/DataQuality/DataQualityPermissions.spec.ts","388"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Standard Roles (Negative Scenarios) › Data Consumer cannot edit test case","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","20659" +"b2111489ddf56841564e-597de0139daf1d0e4d01","T0535","Features/DataQuality/DataQualityPermissions.spec.ts","359"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Standard Roles (Negative Scenarios) › Data Steward cannot create or delete test cases (default)","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","16979" +"b2111489ddf56841564e-7805715b82208927b353","T0557","Features/DataQuality/DataQualityPermissions.spec.ts","668"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Admin Full Access › Admin can see Data Quality UI controls (add test case, add test suite)","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","24028" +"b2111489ddf56841564e-7a64848a6500dadc0c80","T0539","Features/DataQuality/DataQualityPermissions.spec.ts","420"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Cross-Permission Negative Scenarios › User with TEST_CASE.DELETE cannot create test cases","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","20792" +"b2111489ddf56841564e-7a85c789b019754693f6","T0552","Features/DataQuality/DataQualityPermissions.spec.ts","615"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Granular Permissions - TestSuite › User with TEST_SUITE.CREATE can see Add test suite button","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10625" +"b2111489ddf56841564e-867f3068db9da0d14660","T0547","Features/DataQuality/DataQualityPermissions.spec.ts","524"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Granular Permissions - TestCase Edit/PATCH › User with TEST_CASE.EDIT_ALL can see edit action on test case","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","18859" +"b2111489ddf56841564e-8d4b1e27cb6ab75b49f4","T0540","Features/DataQuality/DataQualityPermissions.spec.ts","431"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Cross-Permission Negative Scenarios › User with TEST_CASE.VIEW_BASIC cannot edit test cases","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","23227" +"b2111489ddf56841564e-9d7d81e12e2bea1146ad","T0544","Features/DataQuality/DataQualityPermissions.spec.ts","478"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Granular Permissions - TestCase CRUD › User with TEST_CASE.CREATE can see Add button for test case","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","18122" +"b2111489ddf56841564e-a12338af018616a5c43d","T0553","Features/DataQuality/DataQualityPermissions.spec.ts","623"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Granular Permissions - TestSuite › User with TEST_SUITE.VIEW_ALL can view test suites page and list suites","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10659" +"b2111489ddf56841564e-bf3ff4cd06cdb0ec6934","T0551","Features/DataQuality/DataQualityPermissions.spec.ts","586"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Granular Permissions - TestCase GET Endpoints › User with TEST_CASE.VIEW_BASIC can view test case CONTENT details in UI","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","36149" +"b2111489ddf56841564e-c53bcbe763c0939caa91","T0555","Features/DataQuality/DataQualityPermissions.spec.ts","645"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Granular Permissions - TestSuite › User with TEST_SUITE.EDIT_ALL can see add test case button on suite details","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","12089" +"b2111489ddf56841564e-cfbd7e7f4484702c01f0","T0556","Features/DataQuality/DataQualityPermissions.spec.ts","653"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Granular Permissions - TestSuite › User with TABLE.VIEW_TESTS can view test suites page (alternative permission)","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10130" +"b2111489ddf56841564e-cfbe5dcb809fce114ce5","T0549","Features/DataQuality/DataQualityPermissions.spec.ts","558"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Granular Permissions - TestCase Edit/PATCH › User with VIEW_BASIC cannot see edit action in UI","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","22199" +"b2111489ddf56841564e-d7319bc5b90ed2cb0a11","T0543","Features/DataQuality/DataQualityPermissions.spec.ts","466"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Cross-Permission Negative Scenarios › User without TEST_SUITE.EDIT cannot add test case to logical suite","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","11043" +"b2111489ddf56841564e-e280555757f349c72854","T0533","Features/DataQuality/DataQualityPermissions.spec.ts","320"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Standard Roles (Negative Scenarios) › Data Consumer cannot create or delete test cases","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","19944" +"b2111489ddf56841564e-e4e1a2ebe615aae2117c","T0548","Features/DataQuality/DataQualityPermissions.spec.ts","541"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Granular Permissions - TestCase Edit/PATCH › User with TABLE.EDIT_TESTS can see edit action on test case","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","19275" +"b2111489ddf56841564e-eae7b64629c9d1a12de2","T0542","Features/DataQuality/DataQualityPermissions.spec.ts","455"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Cross-Permission Negative Scenarios › User without TEST_SUITE.DELETE cannot delete test suites","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10547" +"b2111489ddf56841564e-f34cdcd4f8d4edd4cdfe","T0541","Features/DataQuality/DataQualityPermissions.spec.ts","445"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Cross-Permission Negative Scenarios › User without TEST_SUITE.CREATE cannot create test suites","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","10062" +"b2111489ddf56841564e-ffe3f0d85ac3d552eb09","T0546","Features/DataQuality/DataQualityPermissions.spec.ts","507"," › chromium › Features/DataQuality/DataQualityPermissions.spec.ts › Observability Permission Coverage › Granular Permissions - TestCase CRUD › User with TABLE.CREATE_TESTS can see Add button (Table Permission)","follow-up-retained","","","Follow-up: actual page/header permission matrix with real providers and children; retain backend authorization enforcement. Shared permission utility coverage alone does not replace these controls.","20970" diff --git a/openmetadata-ui/src/main/resources/ui/eslint-suppressions.json b/openmetadata-ui/src/main/resources/ui/eslint-suppressions.json index 2026be488945..efbeca28c179 100644 --- a/openmetadata-ui/src/main/resources/ui/eslint-suppressions.json +++ b/openmetadata-ui/src/main/resources/ui/eslint-suppressions.json @@ -76,7 +76,7 @@ }, "playwright/e2e/Features/ColumnBulkOperations.spec.ts": { "om-playwright/no-positional-locator": { - "count": 7 + "count": 2 } }, "playwright/e2e/Features/ColumnBulkOperationsTagsGlossary.spec.ts": { diff --git a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ColumnBulkOperations.spec.ts b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ColumnBulkOperations.spec.ts index 9a6854243d75..b9ac1fdb1ec4 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ColumnBulkOperations.spec.ts +++ b/openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ColumnBulkOperations.spec.ts @@ -11,50 +11,35 @@ * limitations under the License. */ import { APIRequestContext, Page } from '@playwright/test'; -import { SidebarItem } from '../../constant/sidebar'; +import { ColumnGridResponse } from '../../../src/generated/api/data/columnGridResponse'; import { TableClass } from '../../support/entity/TableClass'; import { expect, test } from '../../support/fixtures/base'; import { createNewPage, fullUuid, - redirectToHomePage, + getApiContext, uuid, } from '../../utils/common'; import { waitForAllLoadersToDisappear } from '../../utils/entity'; -import { sidebarClick } from '../../utils/sidebar'; test.use({ storageState: 'playwright/.auth/admin.json' }); -const COLUMN_BULK_OPERATIONS_URL = '/column-bulk-operations'; -const METADATA_STATUS_FILTER_TESTID = 'search-dropdown-Has / Missing Metadata'; +// The UI state matrix lives in ColumnGrid.integration.test.tsx. These cases +// retain assembled-page, browser-editor and real background-job contracts. const GRID_API_URL = '/api/v1/columns/grid'; -const BULK_UPDATE_API_URL = '/api/v1/columns/bulk-update-async'; - -async function waitForGridRequest(page: Page, timeout = 15000) { - return page.waitForRequest((r) => r.url().includes(GRID_API_URL), { - timeout, - }); -} async function visitColumnBulkOperationsPage(page: Page) { - await redirectToHomePage(page); - // Register before sidebarClick so the listener is active before navigation fires. - const responsePromise = page.waitForResponse( - (r) => r.url().includes(GRID_API_URL), - { timeout: 30000 } - ); - await sidebarClick(page, SidebarItem.COLUMN_BULK_OPERATIONS); - const response = await responsePromise; + const [response] = await Promise.all([ + page.waitForResponse((r) => r.url().includes(GRID_API_URL), { + timeout: 30000, + }), + page.goto('/column-bulk-operations'), + ]); expect(response.status()).toBe(200); await waitForAllLoadersToDisappear(page); } -async function searchColumn( - page: Page, - columnName: string, - options: { expectResults?: boolean } = {} -) { - const expectResults = options.expectResults ?? true; +async function searchColumn(page: Page, columnName: string) { const searchInput = page.getByPlaceholder('Search columns'); const matchingRowLocator = page.getByTestId(`column-row-${columnName}`); @@ -78,13 +63,6 @@ async function searchColumn( return matchingRowLocator.count(); }; - if (!expectResults) { - await runSearch(); - await waitForAllLoadersToDisappear(page); - - return; - } - await expect .poll( async () => { @@ -125,13 +103,6 @@ async function waitForColumnInGridIndex( .toBeGreaterThanOrEqual(minOccurrences); } -async function getPendingChangesValue(page: Page) { - return ( - (await page.getByTestId('pending-changes-value').textContent())?.trim() ?? - '' - ); -} - function getColumnRowCheckbox(page: Page, rowId: string) { return page .locator(`[data-row-id="${rowId}"]`) @@ -139,43 +110,6 @@ function getColumnRowCheckbox(page: Page, rowId: string) { .locator('[slot="selection"]'); } -function buildMockColumnGridResponse(columnName: string) { - return { - columns: [ - { - columnName, - hasVariations: false, - metadataStatus: 'MISSING', - totalOccurrences: 1, - groups: [ - { - groupId: `${columnName}-group`, - occurrenceCount: 1, - metadataStatus: 'MISSING', - displayName: columnName, - description: `${columnName} description`, - dataType: 'VARCHAR', - tags: [], - occurrences: [ - { - columnFQN: `sample_data.ecommerce_db.shopify.dim_address.${columnName}`, - entityFQN: 'sample_data.ecommerce_db.shopify.dim_address', - entityType: 'table', - serviceName: 'sample_data', - databaseName: 'ecommerce_db', - schemaName: 'shopify', - }, - ], - }, - ], - }, - ], - totalUniqueColumns: 1, - totalOccurrences: 1, - cursor: null, - }; -} - test.describe('Column Bulk Operations - Page Load & Stats', () => { test.beforeEach(async ({ page }) => { await visitColumnBulkOperationsPage(page); @@ -195,297 +129,6 @@ test.describe('Column Bulk Operations - Page Load & Stats', () => { await expect(page.getByTestId('table-view-container')).toBeVisible(); }); }); - - test('should show no results when searching for nonexistent column', async ({ - page, - }) => { - await test.step('Search for a nonexistent column name', async () => { - await searchColumn(page, 'zzz_nonexistent_column_xyz_12345', { - expectResults: false, - }); - }); - - await test.step('Verify empty state or zero rows', async () => { - await expect - .poll( - async () => { - const noRecordsText = page.getByText( - /no records found|no data|no results/i - ); - const tableRows = page.locator('tbody tr'); - const noResultsCount = await noRecordsText.count(); - const rowCount = await tableRows.count(); - - return noResultsCount > 0 || rowCount === 0; - }, - { timeout: 10000, intervals: [500, 1000, 2000] } - ) - .toBe(true); - }); - }); -}); - -test.describe('Column Bulk Operations - Filters & Search', () => { - test.beforeEach(async ({ page }) => { - await visitColumnBulkOperationsPage(page); - }); - - test('should filter by metadata status and verify API param', async ({ - page, - }) => { - await test.step('Open metadata status filter and select MISSING', async () => { - await page.getByTestId(METADATA_STATUS_FILTER_TESTID).click(); - await page.getByTestId('MISSING').click(); - // Register before update-btn click so the listener is active when the request fires. - const gridReq = waitForGridRequest(page); - await page.getByTestId('update-btn').click(); - await gridReq; - await waitForAllLoadersToDisappear(page); - }); - - await test.step('Verify filter chip is displayed', async () => { - const metadataStatusChip = page.getByTestId('filter-chip-metadataStatus'); - - await expect(metadataStatusChip).toBeVisible(); - await expect(metadataStatusChip).toContainText('Has / Missing Metadata'); - await expect(metadataStatusChip).toContainText(/Missing|MISSING/); - }); - }); - - test('should filter by entity type (Table)', async ({ page }) => { - await test.step('Open Asset Type filter and select Table', async () => { - const apiCallPromise = page.waitForRequest( - (request) => - request.url().includes(GRID_API_URL) && - request.url().includes('entityTypes='), - { timeout: 10000 } - ); - - await page.getByRole('button', { name: 'Asset Type' }).click(); - await page.getByRole('menuitem', { name: 'Table' }).click(); - await page.getByRole('button', { name: 'Update' }).click(); - - const apiRequest = await apiCallPromise; - expect(apiRequest.url()).toContain('entityTypes=table'); - }); - }); - - test('should restore filters from URL on page load', async ({ page }) => { - await test.step('Navigate to page with metadataStatus in URL', async () => { - const dataReq = waitForGridRequest(page); - await page.goto( - `${COLUMN_BULK_OPERATIONS_URL}?metadataStatus=INCONSISTENT` - ); - await dataReq; - await waitForAllLoadersToDisappear(page); - }); - - await test.step('Verify filter chip is restored', async () => { - const metadataStatusChip = page.getByTestId('filter-chip-metadataStatus'); - - await expect(metadataStatusChip).toBeVisible(); - await expect(metadataStatusChip).toContainText('Has / Missing Metadata'); - await expect(metadataStatusChip).toContainText( - /Inconsistent|INCONSISTENT/ - ); - }); - }); - - test('should search columns with server-side API call', async ({ page }) => { - await test.step('Type search query and verify API call', async () => { - const searchInput = page.getByPlaceholder('Search columns'); - await expect(searchInput).toBeVisible(); - - const apiCallPromise = page.waitForRequest( - (request) => - request.url().includes(GRID_API_URL) && - request.url().includes('columnNamePattern='), - { timeout: 15000 } - ); - - await searchInput.fill('address'); - const apiRequest = await apiCallPromise; - - expect(apiRequest.url()).toContain('columnNamePattern=address'); - }); - }); - - test('should not reset stats to zero while search request is loading', async ({ - page, - }) => { - const totalUniqueLocator = page.getByTestId('total-unique-columns-value'); - const totalOccurrencesLocator = page.getByTestId('total-occurrences-value'); - - const initialUnique = - (await totalUniqueLocator.textContent())?.trim() ?? ''; - const initialOccurrences = - (await totalOccurrencesLocator.textContent())?.trim() ?? ''; - - let releaseDelayedResponse: (() => void) | undefined; - const delayedResponse = new Promise((resolve) => { - releaseDelayedResponse = resolve; - }); - - await page.route(`**${GRID_API_URL}**`, async (route) => { - const requestUrl = route.request().url(); - if (requestUrl.includes('columnNamePattern=')) { - await delayedResponse; - } - await route.continue(); - }); - - const searchInput = page.getByPlaceholder('Search columns'); - await searchInput.clear(); - await searchInput.fill(`address_${uuid().slice(0, 8)}`); - - await page.waitForRequest( - (request) => - request.url().includes(GRID_API_URL) && - request.url().includes('columnNamePattern='), - { timeout: 15000 } - ); - - await expect(totalUniqueLocator).toHaveText(initialUnique); - await expect(totalOccurrencesLocator).toHaveText(initialOccurrences); - - releaseDelayedResponse?.(); - await waitForAllLoadersToDisappear(page); - await page.unroute(`**${GRID_API_URL}**`); - }); - - test('should clear individual filter and update URL', async ({ page }) => { - await test.step('Navigate with metadataStatus filter in URL', async () => { - // Use waitForRequest (not waitForResponse) so we don't depend on response - // status code — the UI filter chip is driven by URL params, not response data. - const dataReq = waitForGridRequest(page); - await page.goto(`${COLUMN_BULK_OPERATIONS_URL}?metadataStatus=MISSING`); - await dataReq; - await waitForAllLoadersToDisappear(page); - }); - - await test.step('Verify filter chip is present', async () => { - const metadataStatusChip = page.getByTestId('filter-chip-metadataStatus'); - - await expect(metadataStatusChip).toBeVisible(); - await expect(metadataStatusChip).toContainText(/Missing|MISSING/); - }); - - await test.step('Deselect the MISSING filter', async () => { - await page.getByTestId(METADATA_STATUS_FILTER_TESTID).click(); - await page.getByTestId('MISSING').click(); - // Register before button click so listener is active when the request fires. - const gridReq = waitForGridRequest(page); - await page.getByTestId('update-btn').click(); - await gridReq; - await waitForAllLoadersToDisappear(page); - }); - - await test.step('Verify filter chip removed and URL updated', async () => { - await expect( - page.getByTestId('filter-chip-metadataStatus') - ).not.toBeVisible(); - expect(page.url()).not.toContain('metadataStatus=MISSING'); - }); - }); - - test('should keep latest search results when responses arrive out of order', async ({ - page, - }) => { - const staleQuery = `stale_${uuid().slice(0, 8)}`; - const freshQuery = `fresh_${uuid().slice(0, 8)}`; - const staleColumn = `stale_col_${uuid().slice(0, 8)}`; - const freshColumn = `fresh_col_${uuid().slice(0, 8)}`; - - let releaseStaleResponse: (() => void) | undefined; - const staleResponseGate = new Promise((resolve) => { - releaseStaleResponse = resolve; - }); - - await page.route(`**${GRID_API_URL}**`, async (route) => { - const url = route.request().url(); - if (url.includes(`columnNamePattern=${encodeURIComponent(staleQuery)}`)) { - await staleResponseGate; - await route.fulfill({ - status: 200, - contentType: 'application/json', - body: JSON.stringify(buildMockColumnGridResponse(staleColumn)), - }); - - return; - } - if (url.includes(`columnNamePattern=${encodeURIComponent(freshQuery)}`)) { - await route.fulfill({ - status: 200, - contentType: 'application/json', - body: JSON.stringify(buildMockColumnGridResponse(freshColumn)), - }); - - return; - } - - await route.continue(); - }); - - const searchInput = page.getByPlaceholder('Search columns'); - - await searchInput.clear(); - await searchInput.fill(staleQuery); - await page.waitForRequest( - (request) => - request.url().includes(GRID_API_URL) && - request - .url() - .includes(`columnNamePattern=${encodeURIComponent(staleQuery)}`), - { timeout: 15000 } - ); - - await searchInput.clear(); - await searchInput.fill(freshQuery); - await page.waitForRequest( - (request) => - request.url().includes(GRID_API_URL) && - request - .url() - .includes(`columnNamePattern=${encodeURIComponent(freshQuery)}`), - { timeout: 15000 } - ); - - releaseStaleResponse?.(); - - await waitForAllLoadersToDisappear(page); - - await expect( - page.getByTestId('column-name-cell').filter({ hasText: freshColumn }) - ).toBeVisible(); - await expect( - page.getByTestId('column-name-cell').filter({ hasText: staleColumn }) - ).toHaveCount(0); - - await page.unroute(`**${GRID_API_URL}**`); - }); - - test('should show Service filter chip from URL', async ({ page }) => { - await test.step('Navigate with service filter in URL', async () => { - const dataReq = waitForGridRequest(page); - await page.goto( - `${COLUMN_BULK_OPERATIONS_URL}?service.displayName.keyword=${encodeURIComponent( - 'sample_data' - )}` - ); - await dataReq; - await waitForAllLoadersToDisappear(page); - }); - - await test.step('Verify service chip is visible', async () => { - const serviceChip = page.getByTestId( - 'filter-chip-service.displayName.keyword' - ); - - await expect(serviceChip).toBeVisible(); - await expect(serviceChip).toContainText('Service'); - await expect(serviceChip).toContainText('sample_data'); - }); - }); }); test.describe('Column Bulk Operations - Selection & Edit Drawer', () => { @@ -523,309 +166,6 @@ test.describe('Column Bulk Operations - Selection & Edit Drawer', () => { await visitColumnBulkOperationsPage(page); }); - test('should show disabled edit button when no columns are selected', async ({ - page, - }) => { - await expect(page.getByTestId('edit-button-disabled')).toBeVisible(); - }); - - test('should update pending changes counter when editing selected columns', async ({ - page, - }) => { - await test.step('Search and select a shared column', async () => { - await searchColumn(page, sharedColumnName); - const checkbox = getColumnRowCheckbox(page, sharedColumnName); - await expect(checkbox).toBeVisible(); - await checkbox.click(); - }); - - await test.step('Open drawer and edit display name', async () => { - const editButton = page.getByTestId('edit-button'); - await expect(editButton).toBeEnabled(); - await editButton.click(); - - const drawer = page.getByTestId('column-bulk-operations-form-drawer'); - await expect(drawer).toBeVisible(); - - const displayNameInput = drawer - .getByTestId('display-name-input') - .locator('input'); - await displayNameInput.fill(`PendingCounter_${uuid()}`); - await displayNameInput.blur(); - }); - - await test.step('Verify pending changes value shows edited/selected count', async () => { - const value = await getPendingChangesValue(page); - expect(value).toMatch(/^\d+\/\d+$/); - const [edited, selected] = value.split('/').map(Number); - expect(edited).toBeGreaterThan(0); - expect(selected).toBeGreaterThan(0); - }); - }); - - test('should not count aggregate parent row in drawer selected count', async ({ - page, - }) => { - let expectedOccurrences = 0; - - await test.step('Search and select shared grouped column', async () => { - const searchInput = page.getByPlaceholder('Search columns'); - await searchInput.clear(); - await searchInput.fill(sharedColumnName); - await waitForAllLoadersToDisappear(page); - - const groupRow = page - .locator(`[data-row-id="${sharedColumnName}"]`) - .first(); - await expect(groupRow).toBeVisible(); - - const columnNameCellText = - (await groupRow.getByTestId('column-name-cell').textContent()) ?? ''; - const match = columnNameCellText.match(/\((\d+)\)/); - - expect(match).not.toBeNull(); - expectedOccurrences = Number(match?.[1] ?? '0'); - expect(expectedOccurrences).toBeGreaterThan(1); - - const checkbox = groupRow.locator('[slot="selection"]'); - await expect(checkbox).toBeVisible(); - await checkbox.click(); - }); - - await test.step('Open drawer and verify selected count matches occurrences', async () => { - const editButton = page.getByTestId('edit-button'); - await expect(editButton).toBeEnabled(); - await editButton.click(); - - const drawer = page.getByTestId('column-bulk-operations-form-drawer'); - await expect(drawer).toBeVisible(); - - await expect(drawer.getByTestId('form-heading')).toContainText( - String(expectedOccurrences).padStart(2, '0') - ); - await expect( - drawer.getByTestId('column-name-input').locator('input') - ).toHaveValue( - new RegExp(`${expectedOccurrences}\\s+columns selected`, 'i') - ); - }); - }); - - test('should show pending progress spinner after submitting bulk update', async ({ - page, - }) => { - await page.route(`**${BULK_UPDATE_API_URL}`, async (route) => { - await new Promise((resolve) => setTimeout(resolve, 400)); - await route.fulfill({ - status: 200, - contentType: 'application/json', - body: JSON.stringify({ - jobId: `pw-job-${uuid()}`, - message: 'Bulk column update is in progress.', - }), - }); - }); - - await test.step('Search, select, and open edit drawer', async () => { - await searchColumn(page, sharedColumnName); - const checkbox = getColumnRowCheckbox(page, sharedColumnName); - await expect(checkbox).toBeVisible(); - await checkbox.click(); - - const editButton = page.getByTestId('edit-button'); - await expect(editButton).toBeEnabled(); - await editButton.click(); - }); - - await test.step('Submit update request', async () => { - const drawer = page.getByTestId('column-bulk-operations-form-drawer'); - await expect(drawer).toBeVisible(); - - const displayNameInput = drawer - .getByTestId('display-name-input') - .locator('input'); - await displayNameInput.fill(`PendingProgress_${uuid()}`); - - const updateButton = drawer.getByRole('button', { name: 'Update' }); - await expect(updateButton).toBeEnabled(); - await updateButton.click(); - }); - - await test.step('Verify pending progress indicator and counter are visible', async () => { - await expect( - page.getByTestId('column-bulk-operations-form-drawer') - ).not.toBeVisible({ timeout: 10000 }); - - const loaders = page.getByTestId('loader'); - await expect(loaders.first()).toBeVisible(); - - const value = await getPendingChangesValue(page); - expect(value).toMatch(/^\d+\/\d+$/); - }); - }); - - test('should select column, open drawer, and verify form fields', async ({ - page, - }) => { - await test.step('Search for shared column', async () => { - await searchColumn(page, sharedColumnName); - }); - - await test.step('Select the column checkbox', async () => { - const checkbox = getColumnRowCheckbox(page, sharedColumnName); - await expect(checkbox).toBeVisible(); - await checkbox.click(); - }); - - await test.step('Verify edit button is enabled and click it', async () => { - const editButton = page.getByTestId('edit-button'); - await expect(editButton).toBeVisible(); - await expect(editButton).toBeEnabled(); - await editButton.click(); - }); - - await test.step('Verify drawer opens with all form fields', async () => { - const drawer = page.getByTestId('column-bulk-operations-form-drawer'); - await expect(drawer).toBeVisible(); - - await expect(drawer.getByTestId('form-heading')).toContainText(/Edit/); - await expect(drawer.getByTestId('display-name-input')).toBeVisible(); - await expect(drawer.getByTestId('description-field')).toBeVisible(); - await expect(drawer.getByTestId('tags-field')).toBeVisible(); - await expect(drawer.getByTestId('glossary-terms-field')).toBeVisible(); - }); - - await test.step('Close drawer with Escape', async () => { - await page.keyboard.press('Escape'); - await expect( - page.getByTestId('column-bulk-operations-form-drawer') - ).not.toBeVisible(); - }); - }); - - test('should show column count for multiple column selection', async ({ - page, - }) => { - await test.step('Select two columns via header checkbox then individual', async () => { - const headerSelection = page.locator('thead [slot="selection"]'); - await expect(headerSelection).toBeVisible(); - await headerSelection.click(); - }); - - await test.step('Open drawer and verify multi-select title', async () => { - const editButton = page.getByTestId('edit-button'); - await expect(editButton).toBeEnabled(); - await editButton.click(); - - const drawer = page.getByTestId('column-bulk-operations-form-drawer'); - await expect(drawer).toBeVisible(); - - const columnNameInput = drawer.getByTestId('column-name-input'); - await expect(columnNameInput).toBeVisible(); - - const inputEl = columnNameInput.locator('input'); - const value = await inputEl.inputValue(); - - expect(value).toContain('columns selected'); - }); - - await test.step('Close drawer', async () => { - await page.keyboard.press('Escape'); - }); - }); - - test('should cancel selection and disable edit button', async ({ page }) => { - await test.step('Search and select a column', async () => { - await searchColumn(page, sharedColumnName); - const checkbox = getColumnRowCheckbox(page, sharedColumnName); - await expect(checkbox).toBeVisible(); - await checkbox.click(); - }); - - await test.step('Cancel selection', async () => { - const cancelButton = page.getByTestId('cancel-selection-button'); - await expect(cancelButton).toBeVisible(); - await cancelButton.click(); - await waitForAllLoadersToDisappear(page); - }); - - await test.step('Verify edit button is disabled again', async () => { - await expect(page.getByTestId('edit-button-disabled')).toBeVisible(); - }); - }); - - test('should discard changes when closing drawer without saving', async ({ - page, - }) => { - await test.step('Search and select a column', async () => { - await searchColumn(page, sharedColumnName); - const checkbox = getColumnRowCheckbox(page, sharedColumnName); - await expect(checkbox).toBeVisible(); - await checkbox.click(); - }); - - await test.step('Open drawer and enter a display name', async () => { - const editButton = page.getByTestId('edit-button'); - await expect(editButton).toBeEnabled(); - await editButton.click(); - - const drawer = page.getByTestId('column-bulk-operations-form-drawer'); - await expect(drawer).toBeVisible(); - - const displayNameInput = drawer - .getByTestId('display-name-input') - .locator('input'); - await displayNameInput.fill('Temporary Display Name'); - await expect(displayNameInput).toHaveValue('Temporary Display Name'); - }); - - await test.step('Close drawer without saving', async () => { - await page.getByTestId('cancel-btn').click(); - await expect( - page.getByTestId('column-bulk-operations-form-drawer') - ).not.toBeVisible(); - }); - - await test.step('Reopen drawer and verify changes were discarded', async () => { - const editButton = page.getByTestId('edit-button'); - await expect(editButton).toBeEnabled(); - await editButton.click(); - - const drawer = page.getByTestId('column-bulk-operations-form-drawer'); - await expect(drawer).toBeVisible(); - - const displayNameInput = drawer - .getByTestId('display-name-input') - .locator('input'); - await expect(displayNameInput).toBeVisible(); - - await expect(displayNameInput).not.toHaveValue('Temporary Display Name'); - }); - - await test.step('Close drawer', async () => { - await page.keyboard.press('Escape'); - }); - }); - - test('should open edit drawer when clicking on aggregate row', async ({ - page, - }) => { - await test.step('Click on a column name cell to open drawer', async () => { - const firstNameCell = page.getByTestId('column-name-cell').first(); - await expect(firstNameCell).toBeVisible(); - await firstNameCell.click(); - }); - - await test.step('Verify drawer opens', async () => { - const drawer = page.getByTestId('column-bulk-operations-form-drawer'); - await expect(drawer).toBeVisible(); - }); - - await test.step('Close drawer', async () => { - await page.keyboard.press('Escape'); - }); - }); - test('should accept text with spaces in the description field', async ({ page, }) => { @@ -896,88 +236,10 @@ test.describe('Column Bulk Operations - Bulk Update Flow', () => { await afterAction(); }); - test('should update display name and propagate to all occurrences', async ({ - page, - }) => { - await visitColumnBulkOperationsPage(page); - - await test.step('Search for shared column', async () => { - await searchColumn(page, sharedColumnName); - }); - - await test.step('Select the column', async () => { - const checkbox = getColumnRowCheckbox(page, sharedColumnName); - await expect(checkbox).toBeVisible(); - await checkbox.click(); - }); - - const displayName = `SharedDisplayName_${uuid()}`; - - await test.step('Open drawer and fill display name', async () => { - const editButton = page.getByTestId('edit-button'); - await expect(editButton).toBeEnabled(); - await editButton.click(); - - const drawer = page.getByTestId('column-bulk-operations-form-drawer'); - await expect(drawer).toBeVisible(); - - const displayNameInput = drawer - .getByTestId('display-name-input') - .locator('input'); - await displayNameInput.fill(displayName); - }); - - await test.step('Submit update and verify API request', async () => { - interface BulkUpdateRequestBody { - columnUpdates?: Array<{ - columnFQN?: string; - displayName?: string; - }>; - } - - let requestBody: BulkUpdateRequestBody | null = null; - - const requestPromise = page.waitForRequest((request) => { - if (request.url().includes(BULK_UPDATE_API_URL)) { - try { - requestBody = - request.postDataJSON() as unknown as BulkUpdateRequestBody; - } catch { - // Ignore JSON parse errors - } - - return true; - } - - return false; - }); - - const drawer = page.getByTestId('column-bulk-operations-form-drawer'); - const updateButton = drawer.getByRole('button', { name: 'Update' }); - await expect(updateButton).toBeEnabled(); - await updateButton.click(); - - await requestPromise; - - expect(requestBody).not.toBeNull(); - const body = requestBody as unknown as BulkUpdateRequestBody; - expect(body.columnUpdates).toBeDefined(); - - const updates = body.columnUpdates ?? []; - expect(updates.length).toBeGreaterThanOrEqual(2); - - for (const update of updates) { - expect(update.displayName).toBe(displayName); - expect(update.columnFQN?.toLowerCase()).toContain( - sharedColumnName.toLowerCase() - ); - } - }); - }); - test('should show success notification after bulk update', async ({ page, }) => { + const displayName = `BulkTest_${uuid()}`; await visitColumnBulkOperationsPage(page); await test.step('Search and select column', async () => { @@ -999,7 +261,7 @@ test.describe('Column Bulk Operations - Bulk Update Flow', () => { const displayNameInput = drawer .getByTestId('display-name-input') .locator('input'); - await displayNameInput.fill(`BulkTest_${uuid()}`); + await displayNameInput.fill(displayName); const updateButton = drawer.getByRole('button', { name: 'Update' }); await expect(updateButton).toBeEnabled(); @@ -1011,120 +273,36 @@ test.describe('Column Bulk Operations - Bulk Update Flow', () => { page.getByText(/bulk update (initiated|completed)/i) ).toBeVisible({ timeout: 10000 }); }); - }); -}); - -test.describe('Column Bulk Operations - Nested STRUCT Columns', () => { - test.setTimeout(120000); - - const table = new TableClass(); - let structColumnName: string; - - test.beforeAll('Setup table with STRUCT columns', async ({ browser }) => { - const { apiContext, afterAction } = await createNewPage(browser); - await table.create(apiContext); - structColumnName = table.columnsName[2]; - - await waitForColumnInGridIndex(apiContext, structColumnName); - await afterAction(); - }); - - test.afterAll('Cleanup STRUCT test data', async ({ browser }) => { - const { apiContext, afterAction } = await createNewPage(browser); - await table.delete(apiContext); - await afterAction(); - }); - - test('should expand STRUCT column to show nested fields', async ({ - page, - }) => { - await visitColumnBulkOperationsPage(page); - - await test.step('Search for STRUCT column', async () => { - await searchColumn(page, structColumnName); - }); - - await test.step('Verify STRUCT row is visible', async () => { - const structRow = page.getByTestId(`column-row-${structColumnName}`); - await expect(structRow).toBeVisible(); - }); - - await test.step('Expand the STRUCT row', async () => { - const structRow = page.getByTestId(`column-row-${structColumnName}`); - const expandButton = structRow.getByRole('button').first(); - - // STRUCT rows should have expand button - if ((await expandButton.count()) > 0) { - const initialRowCount = await page.locator('tbody tr').count(); - await expandButton.click(); + await test.step('Verify both column occurrences were updated in the server index', async () => { + const { apiContext, afterAction } = await getApiContext(page); + try { await expect - .poll(() => page.locator('tbody tr').count(), { - timeout: 10000, - }) - .toBeGreaterThan(initialRowCount); - } - }); - }); - - test('should select and edit nested STRUCT field', async ({ page }) => { - await visitColumnBulkOperationsPage(page); - - await test.step('Search for STRUCT column', async () => { - await searchColumn(page, structColumnName); - }); - - await test.step('Expand STRUCT row', async () => { - const structRow = page.getByTestId(`column-row-${structColumnName}`); - const expandButton = structRow.getByRole('button').first(); - - if ((await expandButton.count()) > 0) { - await expandButton.click(); - } - }); - - await test.step('Select a nested child column', async () => { - const childColumnName = table.columnsName[3]; - const childRowId = `${structColumnName}-struct-${childColumnName}`; - const childCheckbox = getColumnRowCheckbox(page, childRowId); - - if ((await childCheckbox.count()) > 0) { - await childCheckbox.click(); - - const editButton = page.getByTestId('edit-button'); - await expect(editButton).toBeEnabled(); - await editButton.click(); - - const drawer = page.getByTestId('column-bulk-operations-form-drawer'); - await expect(drawer).toBeVisible(); - await expect(drawer.getByTestId('display-name-input')).toBeVisible(); - - await page.keyboard.press('Escape'); - } - }); - }); -}); - -test.describe('Column Bulk Operations - Pagination', () => { - test('should navigate through pages', async ({ page }) => { - await visitColumnBulkOperationsPage(page); - - const nextButton = page.getByRole('button', { name: 'Next' }); - - await test.step('Click Next and verify Previous becomes enabled', async () => { - const isNextEnabled = await nextButton.isEnabled(); - - if (isNextEnabled) { - const dataReq = waitForGridRequest(page); - await nextButton.click(); - await dataReq; - await waitForAllLoadersToDisappear(page); - - const prevButton = page.getByRole('button', { name: 'Previous' }); - await expect(prevButton).toBeEnabled(); - - await prevButton.click(); - await waitForAllLoadersToDisappear(page); + .poll( + async () => { + const response = await apiContext.get( + `${GRID_API_URL}?size=1000&columnNamePattern=${encodeURIComponent( + sharedColumnName + )}` + ); + expect(response.ok()).toBe(true); + const result: ColumnGridResponse = await response.json(); + const column = result.columns.find( + ({ columnName }) => columnName === sharedColumnName + ); + + return ( + column?.groups + .filter((group) => group.displayName === displayName) + .reduce((count, group) => count + group.occurrenceCount, 0) ?? + 0 + ); + }, + { timeout: 30000 } + ) + .toBe(2); + } finally { + await afterAction(); } }); }); diff --git a/openmetadata-ui/src/main/resources/ui/playwright/eslint-rules/tests/corpus.test.mjs b/openmetadata-ui/src/main/resources/ui/playwright/eslint-rules/tests/corpus.test.mjs index 05f59f45adce..b597f1e3d1f0 100644 --- a/openmetadata-ui/src/main/resources/ui/playwright/eslint-rules/tests/corpus.test.mjs +++ b/openmetadata-ui/src/main/resources/ui/playwright/eslint-rules/tests/corpus.test.mjs @@ -41,7 +41,7 @@ test('the suppressions baseline matches its recorded state exactly', () => { // of the same rule in the same file stays invisible here. const EXPECTED = { 'om-playwright/justified-rule-disable': 12, - 'om-playwright/no-positional-locator': 1304, + 'om-playwright/no-positional-locator': 1299, 'om-playwright/require-assertion-per-test': 1, 'playwright/no-skipped-test': 4, 'playwright/no-wait-for-selector': 35, diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx new file mode 100644 index 000000000000..4a4a59062a5b --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.integration.test.tsx @@ -0,0 +1,674 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ToastProvider, toastQueue } from '@openmetadata/ui-core-components'; +import { act, cleanup, screen, waitFor, within } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import { BrowserRouter } from 'react-router-dom'; +import { + ColumnGridResponse, + MetadataStatus, +} from '../../../generated/api/data/columnGridResponse'; +import { + createHttpTestServer, + deferredResponse, +} from '../../../test/unit/HttpTestServer.utils'; +import { renderWithQueryClient } from '../../../test/unit/test-utils'; +import ColumnGrid from './ColumnGrid.component'; + +jest.unmock('../../../utils/ToastUtils'); + +const gridResponse = ( + name = 'customer_id', + occurrenceCount = 1 +): ColumnGridResponse => ({ + columns: [ + { + columnName: name, + hasVariations: false, + metadataStatus: MetadataStatus.Missing, + totalOccurrences: occurrenceCount, + groups: [ + { + groupId: `${name}-group`, + occurrenceCount, + metadataStatus: MetadataStatus.Missing, + dataType: 'VARCHAR', + tags: [], + occurrences: Array.from({ length: occurrenceCount }, (_, index) => ({ + columnFQN: `service.db.schema.customers_${index}.${name}`, + entityFQN: `service.db.schema.customers_${index}`, + entityType: 'table', + serviceName: 'service', + databaseName: 'db', + schemaName: 'schema', + })), + }, + ], + }, + ], + totalUniqueColumns: 1, + totalOccurrences: occurrenceCount, +}); + +describe('Column grid with real controls, routing and HTTP requests', () => { + let server: ReturnType; + let user: ReturnType; + + beforeEach(() => { + window.history.replaceState({}, '', '/column-bulk-operations'); + server = createHttpTestServer(); + user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime }); + server.on('GET', '/api/v1/columns/grid', () => ({ data: gridResponse() })); + server.on('GET', '/api/v1/search/query', () => ({ + data: { hits: { hits: [], total: { value: 0 } } }, + })); + server.on('GET', '/api/v1/glossaries', () => ({ + data: { data: [], paging: { total: 0 } }, + })); + }); + + afterEach(async () => { + cleanup(); + toastQueue.clear(); + await act(async () => jest.runOnlyPendingTimers()); + server.restore(); + }); + + const renderGrid = async (query = '') => { + window.history.replaceState({}, '', `/column-bulk-operations${query}`); + await act(async () => { + renderWithQueryClient( + + + + + ); + }); + }; + + const searchFor = async (query: string) => { + const search = screen.getByPlaceholderText('label.search-columns'); + await user.clear(search); + await user.type(search, query); + await act(async () => jest.advanceTimersByTime(300)); + }; + + const lastGridRequest = () => + server.requests + .filter(({ url }) => url.pathname === '/api/v1/columns/grid') + .slice(-1)[0]; + + const selectColumn = async (name = 'customer_id') => { + const row = screen.getByRole('row', { name: new RegExp(name) }); + await user.click(within(row).getByRole('checkbox')); + }; + + const openEditor = async () => { + await selectColumn(); + await user.click(screen.getByTestId('edit-button')); + + return screen.findByTestId('column-bulk-operations-form-drawer'); + }; + + it('renders supplied columns and exact stats, with editing disabled until selection', async () => { + await renderGrid(); + await waitFor(() => expect(server.requests).toHaveLength(1)); + + expect(await screen.findByText('customer_id')).toBeVisible(); + expect(screen.getByTestId('total-unique-columns-value')).toHaveTextContent( + '1' + ); + expect(screen.getByTestId('total-occurrences-value')).toHaveTextContent( + '1' + ); + expect(screen.getByTestId('pending-changes-value')).toHaveTextContent('0'); + expect(screen.getByTestId('edit-button-disabled')).toBeDisabled(); + }); + + it('renders an empty result after searching and sends the typed query to the server', async () => { + server.on('GET', '/api/v1/columns/grid', ({ url }) => ({ + data: url.searchParams.has('columnNamePattern') + ? { columns: [], totalUniqueColumns: 0, totalOccurrences: 0 } + : gridResponse(), + })); + await renderGrid(); + await screen.findByText('customer_id'); + await user.type( + screen.getByPlaceholderText('label.search-columns'), + 'nonexistent' + ); + + expect( + await screen.findByText('label.no-matching-result-plural') + ).toBeVisible(); + expect(screen.queryByText('customer_id')).not.toBeInTheDocument(); + expect(lastGridRequest().url.searchParams.get('columnNamePattern')).toBe( + 'nonexistent' + ); + expect(new URLSearchParams(window.location.search).get('q')).toBe( + 'nonexistent' + ); + }); + + it.each([ + ['metadataStatus', 'INCONSISTENT', 'metadataStatus'], + ['service.displayName.keyword', 'warehouse', 'serviceName'], + ])( + 'restores the %s URL filter in the chip and HTTP request', + async (field, value, apiField) => { + await renderGrid(`?${field}=${value}`); + + expect( + await screen.findByTestId(`filter-chip-${field}`) + ).toHaveTextContent(value); + expect(lastGridRequest().url.searchParams.get(apiField)).toBe(value); + expect(screen.getByText('customer_id')).toBeVisible(); + } + ); + + it('applies and clears a metadata filter through the real dropdown, URL and request', async () => { + await renderGrid(); + await user.click( + screen.getByRole('button', { name: 'label.metadata-status' }) + ); + await user.click(screen.getByTestId('MISSING')); + await user.click(screen.getByTestId('update-btn')); + + expect( + await screen.findByTestId('filter-chip-metadataStatus') + ).toHaveTextContent('MISSING'); + expect(lastGridRequest().url.searchParams.get('metadataStatus')).toBe( + 'MISSING' + ); + expect( + new URLSearchParams(window.location.search).get('metadataStatus') + ).toBe('MISSING'); + + await user.click( + screen.getByRole('button', { name: /label.metadata-status/ }) + ); + await user.click(screen.getByTestId('MISSING')); + await user.click(screen.getByTestId('update-btn')); + await waitFor(() => + expect( + screen.queryByTestId('filter-chip-metadataStatus') + ).not.toBeInTheDocument() + ); + + expect(lastGridRequest().url.searchParams.has('metadataStatus')).toBe( + false + ); + expect( + new URLSearchParams(window.location.search).has('metadataStatus') + ).toBe(false); + }); + + it('serializes the selected asset type and renders the filtered response', async () => { + server.on('GET', '/api/v1/columns/grid', ({ url }) => ({ + data: gridResponse( + url.searchParams.has('entityTypes') ? 'table_column' : 'customer_id' + ), + })); + await renderGrid(); + await user.click(screen.getByRole('button', { name: 'label.asset-type' })); + await user.click(screen.getByRole('checkbox', { name: 'Table' })); + await user.click(screen.getByTestId('update-btn')); + + expect(await screen.findByText('table_column')).toBeVisible(); + expect(lastGridRequest().url.searchParams.get('entityTypes')).toBe('table'); + expect(screen.queryByText('customer_id')).not.toBeInTheDocument(); + }); + + it('keeps previous totals while a search is pending, then renders the new totals', async () => { + const pending = deferredResponse<{ data: ColumnGridResponse }>(); + server.on('GET', '/api/v1/columns/grid', ({ url }) => + url.searchParams.has('columnNamePattern') + ? pending.promise + : { data: gridResponse() } + ); + await renderGrid(); + await searchFor('account'); + + expect(lastGridRequest().url.searchParams.get('columnNamePattern')).toBe( + 'account' + ); + expect(screen.getByTestId('total-unique-columns-value')).toHaveTextContent( + '1' + ); + expect(screen.getByTestId('total-occurrences-value')).toHaveTextContent( + '1' + ); + + await act(async () => + pending.resolve({ + data: { + ...gridResponse('account_id'), + totalUniqueColumns: 7, + totalOccurrences: 21, + }, + }) + ); + + expect(await screen.findByText('account_id')).toBeVisible(); + expect(screen.getByTestId('total-unique-columns-value')).toHaveTextContent( + '7' + ); + expect(screen.getByTestId('total-occurrences-value')).toHaveTextContent( + '21' + ); + }); + + it('keeps the latest results and totals when an older search resolves last', async () => { + const stale = deferredResponse<{ data: ColumnGridResponse }>(); + server.on('GET', '/api/v1/columns/grid', ({ url }) => { + const query = url.searchParams.get('columnNamePattern'); + + return query === 'stale' + ? stale.promise + : { + data: gridResponse( + query === 'fresh' ? 'fresh_column' : 'customer_id' + ), + }; + }); + await renderGrid(); + await searchFor('stale'); + + expect(lastGridRequest().url.searchParams.get('columnNamePattern')).toBe( + 'stale' + ); + + await searchFor('fresh'); + + expect(await screen.findByText('fresh_column')).toBeVisible(); + + await act(async () => + stale.resolve({ + data: { + ...gridResponse('stale_column'), + totalUniqueColumns: 99, + totalOccurrences: 99, + }, + }) + ); + + expect(screen.queryByText('stale_column')).not.toBeInTheDocument(); + expect(screen.getByText('fresh_column')).toBeVisible(); + expect(screen.getByTestId('total-unique-columns-value')).toHaveTextContent( + /^1$/ + ); + expect(new URLSearchParams(window.location.search).get('q')).toBe('fresh'); + }); + + it('cancels selection and disables editing without sending a mutation', async () => { + await renderGrid(); + await selectColumn(); + + expect(screen.getByTestId('edit-button')).toBeEnabled(); + + await user.click(screen.getByTestId('cancel-selection-button')); + + expect(screen.getByTestId('edit-button-disabled')).toBeDisabled(); + expect(screen.queryAllByRole('checkbox', { checked: true })).toHaveLength( + 0 + ); + expect(server.requests.filter(({ method }) => method !== 'GET')).toEqual( + [] + ); + }); + + it('opens the real edit form with column identity, display name, description and tag controls', async () => { + await renderGrid(); + const drawer = await openEditor(); + + expect( + within(drawer).getByTestId('column-name-input').querySelector('input') + ).toHaveValue('customer_id'); + expect( + within(drawer).getByTestId('display-name-input').querySelector('input') + ).toHaveValue(''); + expect(within(drawer).getByTestId('description-field')).toBeVisible(); + expect(within(drawer).getByTestId('tags-field')).toBeVisible(); + expect(within(drawer).getByTestId('glossary-terms-field')).toBeVisible(); + }); + + it('counts selected occurrences without counting the aggregate parent, and tracks pending edits', async () => { + server.on('GET', '/api/v1/columns/grid', () => ({ + data: gridResponse('customer_id', 2), + })); + await renderGrid(); + const drawer = await openEditor(); + + expect(within(drawer).getByTestId('form-heading')).toHaveTextContent('02'); + expect( + within(within(drawer).getByTestId('column-name-input')).getByRole( + 'textbox' + ) + ).toHaveValue('2 label.column-lowercase-plural label.selected-lowercase'); + + await user.type( + within(within(drawer).getByTestId('display-name-input')).getByRole( + 'textbox' + ), + 'Customer' + ); + await user.tab(); + + expect(screen.getByTestId('pending-changes-value')).toHaveTextContent( + '2/2' + ); + }); + + it('shows the number of independently selected columns in the drawer', async () => { + server.on('GET', '/api/v1/columns/grid', () => ({ + data: { + columns: [ + ...gridResponse().columns, + ...gridResponse('account_id').columns, + ], + totalUniqueColumns: 2, + totalOccurrences: 2, + }, + })); + await renderGrid(); + await selectColumn(); + await selectColumn('account_id'); + await user.click(screen.getByTestId('edit-button')); + const drawer = await screen.findByTestId( + 'column-bulk-operations-form-drawer' + ); + + expect(within(drawer).getByTestId('form-heading')).toHaveTextContent('02'); + expect( + within(within(drawer).getByTestId('column-name-input')).getByRole( + 'textbox' + ) + ).toHaveValue('2 label.column-lowercase-plural label.selected-lowercase'); + }); + + it('discards unsaved edits on cancel and reopens with the original value', async () => { + await renderGrid(); + const drawer = await openEditor(); + await user.type( + within(within(drawer).getByTestId('display-name-input')).getByRole( + 'textbox' + ), + 'Temporary display name' + ); + await user.tab(); + + expect(screen.getByTestId('pending-changes-value')).toHaveTextContent( + '1/1' + ); + + await user.click(within(drawer).getByTestId('cancel-btn')); + await waitFor(() => + expect( + screen.queryByTestId('column-bulk-operations-form-drawer') + ).not.toBeInTheDocument() + ); + + expect(screen.getByTestId('pending-changes-value')).toHaveTextContent( + /^0$/ + ); + + await user.click(screen.getByTestId('edit-button')); + const reopened = await screen.findByTestId( + 'column-bulk-operations-form-drawer' + ); + + expect( + within(within(reopened).getByTestId('display-name-input')).getByRole( + 'textbox' + ) + ).toHaveValue(''); + expect(server.requests.filter(({ method }) => method === 'POST')).toEqual( + [] + ); + }); + + it('opens the drawer by clicking the aggregate column name', async () => { + server.on('GET', '/api/v1/columns/grid', () => ({ + data: gridResponse('customer_id', 2), + })); + await renderGrid(); + await user.click(screen.getByRole('button', { name: 'customer_id (2)' })); + + expect( + await screen.findByTestId('column-bulk-operations-form-drawer') + ).toBeVisible(); + expect(screen.getByTestId('form-heading')).toHaveTextContent('02'); + }); + + it('submits exactly one update per selected occurrence and tracks the pending job', async () => { + const submission = deferredResponse<{ + data: { jobId: string; message: string }; + }>(); + server.on('GET', '/api/v1/columns/grid', () => ({ + data: gridResponse('customer_id', 2), + })); + server.on( + 'POST', + '/api/v1/columns/bulk-update-async', + () => submission.promise + ); + await renderGrid(); + const drawer = await openEditor(); + await user.type( + within(within(drawer).getByTestId('display-name-input')).getByRole( + 'textbox' + ), + 'Customer' + ); + await user.click(within(drawer).getByTestId('save-btn')); + await waitFor(() => + expect( + server.requests.filter(({ method }) => method === 'POST') + ).toHaveLength(1) + ); + + expect( + server.requests.find(({ method }) => method === 'POST')?.body + ).toEqual({ + columnUpdates: [ + { + columnFQN: 'service.db.schema.customers_0.customer_id', + entityType: 'table', + displayName: 'Customer', + }, + { + columnFQN: 'service.db.schema.customers_1.customer_id', + entityType: 'table', + displayName: 'Customer', + }, + ], + }); + expect( + within(screen.getByTestId('pending-changes-card')).getByTestId('loader') + ).toBeVisible(); + + await act(async () => + submission.resolve({ data: { jobId: 'bulk-job', message: 'accepted' } }) + ); + await waitFor(() => + expect( + screen.queryByTestId('column-bulk-operations-form-drawer') + ).not.toBeInTheDocument() + ); + + expect( + within(screen.getByTestId('pending-changes-card')).getByTestId('loader') + ).toBeVisible(); + expect(screen.getByTestId('pending-changes-value')).toHaveTextContent( + '0/2' + ); + }); + + it('preserves edits and allows retry when submission fails', async () => { + server.on('POST', '/api/v1/columns/bulk-update-async', () => ({ + status: 500, + data: { message: 'temporary failure' }, + })); + await renderGrid(); + const drawer = await openEditor(); + await user.type( + within(within(drawer).getByTestId('display-name-input')).getByRole( + 'textbox' + ), + 'Customer' + ); + await user.click(within(drawer).getByTestId('save-btn')); + await waitFor(() => + expect(within(drawer).getByTestId('save-btn')).toBeEnabled() + ); + + expect( + within(within(drawer).getByTestId('display-name-input')).getByRole( + 'textbox' + ) + ).toHaveValue('Customer'); + expect( + within(screen.getByTestId('pending-changes-card')).queryByTestId('loader') + ).not.toBeInTheDocument(); + expect( + server.requests.filter(({ method }) => method === 'POST') + ).toHaveLength(1); + expect( + await screen.findByText('server.entity-updating-error') + ).toBeVisible(); + + server.on('POST', '/api/v1/columns/bulk-update-async', () => ({ + data: { jobId: 'retry-job', message: 'accepted' }, + })); + await user.click(within(drawer).getByTestId('save-btn')); + await waitFor(() => + expect( + screen.queryByTestId('column-bulk-operations-form-drawer') + ).not.toBeInTheDocument() + ); + const submissions = server.requests.filter( + ({ method }) => method === 'POST' + ); + + expect(submissions).toHaveLength(2); + expect(submissions[1].body).toEqual(submissions[0].body); + }); + + it('uses the cursor for the next page, preserves global totals, and resets it for a new search', async () => { + server.on('GET', '/api/v1/columns/grid', ({ url }) => ({ + data: url.searchParams.has('cursor') + ? { ...gridResponse('second_page_column'), totalUniqueColumns: 1 } + : { + ...gridResponse( + url.searchParams.has('columnNamePattern') + ? 'search_column' + : 'customer_id' + ), + totalUniqueColumns: 26, + totalOccurrences: 26, + cursor: 'next-cursor', + }, + })); + await renderGrid(); + + expect(screen.getByTestId('previous')).toBeDisabled(); + expect(screen.getByTestId('next')).toBeEnabled(); + + await user.click(screen.getByTestId('next')); + await waitFor(() => + expect(lastGridRequest().url.searchParams.get('cursor')).toBe( + 'next-cursor' + ) + ); + + expect(await screen.findByText('second_page_column')).toBeVisible(); + expect(screen.queryByText('customer_id')).not.toBeInTheDocument(); + expect(lastGridRequest().url.searchParams.get('cursor')).toBe( + 'next-cursor' + ); + expect(screen.getByTestId('total-unique-columns-value')).toHaveTextContent( + '26' + ); + expect(screen.getByTestId('page-indicator')).toHaveTextContent( + 'label.page 2 label.of 2' + ); + + await user.click(screen.getByTestId('previous')); + + expect(await screen.findByText('customer_id')).toBeVisible(); + + await user.click(screen.getByTestId('next')); + + expect(await screen.findByText('second_page_column')).toBeVisible(); + + await searchFor('search'); + + expect(await screen.findByText('search_column')).toBeVisible(); + expect(lastGridRequest().url.searchParams.has('cursor')).toBe(false); + expect(screen.getByTestId('page-indicator')).toHaveTextContent( + 'label.page 1' + ); + }); + + it('expands nested STRUCT rows and opens the edit form for the exact child', async () => { + const response = gridResponse('address'); + response.columns[0].groups[0].dataType = 'STRUCT'; + response.columns[0].groups[0].children = [ + { + name: 'city', + dataType: 'VARCHAR', + fullyQualifiedName: 'service.db.schema.customers_0.address.city', + }, + ]; + server.on('GET', '/api/v1/columns/grid', () => ({ data: response })); + await renderGrid(); + + expect(screen.queryByText('city')).not.toBeInTheDocument(); + + const structRow = screen.getByTestId('column-row-address'); + await user.click(within(structRow).getAllByRole('button')[0]); + + expect(await screen.findByText('city')).toBeVisible(); + + const childRow = screen.getByRole('row', { name: /city/ }); + await user.click(within(childRow).getByRole('checkbox')); + await user.click(screen.getByTestId('edit-button')); + const drawer = await screen.findByTestId( + 'column-bulk-operations-form-drawer' + ); + + expect( + within(within(drawer).getByTestId('column-name-input')).getByRole( + 'textbox' + ) + ).toHaveValue('city'); + expect( + within(within(drawer).getByTestId('display-name-input')).getByRole( + 'textbox' + ) + ).toBeEnabled(); + }); + + it('rejects an unchanged submission without scheduling a bulk job', async () => { + await renderGrid(); + const drawer = await openEditor(); + await user.click(within(drawer).getByTestId('save-btn')); + + expect(await screen.findByText('message.no-changes-to-save')).toBeVisible(); + expect(server.requests.filter(({ method }) => method === 'POST')).toEqual( + [] + ); + expect(drawer).toBeVisible(); + }); +}); diff --git a/openmetadata-ui/src/main/resources/ui/src/test/unit/HttpTestServer.utils.ts b/openmetadata-ui/src/main/resources/ui/src/test/unit/HttpTestServer.utils.ts new file mode 100644 index 000000000000..b1d7c99a7fb9 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/test/unit/HttpTestServer.utils.ts @@ -0,0 +1,112 @@ +/* + * Copyright 2026 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AxiosError, InternalAxiosRequestConfig } from 'axios'; +// eslint-disable-next-line openmetadata-imports/no-internal-barrel-imports -- Client singleton, not a barrel. +import APIClient from '../../rest/index'; + +interface HttpRequest { + method: string; + url: URL; + body: unknown; +} + +interface HttpResponse { + data: unknown; + status?: number; +} + +type HttpHandler = ( + request: HttpRequest +) => HttpResponse | Promise; + +/** Keeps the real REST client and interceptors; replaces only network transport. */ +export function createHttpTestServer() { + const originalAdapter = APIClient.defaults.adapter; + const routes: { method: string; path: string; handler: HttpHandler }[] = []; + const requests: HttpRequest[] = []; + const unhandled: string[] = []; + let requestLimitExceeded = false; + + APIClient.defaults.adapter = async (config: InternalAxiosRequestConfig) => { + const request: HttpRequest = { + method: (config.method ?? 'get').toUpperCase(), + url: new URL(APIClient.getUri(config), 'http://localhost'), + body: + typeof config.data === 'string' && + String(config.headers.getContentType()).includes('application/json') + ? JSON.parse(config.data) + : config.data, + }; + + if (requests.length >= 500) { + requestLimitExceeded = true; + + throw new Error( + 'HTTP test exceeded 500 requests; check for a render loop' + ); + } + requests.push(request); + const route = routes.find( + ({ method, path }) => + method === request.method && path === request.url.pathname + ); + if (!route) { + const message = `Unhandled HTTP request: ${request.method} ${request.url}`; + unhandled.push(message); + + throw new Error(message); + } + const { data, status = 200 } = await route.handler(request); + const response = { + config, + data, + status, + statusText: String(status), + headers: {}, + }; + if (status >= 400) { + throw new AxiosError( + `HTTP ${status}`, + undefined, + config, + undefined, + response + ); + } + + return response; + }; + + return { + requests, + on(method: string, path: string, handler: HttpHandler) { + routes.unshift({ method, path, handler }); + }, + restore() { + APIClient.defaults.adapter = originalAdapter; + + expect(unhandled).toEqual([]); + expect(requestLimitExceeded).toBe(false); + }, + }; +} + +export function deferredResponse() { + let resolve!: (value: T) => void; + const promise = new Promise((complete) => { + resolve = complete; + }); + + return { promise, resolve }; +}