Added a contract-test, that is implemented as a Spring intetration-test
[demos/example-siren] / provider / src / test / java / io / pactflow / example / sirenprovider / SirenProviderApplicationTests.java
index b47da1d..1f5e96a 100644 (file)
@@ -1,13 +1,25 @@
 package io.pactflow.example.sirenprovider;
 
-import org.junit.jupiter.api.Test;
+import au.com.dius.pact.provider.junit5.PactVerificationContext;
+import au.com.dius.pact.provider.junitsupport.Provider;
+import au.com.dius.pact.provider.junitsupport.loader.PactFolder;
+import au.com.dius.pact.provider.spring.junit5.PactVerificationSpringProvider;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.boot.test.context.SpringBootTest;
 
-@SpringBootTest
-class SirenProviderApplicationTests {
+import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.DEFINED_PORT;
 
-  @Test
-  void contextLoads() {
-  }
 
+@SpringBootTest(webEnvironment = DEFINED_PORT)
+@Provider("SirenOrderProvider")
+@PactFolder("../spring-consumer/target/pacts")
+class SirenProviderApplicationTests
+{
+  @TestTemplate
+  @ExtendWith(PactVerificationSpringProvider.class)
+  public void pactVerificationTestTemplate(PactVerificationContext context)
+  {
+    context.verifyInteraction();
+  }
 }