WIP
[demos/pact] / consumer / src / test / java / de / juplo / demos / consumer / adapter / RemoteUsersServiceConsumerIT.java
index 6c65008..f3786af 100644 (file)
@@ -7,28 +7,28 @@ import au.com.dius.pact.consumer.junit5.PactTestFor;
 import au.com.dius.pact.core.model.RequestResponsePact;
 import au.com.dius.pact.core.model.annotations.Pact;
 import de.juplo.demos.consumer.domain.User;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.web.client.RestTemplateBuilder;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
+import org.springframework.web.client.RestTemplate;
 
 import java.io.IOException;
 import java.util.Map;
 import java.util.Optional;
+import java.util.UUID;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.fail;
 
 
-@ExtendWith({ SpringExtension.class, PactConsumerTestExt.class })
+@ExtendWith(PactConsumerTestExt.class)
 @PactTestFor(providerName = "UsersProvider")
 public class RemoteUsersServiceConsumerIT
 {
-  @Autowired
-  RemoteUsersServiceConsumer usersService;
-
-
   @Pact(consumer="EmailServicesConsumer")
   public RequestResponsePact getExistingUserByEmail(PactDslWithProvider builder) {
     return builder
@@ -37,7 +37,6 @@ public class RemoteUsersServiceConsumerIT
             .path("/get")
             .query("email=pact@juplo.de")
             .method("GET")
-            .headers("Accept", "application/json")
           .willRespondWith()
             .status(200)
             .headers(Map.of("Content-Type", "application/json;charset=UTF-8"))
@@ -48,12 +47,14 @@ public class RemoteUsersServiceConsumerIT
   @Test
   @PactTestFor(pactMethod = "getExistingUserByEmail")
   public void testGetExistingUserByEmail(MockServer mockServer) {
+    RestTemplate restTemplate = new RestTemplateBuilder().rootUri(mockServer.getUrl()).build();
+    RemoteUsersServiceConsumer usersService = new RemoteUsersServiceConsumer("/get?email={email}", restTemplate);
     try {
       Optional<User> result = usersService.getUserByEmail("pact@juplo.de");
 
       assertThat(result.isPresent()).isTrue();
       User user = result.get();
-      assertThat(user.getId()).isEqualTo("123e4567-e89b-12d3-a456-426614174000");
+      assertThat(user.getId()).isEqualTo(UUID.fromString("123e4567-e89b-12d3-a456-426614174000"));
       assertThat(user.getEmail()).isEqualTo("pact@juplo.de");
     }
     catch (Exception e) {