Commit Graph
8 Commits
Author SHA1 Message Date
kevinveenbirkenbachandClaude Opus 4.8 4c247b61ec test(e2e): give every standalone Playwright request an onion-aware timeout
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 04:45:03 +02:00
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 e986fe5d9e refactor(test-e2e): route HSTS assertions through the shared TLS-gated helper
HSTS (Strict-Transport-Security) is an HTTPS-only header: a browser ignores it
over plain http (RFC 6797) and OpenResty only emits it on the TLS vhost. On an
onion node TLS is off and every domain is served over http, so the inline
`expect(headers["strict-transport-security"]).toBeTruthy()` in 33 specs failed
with `Received: undefined`.

Route all 33 through the shared expectHstsWhenTls(headers, baseUrl, label)
helper (personas/utils/tls.js), which requires HSTS over https and asserts its
absence over http. On a TLS node the base URL is https, so the assertion is
identical to before; on an onion node the same spec now passes. HSTS logic
lives in one place (SPOT) instead of 34 inline copies.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 03:26:03 +02:00
Prageeth Panicker 20f5fb8e64 fix(pihole): address review feedback (Kevin)
- playwright.spec.js: remove duplicated SSO/persona scenarios now
  covered by test-guest.js/test-oauth2.js/test-native.js. Reduce to
  baseline checks (front page + TLS/HSTS, HTML content-type), matching
  the pgadmin pattern.
- meta/main.yml: rewrite description to describe Pi-hole the software
  (network-wide DNS sinkhole, DNS/DHCP management, web dashboard)
  rather than the role/integration details.
2026-06-23 13:19:22 +00:00
Prageeth Panicker f002b0ce61 fix(web-app-pihole): fix nested template literal syntax error in playwright spec 2026-06-23 13:19:20 +00:00
Prageeth Panicker d60d1b9ded fix(web-app-pihole): fix string concatenation lint error in playwright spec 2026-06-23 13:19:19 +00:00
Prageeth Panicker 6e7f847bc8 fix(web-app-pihole): fix dynamic flags, port, personas, block size, docker exec, README 2026-06-23 13:19:17 +00:00
Prageeth Panicker fe6ca57c81 fix(web-app-pihole): resolve CI lint failures and test compliance 2026-06-23 13:19:17 +00:00