public void Page_web_exception_maps_to_correct_status_code() { // Arrange var request = new Mock <HttpWebRequest>(); var response = new Mock <HttpWebResponse>(); response.SetupGet(x => x.StatusCode).Returns(HttpStatusCode.NotFound); var innerException = new Exception("Inner exception"); var webException = new WebException("Unit test exception", innerException, WebExceptionStatus.ProtocolError, response.Object); request.Setup(x => x.GetResponse()).Throws(webException); var factory = new Mock <IHttpWebRequestFactory>(); factory.Setup(x => x.Create(It.IsAny <string>())).Returns(request.Object); var pageChecker = new HttpResponsePageChecker(factory.Object); // Act var validationResult = pageChecker.PageResponseValid("http://baseurl/", new SitecoreItem { ExternalUrl = "/test" }) as HttpPageCheckResult; // Assert Assert.IsNotNull(validationResult); Assert.IsFalse(validationResult.Success); Assert.AreEqual(HttpStatusCode.NotFound, validationResult.StatusCode); }
public void Page_status_code_responses_map_to_page_is_valid(HttpStatusCode statusCode, bool expectedIsValid) { // Arrange var request = new Mock <HttpWebRequest>(); var response = new Mock <HttpWebResponse>(); response.SetupGet(x => x.StatusCode).Returns(statusCode); request.Setup(x => x.GetResponse()).Returns(response.Object); var factory = new Mock <IHttpWebRequestFactory>(); factory.Setup(x => x.Create(It.IsAny <string>())).Returns(request.Object); var pageChecker = new HttpResponsePageChecker(factory.Object); // Act var validationResult = pageChecker.PageResponseValid("http://baseurl/", new SitecoreItem { ExternalUrl = "/test" }) as HttpPageCheckResult; // Assert Assert.IsNotNull(validationResult); Assert.AreEqual(expectedIsValid, validationResult.Success); Assert.AreEqual(statusCode, validationResult.StatusCode); }