Scenarios

Availability

always-up

Always returns 200 OK

https://origin.crashloop.ing/scenarios/always-up
method
GET
expected_status
200-399
interval_seconds
60
always-down

Always returns 500 (permanent incident)

https://origin.crashloop.ing/scenarios/always-down
method
GET
expected_status
200-399
interval_seconds
60
notes
Expect incident to stay open
hourly-outage UP · 54m 14s outage in

500 for 2 minutes at the top of every hour (UTC), else 200

https://origin.crashloop.ing/scenarios/hourly-outage
method
GET
expected_status
200-399
interval_seconds
30
notes
Expect incident near :00, recover by ~:03 with default thresholds
outage-15m UP · 9m 14s outage in

500 for 90 seconds every 15 minutes (UTC), else 200

https://origin.crashloop.ing/scenarios/outage-15m
method
GET
expected_status
200-399
interval_seconds
30
notes
Faster open/recover loop than hourly-outage
flaky-20

200 by default, ~20% chance of 500

https://origin.crashloop.ing/scenarios/flaky-20
method
GET
expected_status
200-399
interval_seconds
30
notes
Mostly blips at failure_threshold 4

Responses

wrong-body

200 with body WRONG; fails body assertion expecting OK

https://origin.crashloop.ing/scenarios/wrong-body
method
GET
expected_status
200-399
body_contains
OK
interval_seconds
60
expect-ok

200 with body OK; pair with wrong-body checks

https://origin.crashloop.ing/scenarios/expect-ok
method
GET
expected_status
200-399
body_contains
OK
interval_seconds
60
only-204

204 No Content with empty body

https://origin.crashloop.ing/scenarios/only-204
method
GET
expected_status
204-204
interval_seconds
60
timeout

Delays 11s before 200 (past chk's ~10s probe timeout)

https://origin.crashloop.ing/scenarios/timeout
method
GET
expected_status
200-399
interval_seconds
300
notes
Use 5m interval; expensive on workers

Redirects

redirect-once

302 to /scenarios/always-up

https://origin.crashloop.ing/scenarios/redirect-once
method
GET
expected_status
200-399
follow_redirects
true
notes
Also create a nofollow check expecting failure or 302
redirect-chain

Starts a 5-hop redirect chain ending at /redirect/0 with 200 OK

https://origin.crashloop.ing/scenarios/redirect-chain
method
GET
expected_status
200-399
follow_redirects
true
interval_seconds
60

Request methods

POST body

POST only; echoes request body as 200, other methods 405

https://origin.crashloop.ing/scenarios/echo-post
POST request required
method
POST
expected_status
200-399
interval_seconds
60
notes
Send a small request body and assert it is returned
PUT body

PUT only; echoes request body as 200, other methods 405

https://origin.crashloop.ing/scenarios/echo-put
PUT request required
method
PUT
expected_status
200-399
interval_seconds
60
notes
Send a small request body and assert it is returned
PATCH body

PATCH only; echoes request body as 200, other methods 405

https://origin.crashloop.ing/scenarios/echo-patch
PATCH request required
method
PATCH
expected_status
200-399
interval_seconds
60
notes
Send a small request body and assert it is returned
DELETE body

DELETE only; echoes request body as 200, other methods 405

https://origin.crashloop.ing/scenarios/echo-delete
DELETE request required
method
DELETE
expected_status
200-399
interval_seconds
60
notes
Send a small request body and assert it is returned
OPTIONS body

OPTIONS only; echoes request body as 200, other methods 405

https://origin.crashloop.ing/scenarios/echo-options
OPTIONS request required
method
OPTIONS
expected_status
200-399
interval_seconds
60
notes
Send a small request body and assert it is returned
Request header

Returns the X-Crash-Loop-Test request header as 200

https://origin.crashloop.ing/scenarios/echo-header
method
GET
expected_status
200-399
interval_seconds
60
notes
Set X-Crash-Loop-Test and assert its value is returned