def test_delegate_to(self): """Test the view delegate feature.""" c = self.get_admin_client() page_data = self.get_new_page_data() page_data['title'] = 'delegate' page_data['slug'] = 'delegate' response = c.post('/admin/pages/page/add/', page_data) self.assertRedirects(response, '/admin/pages/page/') page = Page.objects.from_path('delegate', None) from pages import urlconf_registry as reg reg.register_urlconf('test', 'pages.testproj.documents.urls', label='test') page.delegate_to = 'test' page.save() response = c.get(self.get_page_url('delegate')) self.assertEqual(response.status_code, 200) from pages.testproj.documents.models import Document doc = Document(title='doc title 1', text='text', page=page) doc.save() response = c.get(self.get_page_url('delegate/doc-%d' % doc.id)) self.assertEqual(response.status_code, 200) self.assertContains(response, "doc title 1") reg.registry = []
def test_delegate_to(self): """Test the view delegate feature.""" c = self.get_admin_client() page_data = self.get_new_page_data() page_data['title'] = 'delegate' page_data['slug'] = 'delegate' response = c.post('/admin/pages/page/add/', page_data) self.assertRedirects(response, '/admin/pages/page/') page = Page.objects.from_path('delegate', None) from pages import urlconf_registry as reg reg.register_urlconf('test', 'pages.testproj.documents.urls', label='test') page.delegate_to = 'test' page.save() response = c.get(self.get_page_url('delegate')) self.assertEqual(response.status_code, 200) from pages.testproj.documents.models import Document doc = Document(title='doc title 1', text='text', page=page) doc.save() url = self.get_page_url('delegate/doc-%d' % doc.id) self.assertTrue(str(doc.id) in url) response = c.get(url) self.assertEqual(response.status_code, 200) self.assertContains(response, "doc title 1") reg.registry = []
def test_path_too_long(self): """Test that the CMS try to resolve the whole page path to find a suitable sub path with delegation.""" page1 = self.new_page(content={'slug':'page1'}) page2 = self.new_page(content={'slug':'page2'}) from pages import urlconf_registry as reg reg.register_urlconf('test', 'pages.testproj.documents.urls', label='test') page2.delegate_to = 'test' page1.delegate_to = 'test' page1.save() page2.save() page2.parent = page1 page2.save() from pages.testproj.documents.models import Document doc = Document(title='doc title 1', text='text', page=page1) doc.save() req = get_request_mock() self.set_setting("PAGE_HIDE_ROOT_SLUG", True) def _get_context_page(path): return details(req, path, 'en-us') self.assertEqual(_get_context_page('/').status_code, 200) self.assertEqual(_get_context_page('/page1').status_code, 200) self.assertEqual(_get_context_page('/page1/').status_code, 200) self.assertEqual(_get_context_page('/page1/page2').status_code, 200) self.assertEqual(_get_context_page('/page1/page2/').status_code, 200) self.assertEqual(_get_context_page('/page1/page2/doc-%d' % doc.id ).status_code, 200) self.assertRaises(Http404, _get_context_page, '/page1/page-wrong/doc-%d' % doc.id) reg.registry = []
def test_delegate_to(self): """Test the view delegate feature.""" c = self.get_admin_client() page_data = self.get_new_page_data() page_data["title"] = "delegate" page_data["slug"] = "delegate" response = c.post("/admin/pages/page/add/", page_data) self.assertRedirects(response, "/admin/pages/page/") page = Page.objects.from_path("delegate", None) from pages import urlconf_registry as reg reg.register_urlconf("test", "pages.testproj.documents.urls", label="test") page.delegate_to = "test" page.save() response = c.get(self.get_page_url("delegate")) self.assertEqual(response.status_code, 200) from pages.testproj.documents.models import Document doc = Document(title="doc title 1", text="text", page=page) doc.save() response = c.get(self.get_page_url("delegate/doc-%d" % doc.id)) self.assertEqual(response.status_code, 200) self.assertContains(response, "doc title 1") reg.registry = []
def test_path_too_long(self): """Test that the CMS try to resolve the whole page path to find a suitable sub path with delegation.""" page1 = self.new_page(content={'slug': 'page1'}) page2 = self.new_page(content={'slug': 'page2'}) from pages import urlconf_registry as reg reg.register_urlconf('test2', 'pages.testproj.documents.urls', label='test') page2.delegate_to = 'test2' page1.delegate_to = 'test2' page1.save() page2.save() page2.parent = page1 page2.save() from pages.testproj.documents.models import Document doc = Document(title='doc title 1', text='text', page=page1) doc.save() req = get_request_mock() self.set_setting("PAGE_HIDE_ROOT_SLUG", False) page1.invalidate() page2.invalidate() def _get_context_page(path): return details(req, path, 'en-us') self.assertEqual(_get_context_page('/').status_code, 200) self.assertEqual(_get_context_page('/page1/').status_code, 200) self.assertEqual(_get_context_page('/page1/').status_code, 200) self.assertEqual(_get_context_page('/page1/page2').status_code, 200) self.assertEqual(_get_context_page('/page1/page2/').status_code, 200) self.assertEqual( _get_context_page('/page1/page2/doc-%d' % doc.id).status_code, 200) self.assertRaises(Http404, _get_context_page, '/page1/page-wrong/doc-%d' % doc.id) reg.registry = []
def test_path_too_long(self): """Test that the CMS try to resolve the whole page path to find a suitable sub path with delegation.""" page1 = self.new_page(content={"slug": "page1"}) page2 = self.new_page(content={"slug": "page2"}) from pages import urlconf_registry as reg reg.register_urlconf("test2", "pages.testproj.documents.urls", label="test") page2.delegate_to = "test2" page1.delegate_to = "test2" page1.save() page2.save() page2.parent = page1 page2.save() from pages.testproj.documents.models import Document doc = Document(title="doc title 1", text="text", page=page1) doc.save() req = get_request_mock() self.set_setting("PAGE_HIDE_ROOT_SLUG", False) page1.invalidate() page2.invalidate() def _get_context_page(path): return details(req, path, "en-us") self.assertEqual(_get_context_page("/").status_code, 200) self.assertEqual(_get_context_page("/page1/").status_code, 200) self.assertEqual(_get_context_page("/page1/").status_code, 200) self.assertEqual(_get_context_page("/page1/page2").status_code, 200) self.assertEqual(_get_context_page("/page1/page2/").status_code, 200) self.assertEqual(_get_context_page("/page1/page2/doc-%d" % doc.id).status_code, 200) self.assertRaises(Http404, _get_context_page, "/page1/page-wrong/doc-%d" % doc.id) reg.registry = []