Пример #1
0
        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)
Пример #2
0
    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)
Пример #3
0
 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)
Пример #4
0
        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)
Пример #5
0
 def setUp(self):
     self.routes = grow_routes.RoutesSimple()