示例#1
0
    def test_basic_target_path(self):
        router = Router()
        template = URITemplate('/root/{target}{/path*}')
        routeuri = templateuri_to_sanic_routeuri(template)
        # have to use strict slashes to avoid ambiguity.
        router.add(routeuri, ['GET'], 'root-target-path', strict_slashes=True)
        request = make_request('/root/base/some/test/path')
        self.assertEqual((
            'root-target-path',
            [],
            {
                'target': 'base',
                'path': '/some/test/path',
            },
            routeuri,
            None,
        ), router.get(request))

        request = make_request('/root/base/some/test/path/')
        self.assertEqual((
            'root-target-path',
            [],
            {
                'target': 'base',
                'path': '/some/test/path/',
            },
            routeuri,
            None,
        ), router.get(request))
示例#2
0
    def test_fail_on_partial(self):
        router = Router()
        template = URITemplate('/rooted')
        routeuri = templateuri_to_sanic_routeuri(template)
        router.add(routeuri, ['GET'], 'root')
        request = make_request('/root')
        with self.assertRaises(NotFound):
            router.get(request)

        request = make_request('/roottedmore')
        with self.assertRaises(NotFound):
            router.get(request)
示例#3
0
 def test_basic(self):
     router = Router()
     template = URITemplate('/root')
     routeuri = templateuri_to_sanic_routeuri(template)
     router.add(routeuri, ['GET'], 'root')
     request = make_request('/root')
     self.assertEqual((
         'root',
         [],
         {},
         routeuri,
         None,
     ), router.get(request))
示例#4
0
 def _setup(route_details: tuple) -> Tuple[Router, tuple]:
     router = Router()
     added_router = []
     for method, route in route_details:
         try:
             router.add(
                 uri=f"/{route}",
                 methods=frozenset({method}),
                 host="localhost",
                 handler=_handler,
             )
             added_router.append((method, route))
         except RouteExists:
             pass
     router.finalize()
     return router, added_router
def create_sanic_router(uri_data):
    endpoint = Endpoint("sanic")
    router = Router()
    # static routes
    for u in uri_data.get_static_uris():
        router.add(u, methods=["GET"], handler=endpoint)

    # zero variable
    template = uri_data.get_zero_var_uri(ParamFormat.SANIC)
    router.add(template, methods=["GET"], handler=endpoint)
    # one variable
    template = uri_data.get_one_var_uri(ParamFormat.SANIC)
    router.add(template, methods=["GET"], handler=endpoint)
    # two variables
    template = uri_data.get_two_var_uri(ParamFormat.SANIC)
    router.add(template, methods=["GET"], handler=endpoint)
    # three variables
    template = uri_data.get_three_var_uri(ParamFormat.SANIC)
    router.add(template, methods=["GET"], handler=endpoint)
    # done
    return router
示例#6
0
 def sanic_add_routes(routes):
     router = SanicRouter()
     for url, controller, methods, method_dict in routes:
         router.add(url, methods, controller)
     return router