nativeResponse.addHeader(LOCATION_HEADER, requestURL.toString());\r
nativeResponse.getWriter().print("");\r
} else {\r
- throw new HeaderException(LOCATION_HEADER, new Exception("Native Request or Response missing"));\r
+ throw new HeaderException(LOCATION_HEADER, serviceName,\r
+ new Exception("Native Request or Response missing"));\r
}\r
} catch (IOException e) {\r
- throw new HeaderException(LOCATION_HEADER, e);\r
+ throw new HeaderException(LOCATION_HEADER, serviceName, e);\r
}\r
}\r
\r
private static final long serialVersionUID = -7798178963078284655L;
- public HeaderException(String header, Exception cause) {
- super(String.format("Unable to set header %s in response. Cause: %s", header, cause.getMessage()));
+ public HeaderException(String header, String serviceName, Exception cause) {
+ super(String.format("Unable to set header %s in put response for service %s. Cause: %s", header, serviceName,
+ cause.getMessage()));
}
}
void handleHeaderException_shouldReturnInternalServerErrorWithMessage() {
GeneralRappCatalogueControllerAdvisor advisorUnderTest = new GeneralRappCatalogueControllerAdvisor();
- HeaderException exception = new HeaderException("Header", new Exception("Cause"));
+ String serviceName = "Service";
+ HeaderException exception = new HeaderException("Header", serviceName, new Exception("Cause"));
ResponseEntity<Object> response = advisorUnderTest.handleHeaderException(exception);
assertThat(response.getStatusCode()).isEqualTo(INTERNAL_SERVER_ERROR);
ErrorInformation body = (ErrorInformation) response.getBody();
assertThat(body.getStatus()).isEqualTo(INTERNAL_SERVER_ERROR.value());
- assertThat(body.getDetail()).isEqualTo("Unable to set header Header in response. Cause: Cause");
+ assertThat(body.getDetail())
+ .isEqualTo("Unable to set header Header in put response for service " + serviceName + ". Cause: Cause");
}
}
}\r
\r
@Test\r
- void putServiceWhenIoException_shouldThrowExceptionAndNoServiceCreated() throws Exception {\r
+ void putServiceWhenIoExceptionAddingHeader_shouldThrowExceptionAndNoServiceCreated() throws Exception {\r
ServicesApiDelegateImpl delegateUnderTest = new ServicesApiDelegateImpl(webRequestMock);\r
\r
whenGetRequestUrlThenReturnUrl();\r
delegateUnderTest.putIndividualService(SERVICE_NAME, service);\r
});\r
\r
- assertThat(exception.getMessage()).isEqualTo("Unable to set header Location in response. Cause: Error");\r
+ assertThat(exception.getMessage())\r
+ .isEqualTo("Unable to set header Location in put response for service " + SERVICE_NAME + ". Cause: Error");\r
\r
ResponseEntity<List<Service>> response = delegateUnderTest.getServices();\r
assertThat(response.getBody()).isEmpty();\r
assertThat(services).hasSize(2);\r
List<String> expectedServiceNames = Arrays.asList(serviceName1, serviceName2);\r
assertThat(expectedServiceNames).contains(services.get(0).getName()) //\r
- .contains(services.get(1).getName());\r
+ .contains(services.get(1).getName());\r
}\r
\r
@Test\r