+ Mono<String> mono = Mono.just("bar");
+
+ when(webClient.options()).thenReturn(headersSpec);
+ when(webClient.head()).thenReturn(headersSpec);
+ when(webClient.get()).thenReturn(headersSpec);
+ when(webClient.method(any(HttpMethod.class))).thenReturn(bodySpec);
+ when(headersSpec.uri(any(URI.class))).thenReturn(headersSpec);
+ when(headersSpec.uri(any(String.class), any(Function.class))).thenReturn(headersSpec);
+ when(headersSpec.uri(any(String.class), any(Map.class))).thenReturn(headersSpec);
+ when(headersSpec.uri(any(String.class), (Object[])any())).thenReturn(headersSpec);
+ when(headersSpec.uri(any(Function.class))).thenReturn(headersSpec);
+ when(headersSpec.accept((MediaType[])any())).thenReturn(headersSpec);
+ when(headersSpec.acceptCharset((Charset[])any())).thenReturn(headersSpec);
+ when(headersSpec.attribute(any(String.class), any(Object.class))).thenReturn(headersSpec);
+ when(headersSpec.cookie(any(String.class), any(String.class))).thenReturn(headersSpec);
+ when(headersSpec.cookies(any(Consumer.class))).thenReturn(headersSpec);
+ when(headersSpec.exchange()).thenReturn(mono);
+ when(headersSpec.header(any(String.class), (String[])any())).thenReturn(headersSpec);
+ when(headersSpec.headers(any(Consumer.class))).thenReturn(headersSpec);
+ when(headersSpec.ifModifiedSince(any(ZonedDateTime.class))).thenReturn(headersSpec);
+ when(headersSpec.ifNoneMatch((String[])any())).thenReturn(headersSpec);
+ when(headersSpec.retrieve()).thenReturn(responseSpec);
+ when(bodySpec.uri(any(URI.class))).thenReturn(bodySpec);
+ when(bodySpec.uri(any(String.class), any(Function.class))).thenReturn(bodySpec);
+ when(bodySpec.uri(any(String.class), any(Map.class))).thenReturn(bodySpec);
+ when(bodySpec.uri(any(String.class), (Object[])any())).thenReturn(bodySpec);
+ when(bodySpec.uri(any(Function.class))).thenReturn(bodySpec);
+ when(bodySpec.accept((MediaType[])any())).thenReturn(bodySpec);
+ when(bodySpec.acceptCharset((Charset[])any())).thenReturn(bodySpec);
+ when(bodySpec.attribute(any(String.class), any(Object.class))).thenReturn(bodySpec);
+ when(bodySpec.cookie(any(String.class), any(String.class))).thenReturn(bodySpec);
+ when(bodySpec.cookies(any(Consumer.class))).thenReturn(bodySpec);
+ when(bodySpec.exchange()).thenReturn(Mono.just(clientResponse));
+ when(bodySpec.header(any(String.class), (String[])any())).thenReturn(bodySpec);
+ when(bodySpec.headers(any(Consumer.class))).thenReturn(bodySpec);
+ when(bodySpec.ifModifiedSince(any(ZonedDateTime.class))).thenReturn(bodySpec);
+ when(bodySpec.ifNoneMatch((String[])any())).thenReturn(bodySpec);
+ when(bodySpec.contentLength(any(Long.class))).thenReturn(bodySpec);
+ when(bodySpec.contentType(any(MediaType.class))).thenReturn(bodySpec);
+ when(bodySpec.retrieve()).thenReturn(responseSpec);
+ when(responseSpec.bodyToMono(String.class)).thenReturn(mono);
+ when(clientResponse.bodyToMono(String.class)).thenReturn(mono);