Exemplo n.º 1
0
        public void ConvertRequestToBlogRequest_WithRequestForAlternateHost_RedirectsToPrimaryHost()
        {
            //arrange
            var service = new Mock <IBlogLookupService>();

            service.Setup(s => s.Lookup(It.IsAny <BlogRequest>())).Returns(new BlogLookupResult(null,
                                                                                                new Uri(
                                                                                                    "http://www.example.com/")));
            var httpResponse = new Mock <HttpResponseBase>();

            httpResponse.Stub(r => r.StatusCode);
            httpResponse.Stub(r => r.StatusDescription);
            httpResponse.Stub(r => r.RedirectLocation);
            Mock <HttpRequestBase> httpRequest = CreateRequest("example.com", "/", "/", true);
            var httpContext = new Mock <HttpContextBase>();

            httpContext.Setup(c => c.Request).Returns(httpRequest.Object);
            httpContext.Setup(c => c.Response).Returns(httpResponse.Object);
            var module = new BlogRequestModule(service.Object);

            //act
            BlogRequest request = module.ConvertRequestToBlogRequest(httpContext.Object);

            //assert
            Assert.IsNull(request);
            httpResponse.Verify(r => r.End());
            Assert.AreEqual(301, httpResponse.Object.StatusCode);
            Assert.AreEqual("301 Moved Permanently", httpResponse.Object.StatusDescription);
            Assert.AreEqual("http://www.example.com/", httpResponse.Object.RedirectLocation);
        }
Exemplo n.º 2
0
        public void ConvertRequestToBlogRequestForStaticImage_WithNoMatchingBlog_DoesNotRedirect()
        {
            //arrange
            var service = new Mock <IBlogLookupService>();
            var result  = new BlogLookupResult(null, new Uri("http://localhost/images/blog/services/identiconhandler.ashx"));

            service.Setup(s => s.Lookup(It.IsAny <BlogRequest>())).Returns(result);
            var httpResponse = new Mock <HttpResponseBase>();

            httpResponse.Setup(r => r.Redirect(It.IsAny <string>(), true)).Throws(new InvalidOperationException("Should not redirect"));
            Mock <HttpRequestBase> httpRequest = CreateRequest("example.com", "/", "/images/services/identiconhandler.ashx", true);
            var httpContext = new Mock <HttpContextBase>();

            httpContext.Setup(c => c.Request).Returns(httpRequest.Object);
            httpContext.Setup(c => c.Response).Returns(httpResponse.Object);
            var module = new BlogRequestModule(service.Object);

            //act
            BlogRequest request = module.ConvertRequestToBlogRequest(httpContext.Object);

            //assert
            Assert.IsNotNull(request);
            Assert.IsNull(request.Blog);
            Assert.AreEqual(RequestLocation.StaticFile, request.RequestLocation);
        }
Exemplo n.º 3
0
        public void ConvertRequestToBlogRequest_WithRequestForInstallationDirectory_ReturnsNullBlog()
        {
            //arrange
            var service = new Mock <IBlogLookupService>();

            service.Setup(s => s.Lookup(It.IsAny <BlogRequest>())).Throws(
                new InvalidOperationException("Should not be called"));
            var httpResponse = new Mock <HttpResponseBase>();

            httpResponse.Setup(r => r.Redirect(It.IsAny <string>(), true)).Throws(
                new InvalidOperationException("Method should not have been called"));
            Mock <HttpRequestBase> httpRequest = CreateRequest("example.com", "/", "/Install/Anything.aspx", true);

            httpRequest.Setup(r => r.FilePath).Returns("/Install/Anything.aspx");
            var httpContext = new Mock <HttpContextBase>();

            httpContext.Setup(c => c.Request).Returns(httpRequest.Object);
            httpContext.Setup(c => c.Response).Returns(httpResponse.Object);
            var module = new BlogRequestModule(service.Object);

            //act
            BlogRequest request = module.ConvertRequestToBlogRequest(httpContext.Object);

            //assert
            Assert.IsNull(request.Blog);
        }
