public async Task ExplicitlySet_MultipleEncodingsUsingChunkedFlag_ChunkedNotIgnored() { // Arrange var transferEncodingHeaderKey = "Transfer-Encoding"; var httpResponseMessage = new HttpResponseMessage(); httpResponseMessage.Content = new StreamContent(new MemoryStream(Encoding.UTF8.GetBytes("Hello, World"))); httpResponseMessage.Headers.Add(transferEncodingHeaderKey, new[] { "identity" }); httpResponseMessage.Headers.TransferEncodingChunked = true; var httpContext = new DefaultHttpContext(); var formatter = new HttpResponseMessageOutputFormatter(); var outputFormatterContext = GetOutputFormatterContext( httpResponseMessage, typeof(HttpResponseMessage), httpContext); // Act await formatter.WriteAsync(outputFormatterContext); // Assert Assert.True(httpContext.Response.Headers.ContainsKey(transferEncodingHeaderKey)); Assert.Equal(new string[] { "identity", "chunked" }, httpContext.Response.Headers[transferEncodingHeaderKey]); Assert.NotNull(httpContext.Response.ContentLength); }
public async Task Disposed_CalledOn_HttpResponseMessage() { // Arrange var formatter = new HttpResponseMessageOutputFormatter(); var streamContent = new Mock <StreamContent>(new MemoryStream()); streamContent.Protected().Setup("Dispose", true).Verifiable(); var httpResponseMessage = new HttpResponseMessage(); httpResponseMessage.Content = streamContent.Object; var outputFormatterContext = GetOutputFormatterContext(httpResponseMessage, typeof(HttpResponseMessage)); // Act await formatter.WriteAsync(outputFormatterContext); // Assert streamContent.Protected().Verify("Dispose", Times.Once(), true); }
public async Task ExplicitlySet_ChunkedEncodingFlag_IsIgnored() { // Arrange var httpResponseMessage = new HttpResponseMessage(); httpResponseMessage.Content = new StreamContent(new MemoryStream(Encoding.UTF8.GetBytes("Hello, World"))); httpResponseMessage.Headers.TransferEncodingChunked = true; var httpContext = new DefaultHttpContext(); var formatter = new HttpResponseMessageOutputFormatter(); var outputFormatterContext = GetOutputFormatterContext( httpResponseMessage, typeof(HttpResponseMessage), httpContext); // Act await formatter.WriteAsync(outputFormatterContext); // Assert Assert.False(httpContext.Response.Headers.ContainsKey("Transfer-Encoding")); Assert.NotNull(httpContext.Response.ContentLength); }