コード例 #1
0
    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
コード例 #2
0
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