X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fdemo%2FRemoteContentServiceTest.java;h=cf2f035d06b1910b56ca6a538d7942abcc5e7fdd;hb=a8d8724d2121865c96692a25fd29ecf0d266bf7e;hp=60d1c5daa79af462aea5b290709ea483a85398b9;hpb=c50300e7e06c49d21c088b09d2a58693ccc26c7e;p=demos%2Ftesting diff --git a/src/test/java/de/juplo/demo/RemoteContentServiceTest.java b/src/test/java/de/juplo/demo/RemoteContentServiceTest.java index 60d1c5d..cf2f035 100644 --- a/src/test/java/de/juplo/demo/RemoteContentServiceTest.java +++ b/src/test/java/de/juplo/demo/RemoteContentServiceTest.java @@ -1,18 +1,17 @@ package de.juplo.demo; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.junit.jupiter.SpringExtension; +import org.springframework.web.reactive.function.client.ClientResponse; +import org.springframework.web.reactive.function.client.ExchangeFunction; import org.springframework.web.reactive.function.client.WebClient; -import org.springframework.web.reactive.function.client.WebClient.RequestHeadersUriSpec; -import org.springframework.web.reactive.function.client.WebClient.ResponseSpec; import reactor.core.publisher.Mono; -import reactor.test.StepVerifier; /** @@ -25,33 +24,31 @@ public class RemoteContentServiceTest RemoteContentService service; @MockBean - WebClient webClient; + ExchangeFunction exchangeFunction; @MockBean - RequestHeadersUriSpec uriSpec; - @MockBean - ResponseSpec responseSpec; + ClientResponse clientResponse; @BeforeEach void setUp() { - service = new RemoteContentService(webClient); + service = + new RemoteContentService( + WebClient + .builder() + .exchangeFunction(request -> Mono.just(clientResponse)) + .build()); } @Test void test() { - when(webClient.get()).thenReturn(uriSpec); - when(uriSpec.uri(eq("/foo"))).thenReturn(uriSpec); - when(uriSpec.retrieve()).thenReturn(responseSpec); - when(responseSpec.bodyToMono(String.class)).thenReturn(Mono.just("bar")); + Mono mono = Mono.just("bar"); + when(clientResponse.bodyToMono(String.class)).thenReturn(mono); Mono result = service.getRemoteText("/foo"); - StepVerifier - .create(result) - .expectNext("bar") - .verifyComplete(); + assertThat(result.block()).isEqualTo("bar"); } }