Commit Graph
3 Commits
Author SHA1 Message Date
kevinveenbirkenbachandClaude Opus 4.8 4c91df5de7 test(e2e): forbid raw page.goto, migrate all specs to Tor-resilient gotoOnion
New lint test_no_raw_goto.py forbids raw `page.goto(...)` in role playwright specs + persona flows (the gotoOnion wrapper in personas/utils is exempt) so navigation retries transient Tor-transport errors over onion. Migrates every raw call across ~75 roles (343 sites) to `gotoOnion(page, ...)` and teaches gotoOnion to detect relative onion URLs (`isOnionCanonical`). gotoOnion is a behaviour-identical drop-in on clearnet (single attempt, same return). Verified: no-raw-goto lint green, eslint 0 errors, make test green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 20:59:38 +02:00
kevinveenbirkenbachandClaude Opus 4.8 35dee215c8 test(playwright): route all timeouts through resolveTimeout for onion-compat
Add the global TIMEOUT_FACTOR and a shared timeouts.js helper: resolveTimeout(base) scales by TIMEOUT_FACTOR and, over a .onion target, an extra multiplier, so Tor's per-request latency no longer trips hard-coded timeouts. Migrate every raw timeout in the specs (timeout:/timeout=/setTimeout/waitForTimeout) to resolveTimeout, stage the helper in all three staging paths, and add test_no_raw_timeouts to forbid raw numeric timeouts. Clearnet behaviour is unchanged (factor 1: resolveTimeout(N) === N).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 10:38:06 +02:00
kevinveenbirkenbachandClaude Opus 4.7 03ced5c4e1 refactor(web-app-jitsi): split monolithic playwright.spec.js into _shared + test-*.js modules
Matches the zammad layout: `_shared.js` centralises env decode, the
`reachJitsiPrejoin` / `openJitsiSettingsPanel` helpers, the persona
runners, and the `beforeEach` viewport / cookie reset.
`playwright.spec.js` shrinks to a bootstrap that loads `_shared` and
require()s each scenario module's `register(shared)` hook. Each
`test-*.js` owns one persona scenario:

- test-landing.js          — canonical landing + CSP header baseline
- test-guest-persona.js    — guest auth chain (never authenticated)
- test-login-biber.js      — biber OIDC → join room → logout
- test-login-administrator.js — administrator OIDC → settings → logout
- test-login-via-ldap.js   — biber + administrator LDAP-bound scenarios

No spec-level behaviour change: lint-playwright lists the same six
tests and `make test` stays 5/5 green (186 OK).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 20:07:45 +02:00