コード例 #1
0
        protected override void When()
        {
            Entity.Stub(x => x.ContentLength).Return(EntityContentLength);
            Entity.Stub(x => x.CompressionType).Return(EntityCompressionType);
            Entity.Stub(x => x.ContentType).Return(EntityContentType);

            HttpResponseHeaderHelper
            .Stub(x => x.SetContentEncoding(HttpResponse, ResponseCompressionType))
            .Callback((HttpResponseBase httpResponse, ResponseCompressionType responseCompressionType) =>
            {
                ResponseCompressionTypeSet = responseCompressionType;
                return(true);
            });

            HttpResponseHeaderHelper
            .Stub(x => x.AppendHeader(HttpResponse, EntityResponseFull.HttpHeaderContentLength, EntityContentLength.ToString()))
            .Callback((HttpResponseBase httpResponse, string httpResponseHeader, string headerValue) =>
            {
                ContentLengthSet = headerValue;
                return(true);
            });

            HttpResponse.Stub(x => x.ContentType).PropertyBehavior();
            HttpResponse.Stub(x => x.Filter).PropertyBehavior();
            HttpResponse.Filter = new MemoryStream();

            SystemUnderTest.SendHeaders(HttpResponse, ResponseCompressionType, Entity);
        }
コード例 #2
0
        public void SetResponseCachable_HeadersSet_Void()
        {
            //Arrange
            var httpResponse = MockRepository.GenerateMock <HttpResponseBase>();
            var cache        = MockRepository.GenerateMock <HttpCachePolicyBase>();

            httpResponse.Stub(x => x.Cache).Return(cache);

            var now    = DateTime.Now;
            var etag   = "1234567";
            var maxAge = new TimeSpan(1, 0, 0, 0);

            var expiryDate      = now.Add(maxAge);
            var cachability     = HttpCacheability.Public;
            var cacheExtensions = "must-revalidate, proxy-revalidate";
            var lastModified    = new DateTime(2010, 01, 01, 01, 01, 01, DateTimeKind.Utc);

            var webServerType = WebServerType.Unknown;

            httpResponse.Cache.Expect(x => x.SetExpires(expiryDate));
            httpResponse.Cache.Expect(x => x.SetCacheability(cachability));
            httpResponse.Cache.Expect(x => x.AppendCacheExtension(cacheExtensions));
            httpResponse.Cache.Expect(x => x.SetLastModified(lastModified));
            httpResponse.Cache.Expect(x => x.SetETag("\"" + etag + "\""));
            httpResponse.Cache.Expect(x => x.SetMaxAge(maxAge));

            //Act
            var httpResponseHeaderHelper = new HttpResponseHeaderHelper(webServerType);

            httpResponseHeaderHelper.SetResponseCachable(httpResponse, now, lastModified, etag, maxAge);

            //Assert
            cache.VerifyAllExpectations();
            httpResponse.VerifyAllExpectations();
        }
コード例 #3
0
        public void SetContentType()
        {
            //Arrange
            var httpResponse  = MockRepository.GenerateMock <HttpResponseBase>();
            var contentType   = "text/plain";
            var webServerType = WebServerType.Unknown;

            httpResponse.Expect(x => x.ContentType = contentType);

            //Act
            var httpResponseHeaderHelper = new HttpResponseHeaderHelper(webServerType);

            httpResponseHeaderHelper.SetContentType(httpResponse, contentType);

            //Assert
            httpResponse.VerifyAllExpectations();
        }
コード例 #4
0
        public void SetResponseResumable_HeadersSet_Void()
        {
            //Arrange
            var httpResponse = MockRepository.GenerateMock <HttpResponseBase>();

            var headerName    = (string)HttpResponseHeader.AcceptRanges;
            var headerValue   = HttpResponseHeaderHelper.HttpHeaderAcceptRangesBytes;
            var webServerType = WebServerType.Unknown;

            httpResponse.Expect(x => x.AddHeader(headerName, headerValue));

            //Act
            var httpResponseHeaderHelper = new HttpResponseHeaderHelper(webServerType);

            httpResponseHeaderHelper.SetResponseResumable(httpResponse);

            //Assert
            httpResponse.VerifyAllExpectations();
        }
