def test_traverse_root_with_tail(loop, router, request): request.path = '/not/c' res, tail = loop.run_until_complete(router.traverse(request)) assert tail == ('not', 'c') assert len(list(lineage(res))) == 1 assert find_root(res).name == 'ROOT'
def test_traverse_await_with_tail(loop, root): async def coro(): return await traverse(root, ('a', 'b', 'not', 'c')) res, tail = loop.run_until_complete(coro()) assert res.name == 'b' assert tail == ('not', 'c') assert len(list(lineage(res))) == 3
def test_traverse(loop, router, request): request.path = '/a/b/c' res, tail = loop.run_until_complete(router.traverse(request)) assert res.name == 'c' assert not tail assert len(list(lineage(res))) == 4 assert find_root(res).name == 'ROOT'
def test_traverse_root(loop, router, request): request.path = '/' res, tail = loop.run_until_complete(router.traverse(request)) assert tail == () assert len(list(lineage(res))) == 1 assert find_root(res) is res assert res.name == 'ROOT'
def test_traverse_with_tail(loop, router, request, ): request.path = '/a/b/not/c' res, tail = loop.run_until_complete(router.traverse(request)) assert res.name == 'b' assert tail == ('not', 'c') assert len(list(lineage(res))) == 3 assert find_root(res).name == 'ROOT'
def test_traverse_with_tail(loop, root): @asyncio.coroutine def coro(): return (yield from traverse(root, ('a', 'b', 'not', 'c'))) res, tail = loop.run_until_complete(coro()) assert res.name == 'b' assert tail == ('not', 'c') assert len(list(lineage(res))) == 3
def test_lineage(root, res_c): l = list(lineage(res_c)) assert l[0] is res_c assert l[-1] is root assert len(l) is 4