Specifying and testing the microservices contract