public void ValidConfigure_DoesNotThrow() { // Arrange var provider = new MiddlewareFilterConfigurationProvider(); // Act var configureDelegate = provider.CreateConfigureDelegate(typeof(ValidConfigure_WithNoEnvironment)); // Assert Assert.NotNull(configureDelegate); }
public void CreateConfigureDelegate_ThrowsIfTypeCannotBeInstantiated(Type configurationType) { // Arrange var provider = new MiddlewareFilterConfigurationProvider(); // Act var exception = Assert.Throws <InvalidOperationException>(() => provider.CreateConfigureDelegate(configurationType)); // Assert Assert.Equal($"Unable to create an instance of type '{configurationType}'. The type specified in configurationType must not be abstract and must have a parameterless constructor.", exception.Message); }
public void InvalidType_NoPublicConfigure_Throws() { // Arrange var type = typeof(InvalidType_NoPublic_Configure); var provider = new MiddlewareFilterConfigurationProvider(); var expected = $"A public method named 'Configure' could not be found in the '{type.FullName}' type."; // Act & Assert var exception = Assert.Throws <InvalidOperationException>(() => { provider.CreateConfigureDelegate(type); }); Assert.Equal(expected, exception.Message); }
public void ValidConfigure_AndAdditionalServices_DoesNotThrow() { // Arrange var loggerFactory = Mock.Of <ILoggerFactory>(); var services = new ServiceCollection(); services.AddSingleton(loggerFactory); services.AddSingleton(Mock.Of <IHostingEnvironment>()); var applicationBuilder = GetApplicationBuilder(services); var provider = new MiddlewareFilterConfigurationProvider(); // Act var configureDelegate = provider.CreateConfigureDelegate(typeof(ValidConfigure_WithNoEnvironment_AdditionalServices)); // Assert Assert.NotNull(configureDelegate); }
public MiddlewareFilterBuilder(MiddlewareFilterConfigurationProvider configurationProvider) { _configurationProvider = configurationProvider; }