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); }
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) ); }
public void Configure(MiddlewareBuilder builder) { builder .Use <LoggerMiddleware>() .Use <StaticFilesMiddleware>() .Use <MvcMiddleware>(); }
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); }
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. }
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) ); }
public void ConfigureMiddleware(MiddlewareBuilder mb) { mb.Use <MvcMiddleware>(); }
public void Configure(MiddlewareBuilder middlewareBuilder) { middlewareBuilder.Use <MvcMiddleware>(); //middlewareBuilder.Use<HtmlFileMiddleware>(); //middlewareBuilder.Use<LoggingMiddleware>(); }