public async Task DisablesResponseBuffering_IfBufferingFeatureAvailable() { // Arrange var expectedContentType = "text/foo; charset=us-ascii"; var buffer = new byte[] { 1, 2, 3, 4, 5 }; var httpContext = GetHttpContext(); var bufferingFeature = new TestBufferingFeature(); httpContext.Features.Set <IHttpBufferingFeature>(bufferingFeature); var outStream = new MemoryStream(); httpContext.Response.Body = outStream; var context = new ActionContext(httpContext, new RouteData(), new ActionDescriptor()); var result = new FileContentResult(buffer, expectedContentType); // Act await result.ExecuteResultAsync(context); // Assert Assert.Equal(buffer, outStream.ToArray()); Assert.Equal(expectedContentType, httpContext.Response.ContentType); Assert.True(bufferingFeature.DisableResponseBufferingInvoked); }
public async Task DisablesResponseBuffering_IfBufferingFeatureAvailable() { // Arrange var expectedContentType = "text/foo; charset=us-ascii"; var expected = Encoding.ASCII.GetBytes("Test data"); var originalStream = new MemoryStream(expected); var httpContext = GetHttpContext(); var bufferingFeature = new TestBufferingFeature(); httpContext.Features.Set <IHttpBufferingFeature>(bufferingFeature); var outStream = new MemoryStream(); httpContext.Response.Body = outStream; var actionContext = new ActionContext(httpContext, new RouteData(), new ActionDescriptor()); var result = new FileStreamResult(originalStream, expectedContentType); // Act await result.ExecuteResultAsync(actionContext); // Assert var outBytes = outStream.ToArray(); Assert.Equal(expected, outBytes); Assert.Equal(expectedContentType, httpContext.Response.ContentType); Assert.True(bufferingFeature.DisableResponseBufferingInvoked); }
public async Task DisablesResponseBuffering_IfBufferingFeatureAvailable() { // Arrange var expectedContentType = "text/foo; charset=us-ascii"; var buffer = new byte[] { 1, 2, 3, 4, 5 }; var httpContext = GetHttpContext(); var bufferingFeature = new TestBufferingFeature(); httpContext.Features.Set<IHttpBufferingFeature>(bufferingFeature); var outStream = new MemoryStream(); httpContext.Response.Body = outStream; var context = new ActionContext(httpContext, new RouteData(), new ActionDescriptor()); var result = new FileContentResult(buffer, expectedContentType); // Act await result.ExecuteResultAsync(context); // Assert Assert.Equal(buffer, outStream.ToArray()); Assert.Equal(expectedContentType, httpContext.Response.ContentType); Assert.True(bufferingFeature.DisableResponseBufferingInvoked); }
public async Task DisablesResponseBuffering_IfBufferingFeatureAvailable() { // Arrange var expectedContentType = "text/foo; charset=us-ascii"; var expected = Encoding.ASCII.GetBytes("Test data"); var originalStream = new MemoryStream(expected); var httpContext = GetHttpContext(); var bufferingFeature = new TestBufferingFeature(); httpContext.Features.Set<IHttpBufferingFeature>(bufferingFeature); var outStream = new MemoryStream(); httpContext.Response.Body = outStream; var actionContext = new ActionContext(httpContext, new RouteData(), new ActionDescriptor()); var result = new FileStreamResult(originalStream, expectedContentType); // Act await result.ExecuteResultAsync(actionContext); // Assert var outBytes = outStream.ToArray(); Assert.Equal(expected, outBytes); Assert.Equal(expectedContentType, httpContext.Response.ContentType); Assert.True(bufferingFeature.DisableResponseBufferingInvoked); }