コード例 #5
0
        public void AppendHeader_StringAllButII7_Void()
        {
            //Arrange
            var httpResponse = MockRepository.GenerateMock<HttpResponseBase>();
            var httpResponseHeader = HttpResponseHeader.ETag;
            var headerName = (string)httpResponseHeader;
            var headerValue = "Test";
            var webServerType = WebServerType.Unknown;

            httpResponse.Expect(x => x.AddHeader(headerName, headerValue));

            //Act
            var httpResponseHeaderHelper = new HttpResponseHeaderHelper(webServerType);
            httpResponseHeaderHelper.AppendHeader(httpResponse, headerName, headerValue);

            //Assert
            httpResponse.AssertWasNotCalled(x => x.AppendHeader(headerName, headerValue));
            httpResponse.VerifyAllExpectations();
        }
コード例 #6
0
        public void SendHttpStatusCodeHeaders_HeadersSet_Void()
        {
            //Arrange
            var httpResponse = MockRepository.GenerateMock<HttpResponseBase>();
            var httpStatus = HttpStatusCode.Ok;
            var statusCode = (int)httpStatus;
            var statusDescription = (string)httpStatus;
            var webServerType = WebServerType.Unknown;

            httpResponse.Expect(x => x.StatusCode = statusCode);
            httpResponse.Expect(x => x.StatusDescription = statusDescription);

            //Act
            var httpResponseHeaderHelper = new HttpResponseHeaderHelper(webServerType);
            httpResponseHeaderHelper.SendHttpStatusHeaders(httpResponse, httpStatus);

            //Assert
            httpResponse.VerifyAllExpectations();
        }
コード例 #7
0
        public void AppendHeader_OnlyIIS7_Void()
        {
            //Arrange
            var httpResponse       = MockRepository.GenerateMock <HttpResponseBase>();
            var httpResponseHeader = HttpResponseHeader.ETag;
            var headerName         = (string)httpResponseHeader;
            var headerValue        = "Test";
            var webServerType      = WebServerType.IIS7;

            httpResponse.Expect(x => x.AppendHeader(headerName, headerValue));

            //Act
            var httpResponseHeaderHelperIis7 = new HttpResponseHeaderHelper(webServerType);

            httpResponseHeaderHelperIis7.AppendHeader(httpResponse, httpResponseHeader, headerValue);

            //Assert
            httpResponse.AssertWasNotCalled(x => x.AddHeader(headerName, headerValue));
            httpResponse.VerifyAllExpectations();
        }
コード例 #8
0
        public void SetContentEncoding_None_Void()
        {
            //Arrange
            var httpResponse            = MockRepository.GenerateMock <HttpResponseBase>();
            var responseCompressionType = ResponseCompressionType.None;

            var httpResponseHeader = HttpResponseHeader.ContentEncoding;
            var headerName         = (string)httpResponseHeader;
            var headerValue        = responseCompressionType.ToString().ToLower();
            var webServerType      = WebServerType.Unknown;

            //Act
            var httpResponseHeaderHelper = new HttpResponseHeaderHelper(webServerType);

            httpResponseHeaderHelper.SetContentEncoding(httpResponse, responseCompressionType);

            //Assert
            httpResponse.AssertWasNotCalled(x => x.AddHeader(headerName, headerValue));
            httpResponse.VerifyAllExpectations();
        }
コード例 #9
0
        public void SendHttpStatusCodeHeaders_HeadersSet_Void()
        {
            //Arrange
            var httpResponse      = MockRepository.GenerateMock <HttpResponseBase>();
            var httpStatus        = HttpStatusCode.Ok;
            var statusCode        = (int)httpStatus;
            var statusDescription = (string)httpStatus;
            var webServerType     = WebServerType.Unknown;

            httpResponse.Expect(x => x.StatusCode        = statusCode);
            httpResponse.Expect(x => x.StatusDescription = statusDescription);

            //Act
            var httpResponseHeaderHelper = new HttpResponseHeaderHelper(webServerType);

            httpResponseHeaderHelper.SendHttpStatusHeaders(httpResponse, httpStatus);

            //Assert
            httpResponse.VerifyAllExpectations();
        }
