public void SetsMaxRequestBodySizeToNull() { // Arrange var disableRequestSizeLimitResourceFilter = new DisableRequestSizeLimitFilter(NullLoggerFactory.Instance); var authorizationFilterContext = CreateAuthorizationFilterContext(new IFilterMetadata[] { disableRequestSizeLimitResourceFilter }); var httpMaxRequestBodySize = new TestHttpMaxRequestBodySizeFeature(); authorizationFilterContext.HttpContext.Features.Set <IHttpMaxRequestBodySizeFeature>(httpMaxRequestBodySize); // Act disableRequestSizeLimitResourceFilter.OnAuthorization(authorizationFilterContext); // Assert Assert.Null(httpMaxRequestBodySize.MaxRequestBodySize); }
public void LogsFeatureNotFound() { // Arrange var sink = new TestSink(); var loggerFactory = new TestLoggerFactory(sink, enabled: true); var disableRequestSizeLimitResourceFilter = new DisableRequestSizeLimitFilter(loggerFactory); var authorizationFilterContext = CreateAuthorizationFilterContext(new IFilterMetadata[] { disableRequestSizeLimitResourceFilter }); // Act disableRequestSizeLimitResourceFilter.OnAuthorization(authorizationFilterContext); // Assert var write = Assert.Single(sink.Writes); Assert.Equal($"A request body size limit could not be applied. This server does not support the IHttpRequestBodySizeFeature.", write.State.ToString()); }
public void SkipsWhenOverridden() { // Arrange var disableRequestSizeLimitResourceFilter = new DisableRequestSizeLimitFilter(NullLoggerFactory.Instance); var disableRequestSizeLimitResourceFilterFinal = new DisableRequestSizeLimitFilter(NullLoggerFactory.Instance); var authorizationFilterContext = CreateAuthorizationFilterContext( new IFilterMetadata[] { disableRequestSizeLimitResourceFilter, disableRequestSizeLimitResourceFilterFinal }); var httpMaxRequestBodySize = new TestHttpMaxRequestBodySizeFeature(); authorizationFilterContext.HttpContext.Features.Set <IHttpMaxRequestBodySizeFeature>(httpMaxRequestBodySize); // Act disableRequestSizeLimitResourceFilter.OnAuthorization(authorizationFilterContext); disableRequestSizeLimitResourceFilterFinal.OnAuthorization(authorizationFilterContext); // Assert Assert.Null(httpMaxRequestBodySize.MaxRequestBodySize); Assert.Equal(1, httpMaxRequestBodySize.Count); }
public void LogsMaxRequestBodySizeSetToNull() { // Arrange var sink = new TestSink(); var loggerFactory = new TestLoggerFactory(sink, enabled: true); var disableRequestSizeLimitResourceFilter = new DisableRequestSizeLimitFilter(loggerFactory); var authorizationFilterContext = CreateAuthorizationFilterContext(new IFilterMetadata[] { disableRequestSizeLimitResourceFilter }); var httpMaxRequestBodySize = new TestHttpMaxRequestBodySizeFeature(); authorizationFilterContext.HttpContext.Features.Set <IHttpMaxRequestBodySizeFeature>(httpMaxRequestBodySize); // Act disableRequestSizeLimitResourceFilter.OnAuthorization(authorizationFilterContext); // Assert var write = Assert.Single(sink.Writes); Assert.Equal($"The request body size limit has been disabled.", write.State.ToString()); }
public void LogsFeatureIsReadOnly() { // Arrange var sink = new TestSink(); var loggerFactory = new TestLoggerFactory(sink, enabled: true); var disableRequestSizeLimitResourceFilter = new DisableRequestSizeLimitFilter(loggerFactory); var authorizationFilterContext = CreateAuthorizationFilterContext(new IFilterMetadata[] { disableRequestSizeLimitResourceFilter }); var httpMaxRequestBodySize = new TestHttpMaxRequestBodySizeFeature(); httpMaxRequestBodySize.IsReadOnly = true; authorizationFilterContext.HttpContext.Features.Set <IHttpMaxRequestBodySizeFeature>(httpMaxRequestBodySize); // Act disableRequestSizeLimitResourceFilter.OnAuthorization(authorizationFilterContext); // Assert var write = Assert.Single(sink.Writes); Assert.Equal($"A request body size limit could not be applied. The IHttpRequestBodySizeFeature for the server is read-only.", write.State.ToString()); }