=== RUN   TestRequireAuth_NoPasswordRefusesEveryOperatorRoute
    tokens_test.go:546: no password: GET / → 200, want 503
    tokens_test.go:546: no password: POST / → 200, want 503
    tokens_test.go:546: no password: GET /style.css → 200, want 503
    tokens_test.go:546: no password: POST /style.css → 200, want 503
    tokens_test.go:546: no password: GET /static/chart.min.js → 200, want 503
    tokens_test.go:546: no password: POST /static/chart.min.js → 200, want 503
    tokens_test.go:546: no password: GET /static/fonts/x1 → 404, want 503
    tokens_test.go:546: no password: POST /static/fonts/x1 → 404, want 503
    tokens_test.go:546: no password: GET /configuration → 200, want 503
    tokens_test.go:546: no password: POST /configuration → 303, want 503
    tokens_test.go:546: no password: GET /apps → 200, want 503
    tokens_test.go:546: no password: POST /apps → 200, want 503
    tokens_test.go:546: no password: GET /apps/ → 200, want 503
    tokens_test.go:546: no password: POST /apps/ → 200, want 503
    tokens_test.go:546: no password: GET /apps/x1/reset-telemetry → 405, want 503
    tokens_test.go:546: no password: POST /apps/x1/reset-telemetry → 303, want 503
    tokens_test.go:546: no password: GET /apps/x1/dismiss-issues → 405, want 503
    tokens_test.go:546: no password: POST /apps/x1/dismiss-issues → 400, want 503
    tokens_test.go:546: no password: GET /apps/x1 → 200, want 503
    tokens_test.go:546: no password: POST /apps/x1 → 200, want 503
    tokens_test.go:546: no password: GET /offsite → 200, want 503
    tokens_test.go:546: no password: POST /offsite → 200, want 503
    tokens_test.go:546: no password: GET /offsite/endpoints → 405, want 503
    tokens_test.go:546: no password: POST /offsite/endpoints → 400, want 503
    tokens_test.go:546: no password: GET /offsite/endpoints/x1/delete → 405, want 503
    tokens_test.go:546: no password: POST /offsite/endpoints/x1/delete → 404, want 503
    tokens_test.go:546: no password: GET /hosts → 200, want 503
    tokens_test.go:546: no password: POST /hosts → 200, want 503
    tokens_test.go:546: no password: GET /hosts/ → 200, want 503
    tokens_test.go:546: no password: POST /hosts/ → 200, want 503
    tokens_test.go:546: no password: GET /appliances/x1/bind → 405, want 503
    tokens_test.go:546: no password: POST /appliances/x1/bind → 405, want 503
    tokens_test.go:546: no password: GET /appliances/x1/discard → 405, want 503
    tokens_test.go:546: no password: POST /appliances/x1/discard → 405, want 503
    tokens_test.go:546: no password: GET /hosts/x1/delete-impact → 404, want 503
    tokens_test.go:546: no password: POST /hosts/x1/delete-impact → 405, want 503
    tokens_test.go:546: no password: GET /hosts/x1/delete → 405, want 503
    tokens_test.go:546: no password: POST /hosts/x1/delete → 404, want 503
    tokens_test.go:546: no password: GET /hosts/x1/reveal-recovery-credential → 405, want 503
    tokens_test.go:546: no password: POST /hosts/x1/reveal-recovery-credential → 404, want 503
    tokens_test.go:546: no password: GET /hosts/x1/operator-action → 405, want 503
    tokens_test.go:546: no password: POST /hosts/x1/operator-action → 403, want 503
    tokens_test.go:546: no password: GET /hosts/x1/request-logs → 405, want 503
    tokens_test.go:546: no password: POST /hosts/x1/request-logs → 403, want 503
    tokens_test.go:546: no password: GET /hosts/x1/log-bundles/y1 → 404, want 503
    tokens_test.go:546: no password: POST /hosts/x1/log-bundles/y1 → 404, want 503
    tokens_test.go:546: no password: GET /hosts/x1 → 404, want 503
    tokens_test.go:546: no password: POST /hosts/x1 → 404, want 503
    tokens_test.go:546: no password: GET /customers/x1/block → 405, want 503
    tokens_test.go:546: no password: POST /customers/x1/block → 404, want 503
    tokens_test.go:546: no password: GET /customers/x1/selfbind-link → 405, want 503
    tokens_test.go:546: no password: POST /customers/x1/selfbind-link → 502, want 503
    tokens_test.go:546: no password: GET /customers/x1/unblock → 405, want 503
    tokens_test.go:546: no password: POST /customers/x1/unblock → 404, want 503
    tokens_test.go:546: no password: GET /customers/x1/geo/disable → 405, want 503
    tokens_test.go:546: no password: POST /customers/x1/geo/disable → 404, want 503
    tokens_test.go:546: no password: GET /customers/x1/floor → 405, want 503
    tokens_test.go:546: no password: POST /customers/x1/floor → 404, want 503
    tokens_test.go:546: no password: GET /customers/x1/create-config → 405, want 503
    tokens_test.go:546: no password: POST /customers/x1/create-config → 303, want 503
    tokens_test.go:546: no password: GET /customers/x1/dr-recipe.json → 404, want 503
    tokens_test.go:546: no password: POST /customers/x1/dr-recipe.json → 405, want 503
    tokens_test.go:546: no password: GET /customers/x1/request-log-tail → 405, want 503
    tokens_test.go:546: no password: POST /customers/x1/request-log-tail → 400, want 503
    tokens_test.go:546: no password: GET /customers/x1/log-tail/y1 → 404, want 503
    tokens_test.go:546: no password: POST /customers/x1/log-tail/y1 → 404, want 503
    tokens_test.go:546: no password: GET /customers/x1 → 200, want 503
    tokens_test.go:546: no password: POST /customers/x1 → 200, want 503
    tokens_test.go:546: no password: GET /configs → 200, want 503
    tokens_test.go:546: no password: POST /configs → 200, want 503
    tokens_test.go:546: no password: GET /configs/new → 200, want 503
    tokens_test.go:546: no password: POST /configs/new → 200, want 503
    tokens_test.go:546: no password: GET /configuration/global-floor/impact → 200, want 503
    tokens_test.go:546: no password: POST /configuration/global-floor/impact → 405, want 503
    tokens_test.go:546: no password: GET /configuration/global-floor → 405, want 503
    tokens_test.go:546: no password: POST /configuration/global-floor → 303, want 503
    tokens_test.go:546: no password: GET /configuration/artifacts → 405, want 503
    tokens_test.go:546: no password: POST /configuration/artifacts → 303, want 503
    tokens_test.go:546: no password: GET /configuration/mail-hold/release → 405, want 503
    tokens_test.go:546: no password: POST /configuration/mail-hold/release → 303, want 503
    tokens_test.go:546: no password: GET /configuration/password → 405, want 503
    tokens_test.go:546: no password: POST /configuration/password → 303, want 503
    tokens_test.go:546: no password: GET /configuration/tokens → 405, want 503
    tokens_test.go:546: no password: POST /configuration/tokens → 303, want 503
    tokens_test.go:546: no password: GET /configuration/tokens/x1/revoke → 405, want 503
    tokens_test.go:546: no password: POST /configuration/tokens/x1/revoke → 404, want 503
    tokens_test.go:546: no password: GET /configs/x1/delete → 200, want 503
    tokens_test.go:546: no password: POST /configs/x1/delete → 400, want 503
    tokens_test.go:546: no password: GET /configs/x1/edit → 302, want 503
    tokens_test.go:546: no password: POST /configs/x1/edit → 200, want 503
    tokens_test.go:546: no password: GET /offsite/key-audit → 405, want 503
    tokens_test.go:546: no password: GET /configs/x1/offsite-reissue → 405, want 503
    tokens_test.go:546: no password: POST /configs/x1/offsite-reissue → 502, want 503
    tokens_test.go:546: no password: GET /configs/x1/claim-resend → 405, want 503
    tokens_test.go:546: no password: POST /configs/x1/claim-resend → 502, want 503
    tokens_test.go:546: no password: GET /configs/x1/pbsdr-reissue → 405, want 503
    tokens_test.go:546: no password: POST /configs/x1/pbsdr-reissue → 502, want 503
    tokens_test.go:546: no password: GET /configs/x1/offsite-freeze → 405, want 503
    tokens_test.go:546: no password: POST /configs/x1/offsite-freeze → 502, want 503
    tokens_test.go:546: no password: GET /configs/x1/preview → 200, want 503
    tokens_test.go:546: no password: POST /configs/x1/preview → 200, want 503
    tokens_test.go:546: no password: GET /configs/x1/regen-password → 405, want 503
    tokens_test.go:546: no password: POST /configs/x1/regen-password → 303, want 503
    tokens_test.go:546: no password: GET /configs/x1/reset → 200, want 503
    tokens_test.go:546: no password: POST /configs/x1/reset → 400, want 503
    tokens_test.go:546: no password: GET /configs/x1 → 303, want 503
    tokens_test.go:546: no password: POST /configs/x1 → 303, want 503
--- FAIL: TestRequireAuth_NoPasswordRefusesEveryOperatorRoute (0.11s)
FAIL
FAIL	gitea.dooplex.hu/admin/felhom-hub/internal/web	0.128s
FAIL
