public void ConfigureServicesOnAllPlugins() { var plugin1 = Substitute.For <IPlugin>(); var plugin2 = Substitute.For <IPlugin>(); var plugins = new ServiceConfigurations(new[] { plugin1, plugin2 }, Substitute.For <ILogger>()); plugins.ConfigureServices(Substitute.For <IServiceCollection>()); plugin1.ReceivedWithAnyArgs().ConfigureServices(Arg.Any <IServiceCollection>()); plugin2.ReceivedWithAnyArgs().ConfigureServices(Arg.Any <IServiceCollection>()); }
public static ServiceCollection ConfigureServices() { var services = new ServiceCollection(); services.AddLogging(builder => { builder.AddSerilog(_logger, true); }); RepositoryDi.ConfigureServices(services, _configuration); InitializeElasticSearch(services, _configuration); ServiceConfigurations.ConfigureServices(services, _configuration); return(services); }
public void ConfigureServicesOnAllPluginsWhenOneThrowsException() { var plugin1 = Substitute.For <IPlugin>(); plugin1.When(p => p.ConfigureServices(Arg.Any <IServiceCollection>())) .Do(x => { throw new Exception("Fail Plugin1"); }); var plugin2 = Substitute.For <IPlugin>(); var plugins = new ServiceConfigurations(new[] { plugin1, plugin2 }, Substitute.For <ILogger>()); plugins.ConfigureServices(Substitute.For <IServiceCollection>()); plugin1.ReceivedWithAnyArgs().ConfigureServices(Arg.Any <IServiceCollection>()); plugin2.ReceivedWithAnyArgs().ConfigureServices(Arg.Any <IServiceCollection>()); }