def _reset_routes(): self.routes = grow_routes.RoutesSimple() self._add('/bax/bar', value=_RouteInfo('doc')) # 1 - doc self._add('/bax/coo/lib', value=_RouteInfo('static')) # 1 - static self._add('/bax/coo/vin', value=_RouteInfo('static')) # 2 - static self._add('/bax/pan', value=_RouteInfo('doc')) # 2 - doc self._add('/bax/pan/taw', value=_RouteInfo('static')) # 3 - static self._add('/bax/vew/vin', value=_RouteInfo('doc')) # 3 - doc self._add('/fes/pon', value=_RouteInfo(None)) # 1 - default self._add('/foo', value=_RouteInfo('doc')) # 1 - doc self._add('/tem/pon', value=_RouteInfo('static')) # 1 - static self._add('/tem/tan', value=_RouteInfo('static')) # 2 - static # Expect the yielded nodes to be in order. expected = sorted([ '/bax/bar', '/bax/coo/lib', '/bax/coo/vin', '/bax/pan', '/foo', '/tem/pon', '/bax/pan/taw', '/bax/vew/vin', '/fes/pon', '/tem/tan', ]) actual = sorted(list(self.routes.paths)) self.assertEqual(expected, actual)
def test_routes_update_operation(self): """Tests that routes can be updated.""" doc = self._add('/', '/content/pages/home') result = self.routes.match('/') self.assertEqual(doc['value'], result.value) doc_foo_bar = self._add('/foo/bar', '/content/pages/foo/bar') result = self.routes.match('/foo/bar') self.assertEqual(doc_foo_bar['value'], result.value) new_routes = grow_routes.RoutesSimple() doc_bar = self._add('/bar', '/content/pages/bar', custom_routes=new_routes) result = new_routes.match('/bar') self.assertEqual(doc_bar['value'], result.value) self.routes.update(new_routes) # Verify that the original routes has both the route paths. result = self.routes.match('/') self.assertEqual(doc['value'], result.value) result = self.routes.match('/foo/bar') self.assertEqual(doc_foo_bar['value'], result.value) result = self.routes.match('/bar') self.assertEqual(doc_bar['value'], result.value) # Verify that the new routes were not changed. result = self.routes.match('/foo/bar') self.assertEqual(doc_foo_bar['value'], result.value) result = new_routes.match('/bar') self.assertEqual(doc_bar['value'], result.value) result = new_routes.match('/foo/bar') self.assertEqual(None, result)
def use_simple(self): """Switches the routes to be a simple routes object.""" previous_routes = self._routes self._routes = grow_routes.RoutesSimple() if previous_routes is not None: for path, value, _ in previous_routes.nodes: self._routes.add(path, value)
def _reset_routes(): self.routes = grow_routes.RoutesSimple() # Add nodes in random order. self._add('/foo', value=1) self._add('/bax/coo/lib', value=2) self._add('/bax/bar', value=3) self._add('/bax/pan', value=4) self._add('/bax/coo/vin', value=5) self._add('/tem/pon', value=6) # Expect the yielded nodes to be in order. expected = [ '/bax/bar', '/bax/coo/lib', '/bax/coo/vin', '/bax/pan', '/foo', '/tem/pon', ] actual = list(self.routes.paths) self.assertEqual(expected, actual)
def setUp(self): self.routes = grow_routes.RoutesSimple()