def test_empty_prefix(self): urls = self.router.urls urls = self.a_router.urls self.assertEquals(len(urls), 2) self.assertEquals(get_regex_pattern(urls[0]), u'^(?P<a_pk>[0-9a-f]{32})/b/$') self.assertEquals(get_regex_pattern(urls[1]), u'^(?P<a_pk>[0-9a-f]{32})/b/(?P<pk>[^/.]+)/$')
def test_dynamic_routes(self): self.assertFalse(hasattr(self.router, 'parent_regex')) urls = map_by_name(self.router.urls) self.assertEqual(get_regex_pattern(urls['basicmodel-list']), u'^detail/$') self.assertEqual(get_regex_pattern(urls['basicmodel-detail']), u'^detail/(?P<pk>[^/.]+)/$') self.assertEqual( get_regex_pattern(urls['basicmodel-set-password']), u'^detail/(?P<pk>[^/.]+)/set_password/$')
def test_dynamic_routes(self): self.assertFalse(hasattr(self.router, 'parent_regex')) urls = map_by_name(self.router.urls) self.assertEquals( get_regex_pattern(urls['basicmodel-list']), u'^detail/$' ) self.assertEquals( get_regex_pattern(urls['basicmodel-detail']), u'^detail/(?P<pk>[^/.]+)/$' ) self.assertEquals( get_regex_pattern(urls['basicmodel-set-password']), u'^detail/(?P<pk>[^/.]+)/set_password/$' )
def test_nested_parent(self): self.assertEqual(self.detail_router.parent_regex, u'detail/(?P<detail_pk>[^/.]+)/') urls = map_by_name(self.detail_router.urls) self.assertEqual(get_regex_pattern(urls['basicmodel-list']), u'^detail/(?P<detail_pk>[^/.]+)/list/$') self.assertEqual( get_regex_pattern(urls['basicmodel-recent-users']), u'^detail/(?P<detail_pk>[^/.]+)/list/recent_users/$') self.assertEqual( get_regex_pattern(urls['basicmodel-detail']), u'^detail/(?P<detail_pk>[^/.]+)/list/(?P<pk>[^/.]+)/$')
def test_nested_parent(self): self.assertEqual( self.detail_router.parent_regex, u'detail/(?P<detail_pk>[^/.]+)/' ) urls = map_by_name(self.detail_router.urls) self.assertEquals( get_regex_pattern(urls['basicmodel-list']), u'^detail/(?P<detail_pk>[^/.]+)/list/$' ) self.assertEquals( get_regex_pattern(urls['basicmodel-recent-users']), u'^detail/(?P<detail_pk>[^/.]+)/list/recent_users/$' ) self.assertEquals( get_regex_pattern(urls['basicmodel-detail']), u'^detail/(?P<detail_pk>[^/.]+)/list/(?P<pk>[^/.]+)/$' )
def test_recursive_nested_simple_routers(self): self.assertFalse(hasattr(self.router, 'parent_regex')) urls = self.router.urls self.assertEquals(len(urls), 2) self.assertEquals(get_regex_pattern(urls[0]), u'^a/$') self.assertEquals(get_regex_pattern(urls[1]), u'^a/(?P<pk>[0-9a-f]{32})/$') self.assertEqual(self.a_router.parent_regex, u'a/(?P<a_pk>[0-9a-f]{32})/') urls = self.a_router.urls self.assertEquals(len(urls), 2) self.assertEquals(get_regex_pattern(urls[0]), u'^a/(?P<a_pk>[0-9a-f]{32})/b/$') self.assertEquals(get_regex_pattern(urls[1]), u'^a/(?P<a_pk>[0-9a-f]{32})/b/(?P<pk>[^/.]+)/$') self.assertEqual(self.b_router.parent_regex, u'a/(?P<a_pk>[0-9a-f]{32})/b/(?P<b_pk>[^/.]+)/') urls = self.b_router.urls self.assertEquals(len(urls), 2) self.assertEquals(get_regex_pattern(urls[0]), u'^a/(?P<a_pk>[0-9a-f]{32})/b/(?P<b_pk>[^/.]+)/c/$') self.assertEquals( get_regex_pattern(urls[1]), u'^a/(?P<a_pk>[0-9a-f]{32})/b/(?P<b_pk>[^/.]+)/c/(?P<pk>[^/.]+)/$')
def test_recursive_nested_simple_routers(self): self.assertFalse(hasattr(self.router, 'parent_regex')) urls = self.router.urls self.assertEquals(len(urls), 2) self.assertEquals(get_regex_pattern(urls[0]), u'^a/$') self.assertEquals(get_regex_pattern(urls[1]), u'^a/(?P<pk>[0-9a-f]{32})/$') self.assertEqual(self.a_router.parent_regex, u'a/(?P<a_pk>[0-9a-f]{32})/') urls = self.a_router.urls self.assertEquals(len(urls), 2) self.assertEquals(get_regex_pattern(urls[0]), u'^a/(?P<a_pk>[0-9a-f]{32})/b/$') self.assertEquals(get_regex_pattern(urls[1]), u'^a/(?P<a_pk>[0-9a-f]{32})/b/(?P<pk>[^/.]+)/$') self.assertEqual(self.b_router.parent_regex, u'a/(?P<a_pk>[0-9a-f]{32})/b/(?P<b_pk>[^/.]+)/') urls = self.b_router.urls self.assertEquals(len(urls), 2) self.assertEquals(get_regex_pattern(urls[0]), u'^a/(?P<a_pk>[0-9a-f]{32})/b/(?P<b_pk>[^/.]+)/c/$') self.assertEquals(get_regex_pattern(urls[1]), u'^a/(?P<a_pk>[0-9a-f]{32})/b/(?P<b_pk>[^/.]+)/c/(?P<pk>[^/.]+)/$')