Testing Guide
This project includes PowerShell test scripts that exercise the production-like Worker deployment. Most tests assume these environment variables are set:Recommended test order
Run tests in this order after a fresh deploy.1. End-to-end test
- health check
- schema check
- tenant creation
- API key creation
- unauthorized request failure
- endpoint creation
- event creation
- idempotency behavior
2. Idempotency
- first request succeeds
- same request reuses the original event
- same key with different payload fails with
409
3. SSRF protection
- localhost/private/metadata URLs rejected
- URLs with embedded credentials rejected
- non-HTTP protocols rejected
4. Endpoint health
5. Metrics summary
- deliveries by status
- attempts by status code
- DLQ count
- retry count
- endpoint counts
- queue age approximation
6. Current usage
- events
- deliveries
- billable attempts
- retry attempts
- payload storage estimate
- endpoint count
7. Usage limits
8. Safety limits
9. Event rate limit
10. Endpoint create rate limit
11. Event deliveries
12. Delivery attempts
13. Delivery replay
14. DLQ list
15. Secret rotation overlap
- new signing secret returned
- previous secret expiry returned
- overlap days returned
- previous signing secret active flag true
16. Retention cleanup dry-run
- does not delete rows
- reports what would be deleted
17. Retention cleanup apply
Only run this after dry-run looks safe.Common test mistakes
Using placeholders
This will fail:Using admin key as tenant key
This will fail:Forgetting required SQL migrations
Some phases require new tables or columns. If you see:Not redeploying after changing Worker vars/secrets
After changingwrangler.jsonc or Worker secrets:
Clean test environment recommendation
Because tests create endpoints and events, dev databases can get noisy. Recommended cleanup approach:- Use short retention values in dev.
- Run retention dry-run.
- Run retention apply.
- Avoid using production tenant IDs during aggressive test loops.