public void route_matches_true_with_equivalent_pathinfo_with_params() { var route = new Route(typeof(RouteTestingHelper).GetMethod("RouteOne"), HttpMethod.GET, "/path/[param1]/[param2]"); var context = TestingMocks.MockContext(HttpMethod.GET, "/path/user/234"); route.Matches(context).ShouldBe(true); }
public void route_matches_false_with_pathinfo_params() { var route = new Route(typeof(RouteTestingHelper).GetMethod("RouteOne"), "/api/user/[id]"); var context = TestingMocks.MockContext(HttpMethod.GET, "/api/user/"); route.Matches(context).ShouldBe(false); }
public void route_matches_true_with_equivalent_pathinfo() { var route = new Route(typeof(RouteTestingHelper).GetMethod("RouteOne"), HttpMethod.GET); var context = TestingMocks.MockContext(HttpMethod.GET, "/path/to/resource"); route.Matches(context).ShouldBe(true); }
public void route_matches_false_with_different_httpmethod() { var pathinfo = "/path/to/resource"; var route = new Route(typeof(RouteTestingHelper).GetMethod("RouteOne"), HttpMethod.GET, pathinfo); var context = TestingMocks.MockContext(HttpMethod.POST, pathinfo); route.Matches(context).ShouldBe(false); }
public void route_invoke_using_static_method() { var route = new Route(typeof(RouteTestingHelper).GetMethod("StaticRoute")); var context = TestingMocks.MockContext(); route.Invoke(context); RouteTestingHelper.WhoTriggeredMe().ShouldBe("StaticRoute"); }
public void route_invoke_using_function_wrapped_method() { Func <IHttpContext, IHttpContext> function = new RouteTestingHelper().RouteTwo; var route = new Route(function); var context = TestingMocks.MockContext(); route.Invoke(context); RouteTestingHelper.WhoTriggeredMe().ShouldBe("RouteTwo"); }
public void route_matches_false_with_different_pathinfo() { var verb = HttpMethod.GET; var pathinfo = "/path/to/resource"; var route = new Route(typeof(RouteTestingHelper).GetMethod("RouteOne"), verb, $"{pathinfo}1"); var context = TestingMocks.MockContext(verb, $"{pathinfo}2"); route.Matches(context).ShouldBe(false); }
public void route_matches_true_with_exact_match() { var pathinfo = "/path/to/resource"; var verb = HttpMethod.GET; var route = new Route(typeof(RouteTestingHelper).GetMethod("RouteOne"), verb, pathinfo); var context = TestingMocks.MockContext(verb, pathinfo); route.Matches(context).ShouldBe(true); }
public void router_returns_routes_for_post() { var router = new Router().Import <LoadedRouter>(); var context = TestingMocks.MockContext(HttpMethod.POST); var routes = router.RouteFor(context); router.RoutingTable.Count.ShouldBe(10); routes.Count.ShouldBe(6); }
public void router_runs_routes_for_post_context() { var loaded = new LoadedRouter(); var router = new Router().Import(loaded); var context = TestingMocks.MockContext(HttpMethod.POST); router.Route(context); loaded.GetHits.ShouldBe(0); loaded.PostHits.ShouldBe(6); }
public void route_invoke_using_function() { var triggeredBy = "Anon"; var context = TestingMocks.MockContext(); var route = new Route(ctx => { RouteTestingHelper.WasTriggeredBy(triggeredBy); return(ctx); }); route.Invoke(context); RouteTestingHelper.WhoTriggeredMe().ShouldBe(triggeredBy); }
public void router_runs_supplied_routes_for_context() { var hitme = false; var router = new Router().Import <LoadedRouter>(); var context = TestingMocks.MockContext(HttpMethod.POST); var routes = router.RouteFor(context); routes.Add(new Route(ctx => { hitme = true; return(ctx); })); router.Route(context, routes); hitme.ShouldBe(true); }