示例#1
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.Routes()
        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)
示例#2
0
文件: routes_test.py 项目: rsau/grow
    def test_routes_add_operation(self):
        """Tests that routes can be added together."""

        doc = self._add('/', '/content/pages/home')
        result = self.routes.match('/')
        self.assertEquals(doc['value'], result.value)
        doc_foo_bar = self._add('/foo/bar', '/content/pages/foo')
        result = self.routes.match('/foo/bar')
        self.assertEquals(doc_foo_bar['value'], result.value)

        new_routes = grow_routes.Routes()
        doc_bar = self._add('/bar',
                            '/content/pages/bar',
                            custom_routes=new_routes)
        result = new_routes.match('/bar')
        self.assertEquals(doc_bar['value'], result.value)

        added_routes = self.routes + new_routes

        # Verify that the new routes has both the other route paths.
        result = added_routes.match('/')
        self.assertEquals(doc['value'], result.value)
        result = added_routes.match('/foo/bar')
        self.assertEquals(doc_foo_bar['value'], result.value)
        result = added_routes.match('/bar')
        self.assertEquals(doc_bar['value'], result.value)

        # Verify that the originals were not changed.
        result = self.routes.match('/')
        self.assertEquals(doc['value'], result.value)
        result = self.routes.match('/bar')
        self.assertEquals(None, result)
        result = self.routes.match('/foo/bar')
        self.assertEquals(doc_foo_bar['value'], result.value)
        result = new_routes.match('/bar')
        self.assertEquals(doc_bar['value'], result.value)
        result = new_routes.match('/foo/bar')
        self.assertEquals(None, result)
示例#3
0
 def setUp(self):
     self.routes = grow_routes.Routes()
示例#4
0
文件: router.py 项目: uxder/grow
 def __init__(self, pod, routes=None):
     self.pod = pod
     self._routes = routes or grow_routes.Routes()
示例#5
0
 def __init__(self, pod):
     self.pod = pod
     self._routes = grow_routes.Routes()