Beispiel #1
0
        public async Task InjectToConstructorAndInvoke_Middleware()
        {
            IServiceProvider provider = new ServiceCollection()
                                        .AddScoped(prov =>
            {
                return(new AddTextFromOptionsMiddlewareOptions()
                {
                    Text = "World"
                });
            })
                                        .BuildServiceProvider();

            IMiddlewareBuilder <TestContext> middlewareBuilder = new TestMiddlewareBuilder(provider);

            var resultBuild = middlewareBuilder
                              .UseMiddleware <AddTextFromOptionsMiddleware, TestContext>("Hello")
                              .UseMiddleware <AddTextFromOptionsMiddleware, TestContext>("GoodBy")
                              .Build();

            TestContext context;

            using (var scopedProvider = provider.CreateScope())
            {
                context = new TestContext(scopedProvider.ServiceProvider);
                await resultBuild(context);
            }

            Assert.Equal($"HelloWorld{Environment.NewLine}GoodByWorld{Environment.NewLine}", context.Message.ToString());
        }
Beispiel #2
0
        public async Task InjectToConstructor_Middlewares()
        {
            IServiceProvider provider = new ServiceCollection()
                                        .BuildServiceProvider();

            IMiddlewareBuilder <TestContext> middlewareBuilder = new TestMiddlewareBuilder(provider);

            var resultBuild = middlewareBuilder
                              .UseMiddleware <AddTextMiddleware, TestContext>("Hello")
                              .UseMiddleware <AddTextMiddleware, TestContext>("World")
                              .Build();

            TestContext context;

            using (var scopedProvider = provider.CreateScope())
            {
                context = new TestContext(scopedProvider.ServiceProvider);
                await resultBuild(context);
            }

            Assert.Equal($"Hello{Environment.NewLine}World{Environment.NewLine}", context.Message.ToString());
        }