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>
|
||
|---|---|---|
| .. | ||
| airflow-apis-tests.yml | ||
| auto-cherry-pick-labeled-prs.yaml | ||
| claude.yml | ||
| codeql.yml | ||
| docker-k8s-operator.yml | ||
| docker-openmetadata-db.yml | ||
| docker-openmetadata-ingestion-base-slim.yml | ||
| docker-openmetadata-ingestion-base.yml | ||
| docker-openmetadata-ingestion.yml | ||
| docker-openmetadata-postgres.yml | ||
| docker-openmetadata-server.yml | ||
| git-create-release-branch.yml | ||
| integration-tests-mysql-elasticsearch.yml | ||
| integration-tests-postgres-opensearch.yml | ||
| java-checkstyle.yml | ||
| java-playwright-nightly.yml | ||
| java-playwright-pr.yml | ||
| label-connector.yml | ||
| maven-build-collate.yml | ||
| maven-sonar-build.yml | ||
| monitor-slack-link.yml | ||
| mysql-nightly-e2e.yml | ||
| openmetadata-service-unit-tests.yml | ||
| playwright-docs-check.yml | ||
| playwright-integration-tests-mysql.yml | ||
| playwright-integration-tests-postgres.yml | ||
| playwright-knowledge-graph-postgresql-e2e.yml | ||
| playwright-mysql-e2e-skip.yml | ||
| playwright-mysql-e2e.yml | ||
| playwright-postgresql-e2e-skip.yml | ||
| playwright-postgresql-e2e.yml | ||
| playwright-sso-login-nightly.yml | ||
| playwright-sso-tests.yml | ||
| postgresql-nightly-e2e.yml | ||
| publish-maven-package.yml | ||
| py-checkstyle.yml | ||
| py-cli-e2e-tests.yml | ||
| py-operator-build-test.yml | ||
| py-sonarcloud-nightly.yml | ||
| py-tests-postgres.yml | ||
| py-tests.yml | ||
| python-packages-publish.yml | ||
| security-scan.yml | ||
| stale.yml | ||
| team-labeler.yml | ||
| trivy-scan-ingestion-base-slim-image.yml | ||
| trivy-scan-ingestion-image.yml | ||
| trivy-scan-openmetadata-server.yml | ||
| typescript-type-generation.yml | ||
| ui-checkstyle.yml | ||
| update-playwright-e2e-docs.yml | ||
| validate-docker-compose-quickstart.yml | ||
| validate-jsons-yamls.yml | ||
| yarn-coverage.yml | ||