Permit-status and inspection services meet only over a published HTTP contract. Which test type best locks that seam without re-running every collaborator’s business rules?
Select an answer to reveal the explanation.
Short Explanation
The handshake between desks is the contract. Contract tests check that handshake—paths, codes, required fields—without replaying every office’s entire workflow.
Full Explanation
When permit-status and inspection services meet only over a published HTTP contract, contract tests are the layer that locks that seam. They assert paths, status codes, required fields, and compatibility at the published interface so either side can evolve internals without silently breaking the handshake. Contract tests deliberately avoid re-executing every collaborator’s full business workflow; they prove the interface, not the entire downstream office.
Unit tests that never leave the producer process and assert no network paths or status codes fail by concept here: they cannot lock a cross-service HTTP seam. A giant end-to-end journey that re-executes every downstream business rule for each field fails on cost and focus—it conflates interface compatibility with full business regression. Vault rotation drills that prove master-key OCIDs stay stable across tenancies fail because key lifecycle is a security operations concern, not the HTTP contract between permit-status and inspection.
Exam caveat: contract ≠ unit (no I/O) and contract ≠ full E2E (every business rule). Operational check: keep a consumer or producer contract suite in CI that fails when a required field is renamed or a status code changes, without standing up the entire inspection workflow for every permit-status commit.