public void ThrowsClientExceptionWithNoBody() { Uri requestUri = new Uri("http://www.springframework.net"); HttpMethod requestMethod = HttpMethod.GET; ExpectResponse(String.Empty, Encoding.UTF8, HttpStatusCode.NotFound, "NotFound"); mocks.ReplayAll(); Assert.IsTrue(responseErrorHandler.HasError(requestUri, requestMethod, response)); try { responseErrorHandler.HandleError(requestUri, requestMethod, response); Assert.Fail("DefaultResponseErrorHandler.HandleError should throw an exception"); } catch (Exception ex) { HttpClientErrorException clientErrorException = ex as HttpClientErrorException; Assert.IsNotNull(clientErrorException, "Exception HttpClientErrorException expected"); Assert.AreEqual(requestUri, clientErrorException.RequestUri); Assert.AreEqual(requestMethod, clientErrorException.RequestMethod); Assert.IsNotNull(clientErrorException.Response); Assert.AreEqual(0, clientErrorException.Response.Headers.ContentLength); Assert.AreEqual(0, clientErrorException.Response.Body.Length); Assert.AreEqual(String.Empty, clientErrorException.GetResponseBodyAsString()); } }
public void ThrowsClientException() { Uri requestUri = new Uri("http://www.springframework.net"); HttpMethod requestMethod = HttpMethod.GET; ExpectResponse("ClientError", Encoding.UTF8, HttpStatusCode.NotFound, "NotFound"); mocks.ReplayAll(); Assert.IsTrue(responseErrorHandler.HasError(requestUri, requestMethod, response)); try { responseErrorHandler.HandleError(requestUri, requestMethod, response); Assert.Fail("DefaultResponseErrorHandler.HandleError should throw an exception"); } catch (Exception ex) { HttpClientErrorException clientErrorException = ex as HttpClientErrorException; Assert.IsNotNull(clientErrorException, "Exception HttpClientErrorException expected"); Assert.AreEqual(requestUri, clientErrorException.RequestUri); Assert.AreEqual(requestMethod, clientErrorException.RequestMethod); Assert.IsNotNull(clientErrorException.Response); Assert.IsTrue(clientErrorException.Response.Body.Length > 0); Assert.IsTrue(clientErrorException.Response.Headers.ContentLength > 0); Assert.AreEqual(new MediaType("text", "plain", "utf-8"), clientErrorException.Response.Headers.ContentType); Assert.AreEqual("ClientError", clientErrorException.GetResponseBodyAsString()); Assert.AreEqual(HttpStatusCode.NotFound, clientErrorException.Response.StatusCode); Assert.AreEqual("NotFound", clientErrorException.Response.StatusDescription); } }