contract-testing-demo
pact and java contract testing with micro-commits
commit c2c0dac6f879dc25fb55a57c6cfde4c92245d403 parent c7b5f18fc154e9ba5bc09e05e8c98e717e1bc3c3 Author: Jul <jul@9o.is> Date: Wed, 26 Jun 2019 15:55:16 -0400 Write failing consumer test Test: Given the service is unavailable, upon receiving a request for Mary the alligator, a 500 is returned. Diffstat:
| M | consumer-driven/zoo-service/src/test/java/AnimalServicePactTest.java | | | 21 | ++++++++++++++++++++- |
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/consumer-driven/zoo-service/src/test/java/AnimalServicePactTest.java b/consumer-driven/zoo-service/src/test/java/AnimalServicePactTest.java @@ -54,5 +54,24 @@ public class AnimalServicePactTest { }); } - public void animalServiceIsUnavailable() {} + @Test + public void animalServiceIsUnavailable() { + RequestResponsePact pact = withProvider + .given("the service is unavailable") + .uponReceiving("a request for Mary the alligator") + .method("GET") + .path("/alligators/Mary") + .willRespondWith() + .status(500) + .toPact(); + + AnimalServiceHelper.consume(pact, animalService -> { + try { + animalService.getAlligator("Mary"); + fail("getAlligator() did not throw exception"); + } catch (Exception e) { + assertEquals(AnimalServiceUnavailableException.class, e.getClass()); + } + }); + } }