def testRouteLookupFailure(self): request = Request.blank('') api = RouteApi(request, self.routemap) for path_args in [ ('wot', ), ('three', 'six'), ]: path = api.find(self.p_one.name, path_args) self.assertEqual(path, None)
def testRouteLookupFailure(self): request = Request.blank('') api = RouteApi(request, self.routemap) for path_args in [ ('wot',), ('three', 'six'), ]: path = api.find(self.p_one.name, path_args) self.assertEqual(path, None)
def testRouteLookup(self): request = Request.blank('') api = RouteApi(request, self.routemap) for path_args, path in [ ((), '/const_one'), (('two', 'four'), '/two/two/four'), (('two', '216'), '/two/two/216/const_two'), (('two', 216), '/two/two/216/const_two'), (('two', 11), '/two/two/11'), ]: found = api.find(self.p_one.name, path_args) self.assertEqual(path, found)
def testRouteMatching(self): request = Request.blank('/first/1/one/two/second/2/three/four') routeapi = RouteApi(request, self.routemap) shouldmatch = [('/', self.root), ('first', self.r1), (1, self.r2), ('one', self.r2), ('two', self.r2), ('second', self.r3), (2, self.r4), ('three', self.r4), ('four', self.r4)] self.assertEqual(routeapi._matched_routes, shouldmatch)
def testRoutefindingFailing(self): invalid_routes = [ '/invalid', '/first/asdf', '/first/asdf/second' '/first/3/second/asdf' ] for path in invalid_routes: request = Request.blank(path) routeapi = RouteApi(request, self.routemap) self.assertEqual(routeapi._matched_routes, 404)
def testRouteFinding(self): path_route_pairs = [ ('/first', self.r1), ('/first/1000', self.r2), ('/first/3/', self.r2), ('/first/3/a/b/c/d/e', self.r2), ('/first/3/a/b/second', self.r3), ('/first/3/a/b/second/3', self.r4), ('/first/3/a/b/second/44/c/d/e', self.r4), ] for path, route in path_route_pairs: request = Request.blank(path) routeapi = RouteApi(request, self.routemap) self.assertEqual(routeapi.route, route)
def testApiRoutes(self): request = Request.blank('/first/1/one/two/second/2/three/four') routes = [self.root, self.r1, self.r2, self.r3, self.r4] routeapi = RouteApi(request, self.routemap) self.assertEqual(routeapi.routes, routes)
def testRelative(self): request = Request.blank('/first/1/one/two/second/2/three/four') routeapi = RouteApi(request, self.routemap) self.assertEqual(routeapi.relative, (('one', 'two'), ('three', 'four')))
def testTrivialRoot(self): request = Request.blank('/') routeapi = RouteApi(request, self.routemap) self.assertEqual(routeapi.route, self.root)
def testEndVar(self): request = Request.blank('/first/endvar') routeapi = RouteApi(request, self.routemap) self.assertEqual(routeapi.vars, ('endvar', ))
def testVars(self): request = Request.blank('/first/1/one/two/second/2/three/four') routeapi = RouteApi(request, self.routemap) self.assertEqual(routeapi.vars, (1, 'one', 'two', 2, 'three', 'four'))
def testTransformedPath(self): request = Request.blank('/first/1/one/two/second/2/three/four') routeapi = RouteApi(request, self.routemap) self.assertEqual( routeapi.path, ['first', 1, 'one', 'two', 'second', 2, 'three', 'four'])