Merge branch '5.1.x'

This commit is contained in:
Arjen Poutsma
2019-07-30 15:46:27 +02:00
3 changed files with 77 additions and 28 deletions

View File

@@ -730,6 +730,28 @@ public class WebClientIntegrationTests {
});
}
@Test
public void shouldApplyCustomRawStatusHandler() {
prepareResponse(response -> response.setResponseCode(500)
.setHeader("Content-Type", "text/plain").setBody("Internal Server error"));
Mono<String> result = this.webClient.get()
.uri("/greeting?name=Spring")
.retrieve()
.onRawStatus(value -> value >= 500 && value < 600, response -> Mono.just(new MyException("500 error!")))
.bodyToMono(String.class);
StepVerifier.create(result)
.expectError(MyException.class)
.verify(Duration.ofSeconds(3));
expectRequestCount(1);
expectRequest(request -> {
assertThat(request.getHeader(HttpHeaders.ACCEPT)).isEqualTo("*/*");
assertThat(request.getPath()).isEqualTo("/greeting?name=Spring");
});
}
@Test
public void shouldApplyCustomStatusHandlerParameterizedTypeReference() {
prepareResponse(response -> response.setResponseCode(500)