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.
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.
| If this changes | Then |
|---|---|
| New adapter version | ThenTests that touch the changed behaviour need a retest |
| New mapping snapshot | ThenContent and booking flow tests need a retest on the new snapshot |
| Configuration revision | ThenRequired tests for that setting need a retest |
| Credential rotated | ThenCredential checks and any tests relying on them need a retest |
| Booking logic changed | ThenBook, 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.