本文整理汇总了Python中mamba.web.routing.Router类的典型用法代码示例。如果您正苦于以下问题:Python Router类的具体用法?Python Router怎么用?Python Router使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Router类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: StubController
class StubController(object):
def __init__(self):
self.path = ''
self._router = Router()
self._router.install_routes(self)
self.children = {}
def render(self, request):
return self._router.dispatch(self, request)
def get_register_path(self):
return self.path
@decoroute('/test/<int:user_id>')
def test(self, request, user_id, **kwargs):
return 'User ID : {}'.format(user_id)
@decoroute('/defer')
@defer.inlineCallbacks
def deferred(self, request, **kwargs):
val1 = yield 'Hello '
val2 = yield 'Defer!'
defer.returnValue(val1 + val2)
@decoroute('/209')
def unknown(self, request, **kwargs):
pass
示例2: test_process_error
def test_process_error(self):
router = Router()
request = request_generator('/test')
resp = router._process_error('fake_result', request=request)
self.assertIsInstance(resp, response.InternalServerError)
self.assertEqual(resp.code, 500)
示例3: test_lookup_returns_not_implemented_on_valid_url_invalid_method
def test_lookup_returns_not_implemented_on_valid_url_invalid_method(self):
controller = StubController()
request = request_generator(['/test/102'], method='POST')
router = Router()
router.install_routes(controller)
route_dispatcher = RouteDispatcher(router, controller, request)
self.assertEqual(route_dispatcher.lookup()[0], 'NotImplemented')
示例4: test_lookup_returns_route
def test_lookup_returns_route(self):
controller = StubController()
request = request_generator(['/test/102'])
router = Router()
router.install_routes(controller)
route_dispatcher = RouteDispatcher(router, controller, request)
self.assertIsInstance(route_dispatcher.lookup()[0], Route)
示例5: test_register_route
def test_register_route(self):
router = Router()
ctl = StubController()
self.assertTrue(len(router.routes['GET']) == 0)
route = Route('GET', '/defer', ctl.deferred)
router.register_route(ctl, route, ctl.deferred)
self.assertTrue(len(router.routes['GET']) == 1)
self.assertTrue('/defer' in router.routes['GET'])
self.assertTrue('StubController' in router.routes['GET']['/defer'])
示例6: test_dispatch_returns_unknown_209_on_no_return_from_method
def test_dispatch_returns_unknown_209_on_no_return_from_method(self):
controller = StubController()
request = request_generator(['/209'], method='GET')
router = Router()
router.install_routes(controller)
self.assertIsInstance(
router.dispatch(controller, request).result, response.Unknown
)
示例7: test_route_decorator
def test_route_decorator(self):
router = Router()
decorator = router.route('/decorator_test')
def test(self, request, **kwargs):
return None
decorated_func = decorator(test)
self.assertIsInstance(decorated_func.route, Route)
self.assertEqual(decorated_func.route.url, '/decorator_test')
示例8: test_process_return_objects_json_converted
def test_process_return_objects_json_converted(self):
router = Router()
request = request_generator('/test')
class FakeResult(object):
name = 'Test'
type = 'JSON'
resp = router._process(FakeResult(), request)
self.assertIsInstance(resp, response.Ok)
self.assertEqual(resp.subject, {'name': 'Test', 'type': 'JSON'})
示例9: test_install_router_fails_when_give_wrong_arguments
def test_install_router_fails_when_give_wrong_arguments(self):
router = Router()
@decoroute('/test')
def test(self, request, user_id, **kwargs):
return 'I will fail'
StubController.test2 = test
router.install_routes(StubController())
# only one of the routes should be installed
self.assertTrue(len(router.routes['GET']) == 3)
示例10: test_install_several_HTTP_methods_per_route_decorator
def test_install_several_HTTP_methods_per_route_decorator(self):
router = Router()
class MyStubController(StubController):
@decoroute('/multimethod_test', method=['GET', 'POST'])
def multimethod_test(self, request, **kwargs):
return None
router.install_routes(MyStubController())
self.assertTrue(len(router.routes['GET']) == 4)
self.assertTrue(len(router.routes['POST']) == 1)
self.assertEqual(
router.routes['GET']['/multimethod_test'],
router.routes['POST']['/multimethod_test']
)
示例11: test_process_serialize_object_inside_objects
def test_process_serialize_object_inside_objects(self):
import decimal
router = Router()
request = request_generator('/test')
class FakeData(object):
data = 'hdsihas8h9277t27gsj'
pepe = decimal.Decimal('10.0')
class FakeResult(object):
name = 'Test'
data = FakeData()
resp = router._process(FakeResult(), request)
self.assertIsInstance(resp, response.Ok)
self.assertEqual(resp.subject, {
'data': {'pepe': '10.0', 'data': 'hdsihas8h9277t27gsj'},
'name': 'Test'
})
示例12: test_install_routes_register_route
def test_install_routes_register_route(self):
router = Router()
router.install_routes(StubController())
self.assertTrue(len(router.routes['GET']) == 3)
del router
router = Router()
class MyStubController(StubController):
@decoroute('/another_test')
def another_test(self, request, **kwargs):
return None
router.install_routes(MyStubController())
self.assertTrue(len(router.routes['GET']) == 4)
示例13: __init__
def __init__(self):
self.path = ''
self._router = Router()
self._router.install_routes(self)
self.children = {}
示例14: test_process_return_unknown_on_none_result
def test_process_return_unknown_on_none_result(self):
router = Router()
self.assertIsInstance(router._process(None, None), response.Unknown)