Skip to content

A passing test should say exactly what it passed on

Revo Verify is one shared booking test plan for both sides of a connection. Every result is tied to the adapter, mapping snapshot and configuration it ran against.

run_014 · sandbox

Not ready for approval

alpine-2.3.1 · snapshot v7 · config 12

  • CRED-001Credentials reach the sandboxPassed
  • SRCH-0022 adults + child aged 7Passed
  • QUOTE-001Recheck keeps stay datesPassed
  • QUOTE-004Price changed on recheckFailed
  • BOOK-001Captures the supplier referencePassed
  • BOOK-003Seller times out mid-bookingInconclusive
  • BOOK-004Same idempotency key twiceNot run
Expected
price_changed: true
Actual
false, total 197.50 EUR against 184.00 EUR

Of 7 cases shown: 4 passed, 1 failed, 1 inconclusive, 1 not run.Inconclusive never counts as passed.

Illustrative. Companies and data are fictional.

Every result is tied to the adapter, mapping snapshot and configuration it ran against.

3
versions pinned to every result: adapter, snapshot and configuration
0
inconclusive results counted as passed
Off
external load tests, by default

The report reads in booking order

Stages run from credentials through to failure handling. Open a failure to see what was expected, what came back and who picks it up.

What each result means

Passed
Every required assertion held in this sandbox, at these versions. Production can still behave differently.
Failed
An assertion ran and the answer was wrong. You'll see both values.
Inconclusive
We couldn't tell, usually because the environment or seller didn't respond. It never counts as passed.

Alpine Distribution → Corvane Travel

run_014 · sandbox
adapter alpine-2.3.1 · snapshot v7 · config 12

Not ready for approval. 10 passed, 1 failed, 1 inconclusive, 3 not run.

Credentials

  • CRED-001Credentials reach the sandboxPassed
  • CRED-002Bad credentials return an authentication errorPassed

Content

  • CONT-001Every property record carries its native codePassed
  • CONT-002Codes resolve against mapping snapshot v7Passed

Search

  • SRCH-0022 adults + child aged 7, ages kept in the requestPassed
  • SRCH-005No availability returns an empty resultPassed

Quote

  • QUOTE-001Recheck keeps stay dates and occupancyPassed
  • QUOTE-004Price changed on recheckFailed
    Expected
    price_changed: true when total differs from the quote
    Actual
    price_changed: false, total 197.50 EUR against 184.00 EUR

    Next step: Alpine's integration engineer checks the recheck response, then reruns this stage. Trace tr_9f27c1.

Book

  • BOOK-001Confirmed booking captures the supplier referencePassed
  • BOOK-003Seller times out mid-bookingInconclusive
    Expected
    State held as UNKNOWN, no second write sent
    Actual
    Sandbox unavailable when the run reached this case. No booking response to assert on

    Next step: rerun when the sandbox is back. This case still blocks approval. Trace tr_a1d044.

  • BOOK-004Same idempotency key twice makes one bookingNot run

Read and cancel

  • READ-001Booking found by supplier referenceNot run
  • CANC-003Non-refundable cancel reports the fee from the termsNot run

Failure handling

  • FAIL-002A rate-limit response slows requests and respects the capPassed
  • FAIL-006No traveller data or secrets in stored evidencePassed

Illustrative. Companies and data are fictional.

What makes a passing result go stale

If anything a result depended on changes, that result stops counting. The old run stays on record and the connection goes back for a retest.

run_011 · QUOTE-001

Passed on adapter alpine-2.3.1, snapshot v6, config 12

Snapshot v7 published

Result no longer counts. Still on record.

The connection returns to testing and reruns on v7.

Illustrative. Companies and data are fictional.
Changes that invalidate a test result
New adapter versionThenTests that touch the changed behaviour need a retest
New mapping snapshotThenContent and booking flow tests need a retest on the new snapshot
Configuration revisionThenRequired tests for that setting need a retest
Credential rotatedThenCredential checks and any tests relying on them need a retest
Booking logic changedThenBook, read and cancel stages need a retest

What it does

Orders the work by stage

A new integration engineer sees the checklist in the order a booking happens, with the last result, the reason and the next step on each case.

Shows expected against actual

A failed case shows the assertion, both values and a trace reference, with traveller data and credentials already removed.

Tests the awkward paths

Price changed on recheck, seller timeout mid-booking, a duplicate request, a non-refundable cancellation. These are the cases that cost money in production.

Seller traffic limits are hard limits

External load tests are off by default. Turning one on takes written seller authorisation, a request cap, a concurrency cap, a time window and a kill switch. You can test against our own simulator without touching seller traffic.

External load test

Off

Seller authorisation
Not on file
Cap and time window
Not set
Kill switch
Required

Illustrative. Companies and data are fictional.

What it covers, and what it leaves out

The list on the right is deliberate, and we'll say when any of it changes.

Included

  • Credentials, content, search, quote, book, read and cancel in approved sandboxes
  • Runs pinned to adapter, mapping snapshot and configuration
  • Expected and actual diffs with redacted trace evidence
  • Failure handling: rate limits, timeouts, unknown booking state, duplicate requests
  • Automatic invalidation when a pinned version changes

Deliberately left out

  • Public stress testing as a service
  • Downloadable signed test reports
  • Tests against production booking flows
  • Suites beyond hotels
If every test passes, do production bookings work?

Not always. PASSED means the required assertions held in that sandbox, at those versions. A sandbox rarely behaves exactly like production, which is why activation still goes through a small canary.

Is this a certification?

No. We don't hold or issue any certification. A result is evidence you can read and judge for yourself.

What if a seller has no usable sandbox?

Testing needs an authorised sandbox, a test environment or an agreed test property. Write tests stay in approved sandboxes, simulators or agreed test properties.

Can AI write and run tests?

AI can suggest edge cases for a person to review. Approved cases still pass schema checks and run only through the allowlisted test runner.

Questions we'd ask too

Straight answers, including where the answer is no.

Which test do you wish every partner had run?

Send us the case that burned you, and we'll tell you how the test plan treats it.

Tell us yours