Skip to content

End-to-end suite on an OpenShift cluster - #37

Merged
cevheri merged 4 commits into
mainfrom
p5-e2e
Oct 30, 2026
Merged

cevheri merged 4 commits into
mainfrom
p5-e2e

Conversation

@cevheri

@cevheri cevheri commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

Adds the Playwright suite that runs by hand on an OpenShift cluster (scripts/e2e/run-crc.sh), signing in as lab users with different rights.

  • Covers the Databases page per user, the per-row reasons, Open in a new tab with no opener through Studio's sign-in and authorize page, the details item, the list refusals, and the console link being removed.
  • Fails on any console error outside a short allowed list.
  • A development lane runs the plugin against the 4.19 and 4.22 console images on 127.0.0.1, with a one-hour token from a view-only ServiceAccount.
  • Cleanup deletes the run's OAuth tokens, .auth and the lane's namespace even when a step fails, and refuses to finish if a token reached the evidence folder.

Run on OpenShift Local 4.22.14: 17 of 17 pass, the console-link-removed project 2 of 2, and the development lane passes on both console images.

Six projects (sign-in setup and a signed-in project for each of dev-a,
dev-b and os-admin), plus locator-removed with E2E_LOCATOR_REMOVED=1
and dev-lane with E2E_DEV_LANE=1; one worker, no retries, traces,
videos and failure page snapshots off.
scripts/e2e/run-crc.sh reads the lab passwords inside its own process,
refuses an oc context that cannot list OAuth access tokens, and on exit
removes integration-tests/.auth and the users' console tokens plus
their tokens created during the run.
scripts/e2e/run-dev-lane.sh runs the development console with a
one-hour token of a view-only ServiceAccount and checks that ports 9000
and 9001 listen on 127.0.0.1 only.
The console message rules (R-44, R-45) and the Secret review filter
live in integration-tests/support/rules.ts with unit tests; lint and
typecheck cover integration-tests and playwright.config.ts.
… the open flow

plugin-loaded, databases-page, details-item, open-in-studio and
no-secret-reads run as the lab users; locator-removed and dev-lane run
alone in their own projects.
no-secret-reads fails on any console request path naming Secrets and on
a Secret access review other than a get of a shown row's Secret, one per
row; the console's own unnamed create-Secrets review at start-up is
recorded, not failed.
dev-lane expects the not-set-up header or the Secret reason, as the
cluster's locator link says (E2E_DEV_LANE_LOCATOR).
The README describes how to run the suite and what it leaves behind.
origin-console 4.19 and 4.22, by digest, both load the plugin and pass
the dev-lane project against CRC 4.22.14; the 4.19 image checks the
4.19 console build only.
Studio sign-in recognises the Authorize Access page by its Allow button, which the OAuth server serves under /oauth/authorize/approve, and accepts the identity-provider chooser.
The dev-b open test first shows that dev-a gets the orders connection listed, and the opener check runs once the new tab stopped redirecting.
The zero-count checks of locator-removed and the dev-a All Projects case wait for the page to settle.

Every review of Secrets is held to the get rule except the console's own unnamed create review.
The manifest fetch warning passes only with the allowed load error, allowed messages go to the run log, and a reload answers each Unauthorized load error once.

Playwright's outputDir is the playwright/ subfolder of E2E_EVIDENCE_DIR, since Playwright empties it on every run, and both scripts refuse a relative or in-checkout E2E_EVIDENCE_DIR.
run-dev-lane.sh deletes the namespace first and carries on past a failed cleanup step, exiting 3 naming what is left.
run-crc.sh runs the tests in their own session and stops them first on exit, interrupt or TERM, deletes the run's tokens by name instead of by clock, keeps token names out of its output, and fails when a token value reached the evidence or results folder.
@cevheri
cevheri merged commit 2af17db into main Oct 30, 2026
8 checks passed
@cevheri
cevheri deleted the p5-e2e branch October 30, 2026 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant