Advertisement
Guest User

Untitled

a guest
May 21st, 2023
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.11 KB | None | 0 0
  1. package io.pact.workshop.product_service.kafka;
  2.  
  3. import au.com.dius.pact.provider.MessageAndMetadata;
  4. import au.com.dius.pact.provider.PactVerifyProvider;
  5. import au.com.dius.pact.provider.junit5.MessageTestTarget;
  6. import au.com.dius.pact.provider.junit5.PactVerificationContext;
  7. import au.com.dius.pact.provider.junit5.PactVerificationInvocationContextProvider;
  8. import au.com.dius.pact.provider.junitsupport.Consumer;
  9. import au.com.dius.pact.provider.junitsupport.Provider;
  10. import au.com.dius.pact.provider.junitsupport.loader.PactBroker;
  11. import au.com.dius.pact.provider.junitsupport.loader.PactBrokerAuth;
  12.  
  13. import java.util.HashMap;
  14. import java.util.Map;
  15.  
  16. import org.junit.jupiter.api.BeforeEach;
  17. import org.junit.jupiter.api.TestTemplate;
  18. import org.junit.jupiter.api.extension.ExtendWith;
  19. import org.springframework.boot.test.context.SpringBootTest;
  20.  
  21. @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
  22. @Provider("jsonKafkaProviderApp")
  23. @Consumer("jsonKafkaConsumerApp")
  24. @PactBroker(host = "${pactbroker.host:localhost}", port = "${pactbroker.port:9292}", scheme = "${pactbroker.scheme:http}", authentication = @PactBrokerAuth(username = "${pactbroker.auth.username:pact_workshop}", password = "${pactbroker.auth.password:pact_workshop}"))
  25. public class JsonKafkaProviderTest {
  26.     private static final String JSON_CONTENT_TYPE = "application/json";
  27.     private static final String KEY_CONTENT_TYPE = "contentType";
  28.  
  29.     @BeforeEach
  30.     void before(PactVerificationContext context) {
  31.         context.setTarget(new MessageTestTarget());
  32.     }
  33.  
  34.     @TestTemplate
  35.     @ExtendWith(PactVerificationInvocationContextProvider.class)
  36.     void pactVerificationTestTemplate(PactVerificationContext context) {
  37.         context.verifyInteraction();
  38.     }
  39.  
  40.     @PactVerifyProvider("A simple message")
  41.     MessageAndMetadata verifySimpleMessageEvent() {
  42.         Map<String, Object> metadata = new HashMap<String, Object>() {
  43.             {
  44.                 put(KEY_CONTENT_TYPE, JSON_CONTENT_TYPE);
  45.             }
  46.         };
  47.         return new MessageAndMetadata(new byte[] {}, metadata);
  48.     }
  49.  
  50. }
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement