contract-testing-demo

pact and java contract testing with micro-commits

git clone https://9o.is/git/contract-testing-demo.git

AnimalServiceHelper.java

(1076B)


      1 import au.com.dius.pact.consumer.PactVerificationResult;
      2 import au.com.dius.pact.model.MockProviderConfig;
      3 import au.com.dius.pact.model.RequestResponsePact;
      4 
      5 import static au.com.dius.pact.consumer.ConsumerPactRunnerKt.runConsumerTest;
      6 import static org.junit.Assert.assertEquals;
      7 
      8 class AnimalServiceHelper {
      9 
     10     interface AnimalServiceSetup {
     11         void setupAnimalService(AnimalService animalService);
     12     }
     13 
     14     static void consume(RequestResponsePact pact, AnimalServiceSetup animalServiceSetup) {
     15         MockProviderConfig config = MockProviderConfig.createDefault();
     16 
     17         PactVerificationResult result = runConsumerTest(pact, config, (mockServer, context) -> {
     18             AnimalService animalService = new AnimalService(mockServer.getUrl());
     19             animalServiceSetup.setupAnimalService(animalService);
     20         });
     21 
     22         if (result instanceof PactVerificationResult.Error) {
     23             throw new RuntimeException(((PactVerificationResult.Error)result).getError());
     24         }
     25 
     26         assertEquals(PactVerificationResult.Ok.INSTANCE, result);
     27     }
     28 }