Testing
Fixtures
Provision repeatable test inboxes and detect configuration drift.
Ensure fixtures and isolate each run
Commit a non-secret inboxspec.fixtures.json manifest:
{
"version": 1,
"fixtures": [{ "name": "signup", "retention_seconds": 600 }]
}inboxspec fixtures ensure --file inboxspec.fixtures.json \
--run ci.4182.a1.w1 --project-id "$EXPECTED_PROJECT_ID" \
--environment staging --scope messages:read --scope messages:wait --jsonThe REST operation is POST /v1/fixtures/ensure. Require status: ready; HTTP 200 can also contain partial or failed. The CLI exits zero only for readiness. The same run and definition reuse inbox IDs and any messages still within retention. Inboxes remain until explicitly deleted. Changed labels, domain or retention return fixture_drift; setup never clears mail to reconcile a change.
Include run number, retry attempt and worker in a short run ID. Give each independent test journey its own fixture or run. Names use lowercase letters, digits, underscores and hyphens; run IDs also allow single dots between levels. The full address local part, including the project key, must fit 64 characters. Retention must be at least 60 seconds and within your plan ceiling.