Skip to content

Example plans

The repository ships example plans under examples/. Run them after first run succeeds.

Terminal window
make quickstart
make docker-run PLAN=examples/multi-worker.yaml
File What it demonstrates
smoke.yaml Public GET against the bundled mock target
http-post.yaml POST with structured JSON
http-auth-jwt.yaml Bearer/JWT with ${TOURBA_JWT}
http-auth-session.yaml Django-style session cookie
multi-worker.yaml Four workers sharing one total RPS
local-service.yaml Target on the Docker host via host.docker.internal
Your target runs… Use
In the same Compose stack http://mock-target
On your laptop (outside Docker) http://host.docker.internal:<port>
On another host or cloud Normal DNS name or IP

Workers resolve DNS from inside the container network. Test with curl from a worker container if DNS or TLS fails.

Export secrets in your shell; reference them in YAML:

Terminal window
export TOURBA_JWT='eyJ...'
make docker-run PLAN=examples/http-auth-jwt.yaml
auth:
type: jwt
token: ${TOURBA_JWT}

Session cookie:

auth:
type: session
name: sessionid
value: ${SESSION_COOKIE}

See Test plans for all auth types.

JSON helper:

method: POST
json:
query: health
limit: 10

Raw body — do not combine with json.

multi-worker.yaml sets worker_count so a modest target_rps uses several connections:

target_rps: 40
worker_count: 4

Each worker targets roughly target_rps / worker_count RPS.

A healthy example run should:

  1. End in status completed
  2. Report RPS close to target_rps (allow small scheduler jitter)
  3. Show error_count: 0 when the target and auth are correct

Statuses outside expected_statuses, timeouts, and connection errors increment error_count.