public void Execute_ShouldSkipRegisterServices_IfAnyOfRequiredConfigurationNotPass() { var configuration = new ConfigurationBuilder().AddInMemoryCollection( new Dictionary <string, string>() { { "FakeConfiguration:PropertyOne", "RandomValue" }, { "AzureServices:HatDetection:ProjectId", Guid.NewGuid().ToString() } }).Build(); var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton <IConfiguration>(configuration); serviceCollection.AddSingleton <ILogger>(NullLogger.Instance); serviceCollection.AddSingleton <IHostEnvironment>(new FakeHostEnvironment()); var serviceRequriedConfiguration = new Dictionary <Type, string[]>() { { typeof(FakeConfigurationRequiredService), new [] { "FakeConfiguration:PropertyOne", "MissingFakeConfiguration:MissingPropertyTwo", } } }; ConfigureServices.Execute(serviceCollection, configuration, serviceRequriedConfiguration); var provider = serviceCollection.BuildServiceProvider(); Assert.DoesNotContain(provider.GetServices <IHostedService>().Select(x => x.GetType()), type => type == typeof(FakeConfigurationRequiredService)); }
public void Execute_ShouldRegitserService_WhenAllRequiredConfigurationDone() { var configuration = new ConfigurationBuilder().AddInMemoryCollection( new Dictionary <string, string>() { { "FakeConfiguration:PropertyOne", "RandomValue" }, { "FakeConfiguration:PropertyTwo", "RandomValue" } }).Build(); var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton <IConfiguration>(configuration); serviceCollection.AddSingleton <ILogger>(NullLogger.Instance); var serviceRequriedConfiguration = new Dictionary <Type, string[]>() { { typeof(FakeConfigurationRequiredService), new [] { "FakeConfiguration:PropertyOne", "FakeConfiguration:PropertyTwo", } } }; ConfigureServices.Execute(serviceCollection, configuration, serviceRequriedConfiguration); var provider = serviceCollection.BuildServiceProvider(); Assert.Contains(provider.GetServices <IHostedService>().Select(x => x.GetType()), type => type == typeof(FakeConfigurationRequiredService)); }
public void Execute_RegisterStreamServicesWithVariousConfigurations_ReturnExpected(Dictionary <string, string> configurations, Type[] expected) { // arrange var configuration = new ConfigurationBuilder() .AddInMemoryCollection(configurations) .Build(); var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton <ILoggerFactory>(new LoggerFactory()); // act ConfigureServices.Execute(serviceCollection, configuration); // assert var provider = serviceCollection.BuildServiceProvider(); Assert.Equal(expected, provider.GetServices <IHostedService>().Select(x => x.GetType())); Assert.Equal(expected, provider.GetServices <IStreamService>().Select(x => x.GetType())); }