Allow for null values in ExtractingResponseErrorHandler.hasError

This commit fixes the implementation of
ExtractingResponseErrorHandler.hasError to allow for null values,
indicating an override of the behavior inherited from
DefaultResponseErrorHandler.

Issue: SPR-15544
This commit is contained in:
Arjen Poutsma
2017-06-01 11:44:08 +02:00
parent d3e3365990
commit 7894efdd1e
2 changed files with 25 additions and 3 deletions

View File

@@ -68,6 +68,21 @@ public class ExtractingResponseErrorHandlerTests {
assertFalse(this.errorHandler.hasError(this.response));
}
@Test
public void hasErrorOverride() throws Exception {
this.errorHandler.setSeriesMapping(Collections
.singletonMap(HttpStatus.Series.CLIENT_ERROR, null));
given(this.response.getStatusCode()).willReturn(HttpStatus.I_AM_A_TEAPOT);
assertTrue(this.errorHandler.hasError(this.response));
given(this.response.getStatusCode()).willReturn(HttpStatus.NOT_FOUND);
assertFalse(this.errorHandler.hasError(this.response));
given(this.response.getStatusCode()).willReturn(HttpStatus.OK);
assertFalse(this.errorHandler.hasError(this.response));
}
@Test
public void handleErrorStatusMatch() throws Exception {
given(this.response.getStatusCode()).willReturn(HttpStatus.I_AM_A_TEAPOT);
@@ -133,6 +148,7 @@ public class ExtractingResponseErrorHandlerTests {
public void handleNoMatchOverride() throws Exception {
this.errorHandler.setSeriesMapping(Collections
.singletonMap(HttpStatus.Series.CLIENT_ERROR, null));
given(this.response.getStatusCode()).willReturn(HttpStatus.NOT_FOUND);
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.setContentType(MediaType.APPLICATION_JSON);