public void SendBody_NotAHeadOrGetRequest_Void() { //Arrange var httpResponse = MockRepository.GenerateMock <HttpResponseBase>(); var httpResponseHeaderHelper = MockRepository.GenerateMock <IHttpResponseHeaderHelper>(); var transmitEntityStrategy = MockRepository.GenerateMock <ITransmitEntityStrategy>(); var requestHttpMethod = HttpMethod.Options; var firstStartRange = 0L; var firstEndRange = 499L; var firstRangeItem = new RangeItem { StartRange = firstStartRange, EndRange = firstEndRange }; var secondStartRange = 500L; var secondEndRange = 999L; var secondRangeItem = new RangeItem { StartRange = secondStartRange, EndRange = secondEndRange }; var rangeItems = new[] { firstRangeItem, secondRangeItem }; //Act var multiPartEntityResponse = new EntityResponseMultiPart(httpResponseHeaderHelper, rangeItems); var ex = Assert.Throws <Exception>(() => multiPartEntityResponse.SendBody(requestHttpMethod, httpResponse, transmitEntityStrategy)); }
public void SendBody_NotAHeadOrGetRequest_Void() { //Arrange var httpResponse = MockRepository.GenerateMock<HttpResponseBase>(); var httpResponseHeaderHelper = MockRepository.GenerateMock<IHttpResponseHeaderHelper>(); var transmitEntityStrategy = MockRepository.GenerateMock<ITransmitEntityStrategy>(); var requestHttpMethod = HttpMethod.Options; var firstStartRange = 0L; var firstEndRange = 499L; var firstRangeItem = new RangeItem { StartRange = firstStartRange, EndRange = firstEndRange }; var secondStartRange = 500L; var secondEndRange = 999L; var secondRangeItem = new RangeItem { StartRange = secondStartRange, EndRange = secondEndRange }; var rangeItems = new[] { firstRangeItem, secondRangeItem }; //Act var multiPartEntityResponse = new EntityResponseMultiPart(httpResponseHeaderHelper, rangeItems); var ex = Assert.Throws<Exception>(() => multiPartEntityResponse.SendBody(requestHttpMethod, httpResponse, transmitEntityStrategy)); }
public void SendBody_HeadRequest_Void() { //Arrange var httpResponse = MockRepository.GenerateMock<HttpResponseBase>(); var httpResponseHeaderHelper = MockRepository.GenerateMock<IHttpResponseHeaderHelper>(); var transmitEntityStrategy = MockRepository.GenerateMock<ITransmitEntityStrategy>(); var entity = MockRepository.GenerateMock<IEntity>(); var output = MockRepository.GenerateMock<TextWriter>(); var requestHttpMethod = HttpMethod.Head; var contentType = "image/gif"; var contentLength = 1000L; var firstStartRange = 0L; var firstEndRange = 499L; var firstBytesToRead = firstEndRange - firstStartRange + 1; var firstRangeItem = new RangeItem { StartRange = firstStartRange, EndRange = firstEndRange }; var secondStartRange = 500L; var secondEndRange = 999L; var secondBytesToRead = secondEndRange - secondStartRange + 1; var secondRangeItem = new RangeItem { StartRange = secondStartRange, EndRange = secondEndRange }; var rangeItems = new[] { firstRangeItem, secondRangeItem }; var firstHeader = "\r\n--" + EntityResponseMultiPart.MultipartBoundary + "\r\n" + EntityResponseMultiPart.HttpHeaderContentType + ": " + contentType + "\r\n" + EntityResponseMultiPart.HttpHeaderContentRange + ": " + EntityResponseMultiPart.Bytes + " " + firstStartRange + "-" + firstEndRange + "/" + contentLength + "\r\n" + "\r\n"; var secondHeader = "\r\n--" + EntityResponseMultiPart.MultipartBoundary + "\r\n" + EntityResponseMultiPart.HttpHeaderContentType + ": " + contentType + "\r\n" + EntityResponseMultiPart.HttpHeaderContentRange + ": " + EntityResponseMultiPart.Bytes + " " + secondStartRange + "-" + secondEndRange + "/" + contentLength + "\r\n" + "\r\n"; var footer = "\r\n--" + EntityResponseMultiPart.MultipartBoundary + "--\r\n"; transmitEntityStrategy.Stub(x => x.Entity).Return(entity); entity.Stub(x => x.ContentType).Return(contentType); entity.Stub(x => x.ContentLength).Return(contentLength); httpResponse.Stub(x => x.Output).Return(output); //Act var multiPartEntityResponse = new EntityResponseMultiPart(httpResponseHeaderHelper, rangeItems); multiPartEntityResponse.SendBody(requestHttpMethod, httpResponse, transmitEntityStrategy); //Assert output.AssertWasNotCalled(x => x.Write(firstHeader)); transmitEntityStrategy.AssertWasNotCalled(x => x.Transmit(httpResponse, firstStartRange, firstBytesToRead)); output.AssertWasNotCalled(x => x.Write(secondHeader)); transmitEntityStrategy.AssertWasNotCalled(x => x.Transmit(httpResponse, secondStartRange, secondBytesToRead)); output.AssertWasNotCalled(x => x.Write(footer)); }
public void SendBody_HeadRequest_Void() { //Arrange var httpResponse = MockRepository.GenerateMock <HttpResponseBase>(); var httpResponseHeaderHelper = MockRepository.GenerateMock <IHttpResponseHeaderHelper>(); var transmitEntityStrategy = MockRepository.GenerateMock <ITransmitEntityStrategy>(); var entity = MockRepository.GenerateMock <IEntity>(); var output = MockRepository.GenerateMock <TextWriter>(); var requestHttpMethod = HttpMethod.Head; var contentType = "image/gif"; var contentLength = 1000L; var firstStartRange = 0L; var firstEndRange = 499L; var firstBytesToRead = firstEndRange - firstStartRange + 1; var firstRangeItem = new RangeItem { StartRange = firstStartRange, EndRange = firstEndRange }; var secondStartRange = 500L; var secondEndRange = 999L; var secondBytesToRead = secondEndRange - secondStartRange + 1; var secondRangeItem = new RangeItem { StartRange = secondStartRange, EndRange = secondEndRange }; var rangeItems = new[] { firstRangeItem, secondRangeItem }; var firstHeader = "\r\n--" + EntityResponseMultiPart.MultipartBoundary + "\r\n" + EntityResponseMultiPart.HttpHeaderContentType + ": " + contentType + "\r\n" + EntityResponseMultiPart.HttpHeaderContentRange + ": " + EntityResponseMultiPart.Bytes + " " + firstStartRange + "-" + firstEndRange + "/" + contentLength + "\r\n" + "\r\n"; var secondHeader = "\r\n--" + EntityResponseMultiPart.MultipartBoundary + "\r\n" + EntityResponseMultiPart.HttpHeaderContentType + ": " + contentType + "\r\n" + EntityResponseMultiPart.HttpHeaderContentRange + ": " + EntityResponseMultiPart.Bytes + " " + secondStartRange + "-" + secondEndRange + "/" + contentLength + "\r\n" + "\r\n"; var footer = "\r\n--" + EntityResponseMultiPart.MultipartBoundary + "--\r\n"; transmitEntityStrategy.Stub(x => x.Entity).Return(entity); entity.Stub(x => x.ContentType).Return(contentType); entity.Stub(x => x.ContentLength).Return(contentLength); httpResponse.Stub(x => x.Output).Return(output); //Act var multiPartEntityResponse = new EntityResponseMultiPart(httpResponseHeaderHelper, rangeItems); multiPartEntityResponse.SendBody(requestHttpMethod, httpResponse, transmitEntityStrategy); //Assert output.AssertWasNotCalled(x => x.Write(firstHeader)); transmitEntityStrategy.AssertWasNotCalled(x => x.Transmit(httpResponse, firstStartRange, firstBytesToRead)); output.AssertWasNotCalled(x => x.Write(secondHeader)); transmitEntityStrategy.AssertWasNotCalled(x => x.Transmit(httpResponse, secondStartRange, secondBytesToRead)); output.AssertWasNotCalled(x => x.Write(footer)); }