WIP:it
[demos/testing] / src / test / java / de / juplo / demo / DemoApplicationIT.java
index cde888f..00fdbd4 100644 (file)
@@ -1,5 +1,6 @@
 package de.juplo.demo;
 
+import de.juplo.demo.DemoApplicationIT.Application;
 import java.net.URI;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -7,32 +8,26 @@ import static org.mockserver.matchers.Times.exactly;
 import static org.mockserver.model.HttpForward.forward;
 import static org.mockserver.model.HttpRequest.request;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureWebMvc;
-import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.http.MediaType;
-import org.springframework.test.web.servlet.MockMvc;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-import org.springframework.web.context.WebApplicationContext;
+import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
+import org.springframework.test.web.reactive.server.WebTestClient;
 import org.springframework.web.reactive.function.client.WebClient;
 
-@SpringBootTest
-@AutoConfigureWebMvc
+@SpringJUnitConfig(Application.class)
 class DemoApplicationIT extends IntegrationTestBase
 {
-  MockMvc mockMvc;
+  WebTestClient webClient;
   @Autowired
-  WebApplicationContext context;
+  ApplicationContext context;
 
 
   @BeforeEach
-  void setUp(WebApplicationContext context)
+  void setUp()
   {
-    mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
+    webClient = WebTestClient.bindToApplicationContext(context).build();
   }
 
 
@@ -44,11 +39,13 @@ class DemoApplicationIT extends IntegrationTestBase
         .forward(forward()
             .withHost(NGINX.getContainerIpAddress())
             .withPort(NGINX.getMappedPort(80)));
-    mockMvc
-        .perform(get(URI.create("http://S.U.T/?path=test.txt")))
-        .andExpect(status().isOk())
-        .andExpect(content().contentType(MediaType.TEXT_PLAIN))
-        .andExpect(content().string("Hello World!\n"));
+    webClient
+        .get()
+        .uri(URI.create("http://S.U.T/?path=test.txt"))
+        .exchange()
+        .expectStatus().isOk()
+        .expectHeader().contentType(MediaType.TEXT_HTML)
+        .expectBody(String.class).isEqualTo("Hello World!\n");
   }
 
   @Configuration
@@ -60,8 +57,7 @@ class DemoApplicationIT extends IntegrationTestBase
       return new RemoteContentService(
           WebClient
               .builder()
-              .baseUrl("http://localhost:" +
-                  DemoApplicationIT.MOCK_SERVER.getLocalPort())
+              .baseUrl("http://localhost:" + MOCK_SERVER.getLocalPort())
               .build());
     }