Exemplo n.º 4
0
        public void ConvertRequestToBlogRequest_WithRequestForCorrectHost_ReturnsBlogRequest()
        {
            //arrange
            var service = new Mock <IBlogLookupService>();

            service.Setup(s => s.Lookup(It.IsAny <BlogRequest>())).Returns(
                new BlogLookupResult(new Blog {
                IsActive = true
            }, null));
            var httpResponse = new Mock <HttpResponseBase>();

            httpResponse.Setup(r => r.End()).Throws(
                new InvalidOperationException("This method should not have been called"));
            Mock <HttpRequestBase> httpRequest = CreateRequest("example.com", "/", "/", true);
            var httpContext = new Mock <HttpContextBase>();

            httpContext.Setup(c => c.Request).Returns(httpRequest.Object);
            httpContext.Setup(c => c.Response).Returns(httpResponse.Object);
            var module = new BlogRequestModule(service.Object);

            //act
            BlogRequest request = module.ConvertRequestToBlogRequest(httpContext.Object);

            //assert
            Assert.IsNotNull(request);
        }
Exemplo n.º 5
0
        public void ConvertRequestToBlogRequest_WithNoMatchingBlog_RedirectsToBlogNotConfiguredPage()
        {
            //arrange
            var service = new Mock <IBlogLookupService>();

            service.Setup(s => s.Lookup(It.IsAny <BlogRequest>())).Returns((BlogLookupResult)null);
            var httpResponse = new Mock <HttpResponseBase>();
            Mock <HttpRequestBase> httpRequest = CreateRequest("example.com", "/", "/", true);
            var httpContext = new Mock <HttpContextBase>();

            httpContext.Setup(c => c.Request).Returns(httpRequest.Object);
            httpContext.Setup(c => c.Response).Returns(httpResponse.Object);
            var module = new BlogRequestModule(service.Object);

            //act
            BlogRequest request = module.ConvertRequestToBlogRequest(httpContext.Object);

            //assert
            Assert.IsNull(request.Blog);
            httpResponse.Verify(r => r.Redirect("~/install/BlogNotConfiguredError.aspx", true));
        }
Exemplo n.º 6
0
        public void ConvertRequestToBlogRequestWithRequestForLoginPage_MatchingInactiveBlog_DoesNotRedirect()
        {
            //arrange
            var service = new Mock <IBlogLookupService>();
            var result  = new BlogLookupResult(new Blog {
                IsActive = false
            }, null);

            service.Setup(s => s.Lookup(It.IsAny <BlogRequest>())).Returns(result);
            var httpResponse = new Mock <HttpResponseBase>();
            Mock <HttpRequestBase> httpRequest = CreateRequest("example.com", "/", "/login.aspx", true);
            var httpContext = new Mock <HttpContextBase>();

            httpContext.Setup(c => c.Request).Returns(httpRequest.Object);
            httpContext.Setup(c => c.Response).Returns(httpResponse.Object);
            var module = new BlogRequestModule(service.Object);

            //act
            BlogRequest request = module.ConvertRequestToBlogRequest(httpContext.Object);

            //assert
            Assert.IsNotNull(request);
        }
Exemplo n.º 7
0
        public void ConvertRequestToBlogRequest_MatchingInactiveBlog_RedirectsToBlogInactivePage()
        {
            //arrange
            var service = new Mock <IBlogLookupService>();
            var result  = new BlogLookupResult(new Blog {
                IsActive = false
            }, null);

            service.Setup(s => s.Lookup(It.IsAny <BlogRequest>())).Returns(result);
            var httpResponse = new Mock <HttpResponseBase>();
            Mock <HttpRequestBase> httpRequest = CreateRequest("example.com", "/", "/", true);
            var httpContext = new Mock <HttpContextBase>();

            httpContext.Setup(c => c.Request).Returns(httpRequest.Object);
            httpContext.Setup(c => c.Response).Returns(httpResponse.Object);
            var module = new BlogRequestModule(service.Object);

            //act
            BlogRequest request = module.ConvertRequestToBlogRequest(httpContext.Object);

            //assert
            Assert.IsNull(request);
            httpResponse.Verify(r => r.Redirect("~/SystemMessages/BlogNotActive.aspx", true));
        }