def test_router_match_among_many(self): router = Router() def home(): pass def get_foo(): pass def create_foo(): pass def delete_foo(): pass router.add_get(b'/', home) router.add_get(b'/foo', get_foo) router.add_post(b'/foo', create_foo) router.add_delete(b'/foo', delete_foo) m = router.get_match(HttpMethod.GET, b'/') assert m is not None assert m.handler is home m = router.get_match(HttpMethod.POST, b'/') assert m is None m = router.get_match(HttpMethod.GET, b'/foo') assert m is not None assert m.handler is get_foo m = router.get_match(HttpMethod.POST, b'/foo') assert m is not None assert m.handler is create_foo m = router.get_match(HttpMethod.DELETE, b'/foo') assert m is not None assert m.handler is delete_foo
def test_router_match_among_many(): router = Router() def home(): ... def home_verbose(): ... def home_options(): ... def home_connect(): ... def get_foo(): ... def create_foo(): ... def patch_foo(): ... def delete_foo(): ... router.add_trace("/", home_verbose) router.add_options("/", home_options) router.add_connect("/", home_connect) router.add_get("/", home) router.add_get("/foo", get_foo) router.add_patch("/foo", patch_foo) router.add_post("/foo", create_foo) router.add_delete("/foo", delete_foo) m = router.get_match(HttpMethod.GET, b"/") assert m is not None assert m.handler is home m = router.get_match(HttpMethod.TRACE, b"/") assert m is not None assert m.handler is home_verbose m = router.get_match(HttpMethod.CONNECT, b"/") assert m is not None assert m.handler is home_connect m = router.get_match(HttpMethod.OPTIONS, b"/") assert m is not None assert m.handler is home_options m = router.get_match(HttpMethod.POST, b"/") assert m is None m = router.get_match(HttpMethod.GET, b"/foo") assert m is not None assert m.handler is get_foo m = router.get_match(HttpMethod.POST, b"/foo") assert m is not None assert m.handler is create_foo m = router.get_match(HttpMethod.PATCH, b"/foo") assert m is not None assert m.handler is patch_foo m = router.get_match(HttpMethod.DELETE, b"/foo") assert m is not None assert m.handler is delete_foo