Consumer-Driven Contracts: A Service Evolution Pattern presents the idea of contracts verification.
But how detailed is the contract?
Is the contract defining only a syntax of requests/responses? Like WSDL in the case of SOAP Web services.
Or does it describes also the order of messages, i.e., the protocol? e.g.:
- Or does it define also the behaviour of a system? In other words if I send request R and system is in state S I should receive response W? For instance, if I send a request to buy two monitors and the shop has only one monitor I should get negative but when I request only one monitor I should receive a receipt?