mirror of
https://github.com/open-metadata/OpenMetadata
synced 2026-05-24 09:39:11 +00:00
Folds the UI integration test module into the canonical integration-tests
module under a `ui-it` Maven profile. One test home, one classpath, no
more test-jar reinstall dance or cross-module IntelliJ classpath quirks.
Why: most of the value the UI test module shipped was reusable backend
infra (factories, search helpers, server harness) that worked fine
without a browser. Keeping it in a separate module forced multiple
unnecessary boundaries — test-jar publication, IntelliJ test-classes-
jar-tests phantom paths, src/test placement for AuthBackend code that
should have been in src/main, "where does this test go?" friction.
Layout in integration-tests:
org/openmetadata/it/auth/ JwtAuthProvider + AuthBackend / OidcBackend
/ AuthSession / TokenRefresher / ...
org/openmetadata/it/server/ ContainerizedServer / ServerHandle /
ExternalServer / sso/ profile records
org/openmetadata/it/search/ ReindexHelpers / SearchClient /
SearchAssertions / SearchQueryHelper
org/openmetadata/it/ui/ SessionBrowser / UiSession /
UiSessionExtension / TraceRecorder /
ClipboardHelper / pages/
org/openmetadata/it/scenarios/ *UIIT.java tests
org/openmetadata/it/util/ SdkClients + UiTestServer / OssTestServer
org/openmetadata/it/factories/ existing + EntityLoader
Build:
- integration-tests pom gains com.microsoft.playwright:playwright
(test scope). Other testcontainers / jwt deps already there.
- test-jar publish-test-harness includes pattern expanded to ship
server/, search/, ui/ packages alongside auth/, util/, factories/,
bootstrap/. Downstream consumers (collate) inherit the full UI
test harness, not just backend factories.
- New `ui-it` profile runs `**/*UIIT.java` with skip.embedded.bootstrap
=true, PW_VIDEO=true, per-method parallel @ 0.5 factor. Mirrors the
failsafe execution from the old playwright module.
- Existing parallel-tests executions across all profiles gain a
`**/*UIIT.java` exclude so embedded-mode IT runs don't pick up UI
tests they can't run.
Module removal:
- openmetadata-java-playwright/ deleted.
- parent pom <modules> entry removed.
- .github/workflows/java-playwright-nightly.yml updated to build and
test `openmetadata-integration-tests -P ui-it` instead.
Docs:
- MIGRATION_TRACKING.md and CONVENTIONS.md from the old module are
UI_MIGRATION_TRACKING.md / UI_TEST_CONVENTIONS.md at the
integration-tests root.
No test code semantics changed — pure reorganization. The 4-5 backend-
flavored *UIIT.java tests we identified as misplaced (running against
SDK with vestigial UI checks) still live under scenarios/ for now; a
follow-up will rename them to *IT.java and have them target the
embedded TestSuiteBootstrap directly to drop their ~3-minute Docker boot
overhead.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| actions | ||
| ISSUE_TEMPLATE | ||
| scripts | ||
| trivy/templates | ||
| workflows | ||
| CODEOWNERS | ||
| copilot-instructions.md | ||
| e2eLabeler.yml | ||
| labeler.yml | ||
| pull_request_template.md | ||
| teams.yml | ||