コード例 #1
0
        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>());
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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>());
        }