Documentation
Passfail.no is a controlled test fixture for the Teste.no web monitoring platform. It provides 31 toggleable tests across 9 categories that let you verify scanner behavior in both pass and fail states.
Getting started
Create an instance, toggle tests, and run your first scan.
Test reference
All 31 test fixtures with slugs, descriptions, and behavior.
API reference
REST endpoints for instances, health, GraphQL, and webhooks.
How it works
Each test fixture controls one aspect of the HTTP response — headers, HTML content, structured data, API behavior, or root file responses. When a test is toggled to “fail”, that aspect of the page intentionally breaks in a way that the corresponding Teste.no scanner plugin detects and reports.
Create a subdomain instance
Visit passfail.no and create an instance like mysite.passfail.no. Each instance has its own isolated test state.
Toggle tests
Flip individual tests between pass and fail. State persists automatically — no need to keep the browser open.
Point your scanner
Configure a Teste.no scan against your subdomain. The scanner sees real HTTP responses with real broken signals.
Verify findings
Check that your scan reports exactly the findings you toggled. Iterate on scanner plugins with instant feedback.
Architecture
Passfail.no runs on Next.js 15 with the App Router. Middleware intercepts every request to resolve the active subdomain and apply header-level fixtures (security headers, CORS, CSP, cookies, cache). Page-level fixtures (HTML content, structured data, forms) are controlled by React server components. API endpoints are standard Next.js route handlers.
Technology stack
Next.js 15 (App Router)
SQLite (better-sqlite3)
Tailwind CSS
Standalone + systemd + Caddy
Wildcard via Cloudflare DNS-01
Wildcard subdomains (*.passfail.no)