示例#1
0
        public void ConfigureEndpointsOnAllPlugins()
        {
            var plugin1 = Substitute.For <IPlugin>();
            var plugin2 = Substitute.For <IPlugin>();

            var plugins = new ServiceConfigurations(new[] { plugin1, plugin2 }, Substitute.For <ILogger>());

            plugins.ConfigureEndpoints(Substitute.For <IEndpointRouteBuilder>());

            plugin1.ReceivedWithAnyArgs().ConfigureEndpoints(Arg.Any <IEndpointRouteBuilder>());
            plugin2.ReceivedWithAnyArgs().ConfigureEndpoints(Arg.Any <IEndpointRouteBuilder>());
        }
示例#2
0
        public void ConfigureEndpointsOnAllPluginsWhenOneThrowsException()
        {
            var plugin1 = Substitute.For <IPlugin>();

            plugin1.When(p => p.ConfigureEndpoints(Arg.Any <IEndpointRouteBuilder>()))
            .Do(x => { throw new Exception("Fail Plugin1"); });
            var plugin2 = Substitute.For <IPlugin>();

            var plugins = new ServiceConfigurations(new[] { plugin1, plugin2 }, Substitute.For <ILogger>());

            plugins.ConfigureEndpoints(Substitute.For <IEndpointRouteBuilder>());

            plugin1.ReceivedWithAnyArgs().ConfigureEndpoints(Arg.Any <IEndpointRouteBuilder>());
            plugin2.ReceivedWithAnyArgs().ConfigureEndpoints(Arg.Any <IEndpointRouteBuilder>());
        }