public void GetMatchingRouteTest_NoMatch() { TestingUtils.ResetRoutesRepository(); var routesRepository = new RoutesRepository(); routesRepository.RegisterRoutesAsync(new List <IRouteDefinitions>() { new SpecialRouteTemplateRoutes() }).Wait(); var httpContext = new DefaultHttpContext(); var request = new DefaultHttpRequest(httpContext) { Method = HttpMethod.Post.Method, Path = "/v1/yolo/nolo/asdf" }; var result = RoutesUtils.GetMatchingRoute(httpContext, routesRepository).Result; Assert.NotNull(request); Assert.NotNull(result.Route); Assert.NotNull(result.RouteValues); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, IMemoryCache memoryCache) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseMiddleware <TokenMiddleware>(); app.UseCustomClaimsValidationAsync(new List <IRouteDefinitions> { new ValuesRoutes() }).Wait(); app.UseCustomClaimsValidationAsync(new CachedValidRouteDefinitionProvider(memoryCache), async(context) => { var matchedRouteResult = await RoutesUtils.GetMatchingRoute(context).ConfigureAwait(false); if (matchedRouteResult.Route != null) { return(await ValidationUtils .ValidateClaimsAsync(matchedRouteResult.Route, context, matchedRouteResult.RouteValues) .ConfigureAwait(false)); } return(true); }).Wait(); app.UseMvc(); }
public void GetMatchingRouteTest() { TestingUtils.ResetRoutesRepository(); var routesRepository = new RoutesRepository(); routesRepository.RegisterRoutesAsync(new List <IRouteDefinitions>() { new SpecialRouteTemplateRoutes() }).Wait(); var httpContext = new DefaultHttpContext(); var request = new DefaultHttpRequest(httpContext) { Method = HttpMethod.Post.Method, Path = "/v1/yolo/nolo/1" }; var result = RoutesUtils.GetMatchingRoute(httpContext, routesRepository).Result; Assert.NotNull(request); Assert.Equal(4, result.Route.ClaimsConfig.ExtractionConfigs.Count); Assert.Equal(1, result.Route.ClaimsConfig.ValidationConfigs.Count); Assert.NotNull(result.Route.ClaimsConfig.BadRequestResponse); Assert.Equal("1", result.RouteValues["id"]); }