X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fdemo%2FDemoApplicationIT.java;h=131c52e9a9c691984fd6849fa4cacee204ec17e8;hb=450ea88ad63cb4f92b835fe77c1420005af0503b;hp=54bf6aa4bf2901bad7546075f4b9a5978c95f929;hpb=58b44ced0e064cc9c0ec122a3d36e65275adbdac;p=demos%2Ftesting diff --git a/src/test/java/de/juplo/demo/DemoApplicationIT.java b/src/test/java/de/juplo/demo/DemoApplicationIT.java index 54bf6aa..131c52e 100644 --- a/src/test/java/de/juplo/demo/DemoApplicationIT.java +++ b/src/test/java/de/juplo/demo/DemoApplicationIT.java @@ -1,33 +1,28 @@ package de.juplo.demo; -import java.net.URI; -import org.junit.jupiter.api.BeforeEach; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; import org.junit.jupiter.api.Test; 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.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.context.ApplicationContext; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; import org.springframework.test.web.reactive.server.WebTestClient; import org.springframework.web.reactive.function.client.WebClient; -@SpringBootTest +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) +@EnableAutoConfiguration class DemoApplicationIT extends IntegrationTestBase { - WebTestClient webClient; @Autowired - ApplicationContext context; - - - @BeforeEach - void setUp() - { - webClient = WebTestClient.bindToApplicationContext(context).build(); - } + WebTestClient webClient; @Test @@ -40,11 +35,17 @@ class DemoApplicationIT extends IntegrationTestBase .withPort(NGINX.getMappedPort(80))); webClient .get() - .uri(URI.create("http://S.U.T/?path=test.txt")) + .uri("/?path=test.txt") .exchange() - .expectStatus().is2xxSuccessful() + .expectStatus().isOk() .expectHeader().contentType(MediaType.TEXT_HTML) - .expectBody(String.class).isEqualTo("Hello World!\n"); + .expectBody(String.class).value(rendered -> + { + Document doc = Jsoup.parse(rendered); + assertThat( + doc.select("html > body > main > div > div > pre").text()) + .isEqualTo("Hello World!"); + }); } @Configuration @@ -56,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()); }