4 import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
5 import org.jsoup.Jsoup;
6 import org.jsoup.nodes.Document;
7 import org.junit.jupiter.api.DisplayName;
8 import org.junit.jupiter.api.Test;
9 import org.junit.jupiter.api.extension.ExtendWith;
10 import static org.mockito.Mockito.verify;
11 import static org.mockito.Mockito.when;
12 import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTest;
14 import org.springframework.boot.test.mock.mockito.MockBean;
15 import org.springframework.test.context.junit.jupiter.SpringExtension;
16 import org.springframework.test.web.reactive.server.WebTestClient;
17 import reactor.core.publisher.Mono;
21 * Narrow Integration-Test for the {@link HtmlController}.
24 @ExtendWith(SpringExtension.class)
26 public class HtmlControllerIT
29 WebTestClient webClient;
31 RemoteContentService service;
35 @DisplayName("Mapping for HtmlController: /?path=foo")
36 void testUriWithParameter()
38 when(service.getRemoteText("foo")).thenReturn(Mono.just("bar"));
43 .expectStatus().isOk()
44 .expectBody(String.class).value(rendered ->
46 Document doc = Jsoup.parse(rendered);
48 doc.select("html > body > main > div > div > div > pre").text())
51 verify(service).getRemoteText("foo");