def test_simple(dispatcher: TreeUrlDispatcher, request: web.Request): request = make_request('GET', '/api/1/pet/1') md = yield from dispatcher.resolve(request) assert md == {'id': '1'} request = make_request('GET', '/api/1/pets') md = yield from dispatcher.resolve(request) assert not md
def test_simple(dispatcher: TreeUrlDispatcher, request: web.Request): request = make_request('GET', '/api/1/pet/1') md = yield from dispatcher.resolve(request) assert md == {'id': '1'} request = make_request('GET', '/api/1/pets') md = yield from dispatcher.resolve(request) assert not md
def test_multisubs(dispatcher: TreeUrlDispatcher): url = '/api/1/host/{host}/eth{num}/{ip:[.\d]+}/' dispatcher.add_route('GET', url, handler) request = make_request('GET', '/api/1/host/myhost/eth0/127.0.0.1/') md = yield from dispatcher.resolve(request) assert len(md) assert 'ip' in md assert 'num' in md assert 'host' in md request = make_request('GET', '/api/1/host/myhost/eth0/127.0.0.1') md = yield from dispatcher.resolve(request) assert isinstance(md, MatchInfoError)
def test_multisubs(dispatcher: TreeUrlDispatcher): url = '/api/1/host/{host}/eth{num}/{ip:[.\d]+}/' dispatcher.add_route('GET', url, handler) request = make_request('GET', '/api/1/host/myhost/eth0/127.0.0.1/') md = yield from dispatcher.resolve(request) assert len(md) assert 'ip' in md assert 'num' in md assert 'host' in md request = make_request('GET', '/api/1/host/myhost/eth0/127.0.0.1') md = yield from dispatcher.resolve(request) assert isinstance(md, MatchInfoError)
def test_dispatcher_not_resolve(): r = TreeUrlDispatcher() r.add_put('/', handler) req = make_request('GET', '/') a = yield from r.resolve(req) assert isinstance(a.http_exception, web.HTTPMethodNotAllowed)