Esempio n. 1
0
        public async Task IMiddlewareBuilder_UseRoute_OneBranchNotMet()
        {
            // arrange
            var builder = new MiddlewareBuilder <Context>();
            var path    = new Tracer();

            builder.Use(path.TestMiddleware("A"));

            builder.UseRoutes(new Route <Context>(context => false, branchBuilder =>
            {
                branchBuilder.Use(path.TestMiddleware("C"));
            }
                                                  ));

            builder.Use(path.TestMiddleware("B"));

            var stack = builder.Build();

            // act
            await stack(new Context());

            // assert
            // no exception till here
            Assert.Equal("AB", path.Trace);
        }
Esempio n. 2
0
        public async Task MiddlewareBuilder_Use_LinearOrder()
        {
            // arrange
            var builder = new MiddlewareBuilder <Context>();
            var list    = new List <string>();

            // act
            builder.Use(next => { return(async context => { list.Add("A"); await next(context); list.Add("Z"); }); });
            builder.Use(next => { return(async context => { list.Add("B"); await next(context); list.Add("Y"); }); });
            builder.Use(next => { return(async context => { list.Add("C"); await next(context); list.Add("X"); }); });

            var executeAsync = builder.Build();
            var x            = new Context();

            await executeAsync(x);

            // assert
            Assert.Collection(list,
                              l => Assert.Equal("A", l),
                              l => Assert.Equal("B", l),
                              l => Assert.Equal("C", l),
                              l => Assert.Equal("X", l),
                              l => Assert.Equal("Y", l),
                              l => Assert.Equal("Z", l)
                              );
        }
Esempio n. 3
0
 public void Configure(MiddlewareBuilder builder)
 {
     builder
     .Use <LoggerMiddleware>()
     .Use <StaticFilesMiddleware>()
     .Use <MvcMiddleware>();
 }
Esempio n. 4
0
        public async Task IMiddlewareBuilder_UseRoute_Empty()
        {
            // arrange
            var builder = new MiddlewareBuilder <Context>();
            var path    = new Tracer();

            builder.Use(path.TestMiddleware("A"));

            builder.UseRoutes();

            builder.Use(path.TestMiddleware("B"));

            var stack = builder.Build();

            // act
            await stack(new Context());

            // assert
            // no exception till here
            Assert.Equal("AB", path.Trace);
        }
Esempio n. 5
0
        public async Task MiddlewareBuilder_Build_ForNullContext()
        {
            // arrange
            var builder = new MiddlewareBuilder <Context>();

            // act
            builder.Use(next => { return(async context => { await next(context); }); });

            var executeAsync = builder.Build();

            await executeAsync(null);

            // assert

            // .. no exception till here.
        }
Esempio n. 6
0
        public async Task MiddlewareBuilder_New_DoesNotReuseUseCalls()
        {
            // arrange
            IMiddlewareBuilder <Context> builder = new MiddlewareBuilder <Context>();
            var list = new List <string>();

            builder.Use(next => { return(async context => { list.Add("D"); await next(context); }); });

            // act
            var newBuilder = builder.New();

            newBuilder.Use(next => { return(async context => { list.Add("C"); await next(context); }); });

            var executeAsync = newBuilder.Build();
            var x            = new Context();

            await executeAsync(x);

            // assert
            Assert.Collection(list,
                              l => Assert.Equal("C", l)
                              );
        }
Esempio n. 7
0
 public void ConfigureMiddleware(MiddlewareBuilder mb)
 {
     mb.Use <MvcMiddleware>();
 }
Esempio n. 8
0
 public void Configure(MiddlewareBuilder middlewareBuilder)
 {
     middlewareBuilder.Use <MvcMiddleware>();
     //middlewareBuilder.Use<HtmlFileMiddleware>();
     //middlewareBuilder.Use<LoggingMiddleware>();
 }