FlyRail
Browse the docs

Testing with magic values

In the sandbox, special passenger last names trigger specific outcomes so you can test every path. Not case-sensitive.

Last name What happens Booking ends as
anything else Everything works ticketed
SOLDOUT The airline refuses the seat at hold 409 airline_rejected, money returned
FAIL The airline declines ticketing failed (ticketing_declined), money returned
TIMEOUT The ticket is issued but the reply is lost. We recover it ticketed, charged once

TIMEOUT is the dangerous real-world case. Check that your system ends up with exactly one ticket and one charge.

Other things to test#

  • Insufficient funds: book with a nearly empty test wallet (402).
  • Duplicate requests: send the same Idempotency-Key twice.
  • Price change: price, wait, book again with a changed party.
  • Webhooks: use Send test and book each magic value; check your handler against the signature.
  • Cancellation: cancel the same day (full refund) and repeat the call.
  • Rate limits: lower your own concurrency when you see 429.