リクエストパラメータがOKの場合にタスクを実行するようにWebサービスを設計しました。リクエストパラメータが間違っているか空である場合は、401 Unauthorized HTTPステータスコードを返します。Spring RestTemplateがエラーでwebserviceを呼び出し、ステータスコードを分析する
私はRestTemplate
を使用してテストを行っています。ウェブサービスが成功した場合、HTTP 200 OKステータスを確認できます。しかし、RestTemplate
自体が例外をスローするため、HTTP 401エラーをテストできません。
私の試験方法は
@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)
でどのようにWebサービスは、HTTPステータスコード401で応答した場合、私はテストすることができますか?
私の答えはあなたのために機能しましたか? – nilesh