4 import org.junit.jupiter.api.DisplayName;
5 import org.junit.jupiter.api.extension.ExtendWith;
6 import org.junit.jupiter.params.ParameterizedTest;
7 import org.junit.jupiter.params.provider.ValueSource;
8 import static org.mockito.Mockito.verify;
9 import static org.mockito.Mockito.when;
10 import org.springframework.beans.factory.annotation.Autowired;
11 import org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTest;
12 import org.springframework.boot.test.mock.mockito.MockBean;
13 import org.springframework.http.MediaType;
14 import org.springframework.test.context.junit.jupiter.SpringExtension;
15 import org.springframework.test.web.reactive.server.WebTestClient;
16 import reactor.core.publisher.Mono;
20 * Narrow Integration-Test for the {@link RestController}.
23 @ExtendWith(SpringExtension.class)
25 public class RestControllerIT
28 WebTestClient webClient;
30 RemoteContentService service;
33 @DisplayName("Valid mappings for RestController with parameter")
35 @ValueSource(strings = { "/?path=foo", "?path=foo" })
36 void testUriWithParameter(String uri)
38 when(service.getRemoteText("foo")).thenReturn(Mono.just("bar"));
42 .header("Accept", MediaType.TEXT_PLAIN_VALUE)
44 .expectStatus().isOk()
45 .expectBody(String.class).isEqualTo("bar");
46 verify(service).getRemoteText("foo");