Я разработал веб-сервис для выполнения задачи, если параметры запроса в порядке, или вернуть 401 Несанкционированный код состояния HTTP, если параметры запроса неверны или пусты.
Я использую RestTemplate
для выполнения теста, и я могу проверить статус HTTP 200 OK, если веб-служба отвечает с успехом. Однако я не могу протестировать ошибку HTTP 401, потому что RestTemplate
сам генерирует исключение.
Мой метод тестирования
@Test
public void testUnauthorized()
{
Map<String, Object> params = new HashMap<String, Object>();
ResponseEntity response = restTemplate.postForEntity(url, params, Map.class);
Assert.assertEquals(HttpStatus.UNAUTHORIZED, response.getStatusCode());
Assert.assertNotNull(response.getBody());
}
Журнал исключений
org.springframework.web.client.HttpClientErrorException: 401 Unauthorized
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:88)
at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:533)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:489)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:447)
at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:318)
Как я могу проверить, отвечает ли webservice кодом состояния HTTP 401?