コード例 #10
0
        public void SetResponseResumable_HeadersSet_Void()
        {
            //Arrange
            var httpResponse = MockRepository.GenerateMock<HttpResponseBase>();

            var headerName = (string)HttpResponseHeader.AcceptRanges;
            var headerValue = HttpResponseHeaderHelper.HttpHeaderAcceptRangesBytes;
            var webServerType = WebServerType.Unknown;

            httpResponse.Expect(x => x.AddHeader(headerName, headerValue));

            //Act
            var httpResponseHeaderHelper = new HttpResponseHeaderHelper(webServerType);
            httpResponseHeaderHelper.SetResponseResumable(httpResponse);

            //Assert
            httpResponse.VerifyAllExpectations();
        }
コード例 #11
0
        public void SetResponseCachable_HeadersSet_Void()
        {
            //Arrange
            var httpResponse = MockRepository.GenerateMock<HttpResponseBase>();
            var cache = MockRepository.GenerateMock<HttpCachePolicyBase>();
            httpResponse.Stub(x => x.Cache).Return(cache);

            var now = DateTime.Now;
            var etag = "1234567";
            var maxAge = new TimeSpan(1, 0, 0, 0);

            var expiryDate = now.Add(maxAge);
            var cachability = HttpCacheability.Public;
            var cacheExtensions = "must-revalidate, proxy-revalidate";
            var lastModified = new DateTime(2010, 01, 01, 01, 01, 01);

            var webServerType = WebServerType.Unknown;

            httpResponse.Cache.Expect(x => x.SetExpires(expiryDate));
            httpResponse.Cache.Expect(x => x.SetCacheability(cachability));
            httpResponse.Cache.Expect(x => x.AppendCacheExtension(cacheExtensions));
            httpResponse.Cache.Expect(x => x.SetLastModified(lastModified));
            httpResponse.Cache.Expect(x => x.SetETag(etag));
            httpResponse.Cache.Expect(x => x.SetMaxAge(maxAge));

            //Act
            var httpResponseHeaderHelper = new HttpResponseHeaderHelper(webServerType);
            httpResponseHeaderHelper.SetResponseCachable(httpResponse, now, lastModified, etag, maxAge);

            //Assert
            cache.VerifyAllExpectations();
            httpResponse.VerifyAllExpectations();
        }
コード例 #12
0
        public void SetContentType()
        {
            //Arrange
            var httpResponse = MockRepository.GenerateMock<HttpResponseBase>();
            var contentType = "text/plain";
            var webServerType = WebServerType.Unknown;

            httpResponse.Expect(x => x.ContentType = contentType);

            //Act
            var httpResponseHeaderHelper = new HttpResponseHeaderHelper(webServerType);
            httpResponseHeaderHelper.SetContentType(httpResponse, contentType);

            //Assert
            httpResponse.VerifyAllExpectations();
        }
コード例 #13
0
        public void SetContentEncoding_None_Void()
        {
            //Arrange
            var httpResponse = MockRepository.GenerateMock<HttpResponseBase>();
            var responseCompressionType = ResponseCompressionType.None;

            var httpResponseHeader = HttpResponseHeader.ContentEncoding;
            var headerName = (string)httpResponseHeader;
            var headerValue = responseCompressionType.ToString().ToLower();
            var webServerType = WebServerType.Unknown;

            //Act
            var httpResponseHeaderHelper = new HttpResponseHeaderHelper(webServerType);
            httpResponseHeaderHelper.SetContentEncoding(httpResponse, responseCompressionType);

            //Assert
            httpResponse.AssertWasNotCalled(x => x.AddHeader(headerName, headerValue));
            httpResponse.VerifyAllExpectations();
        }