public void LogsCannotApplyRequestFormLimits() { // Arrange var sink = new TestSink(); var loggerFactory = new TestLoggerFactory(sink, enabled: true); var requestFormLimitsFilter = new RequestFormLimitsFilter(loggerFactory); requestFormLimitsFilter.FormOptions = new FormOptions(); var authorizationFilterContext = CreateAuthorizationFilterContext( new IFilterMetadata[] { requestFormLimitsFilter }); authorizationFilterContext.HttpContext.Request.Form = new FormCollection(null); // Act requestFormLimitsFilter.OnAuthorization(authorizationFilterContext); // Assert var write = Assert.Single(sink.Writes); Assert.Equal(LogLevel.Warning, write.LogLevel); Assert.Equal( "Unable to apply configured form options since the request form has already been read.", write.State.ToString()); }
public void LogsAppliedRequestFormLimits_WhenFormFeatureIsNull() { // Arrange var sink = new TestSink(); var loggerFactory = new TestLoggerFactory(sink, enabled: true); var requestFormLimitsFilter = new RequestFormLimitsFilter(loggerFactory); requestFormLimitsFilter.FormOptions = new FormOptions(); var authorizationFilterContext = CreateAuthorizationFilterContext( new IFilterMetadata[] { requestFormLimitsFilter }); // Set to null explicitly as we want to make sure the filter adds one authorizationFilterContext.HttpContext.Features.Set <IFormFeature>(null); // Act requestFormLimitsFilter.OnAuthorization(authorizationFilterContext); // Assert var write = Assert.Single(sink.Writes); Assert.Equal(LogLevel.Debug, write.LogLevel); Assert.Equal( "Applied the configured form options on the current request.", write.State.ToString()); }
public void SetsRequestFormFeature_WhenFeatureIsNotPresent() { // Arrange var requestFormLimitsFilter = new RequestFormLimitsFilter(NullLoggerFactory.Instance); requestFormLimitsFilter.FormOptions = new FormOptions(); var authorizationFilterContext = CreateAuthorizationFilterContext( new IFilterMetadata[] { requestFormLimitsFilter }); // Set to null explicitly as we want to make sure the filter adds one authorizationFilterContext.HttpContext.Features.Set <IFormFeature>(null); // Act requestFormLimitsFilter.OnAuthorization(authorizationFilterContext); // Assert var formFeature = authorizationFilterContext.HttpContext.Features.Get <IFormFeature>(); Assert.IsType <FormFeature>(formFeature); }