def do_it(redirect_code): self.drop_db() self.create_db() node2 = WebPage(id=2, visible=True, name='node2', slug='node2') node1 = WebPage( id=1, visible=True, name='node', slug='node', redirect_type=redirect_code, redirect=node2 ) node3 = WebPage(id=3, visible=True, name='node3', slug='node3', parent_id=2) node4 = WebPage( id=4, visible=True, name='node4', slug='node4', redirect_type=redirect_code, redirect=node3 ) node5_inheritance = Gallery( id=5, visible=True, name='node5', slug='node5') node6 = WebPage( id=6, visible=True, name='node6', slug='node6', redirect_type=redirect_code, redirect_page=node5_inheritance.id ) self.dbsession.add(node1) self.dbsession.add(node2) self.dbsession.flush() self.dbsession.add(node3) self.dbsession.add(node4) self.dbsession.add(node5_inheritance) self.dbsession.add(node6) self.dbsession.commit() # 301 context = BasePageResource(node1) context.dbsession = self.dbsession view = PageView(context, self.request).page_with_redirect() self.assertEqual(view.status_code, redirect_code) self.assertEqual(view.location, 'http://example.com/node2/') context = BasePageResource(node4) view = PageView(context, self.request).page_with_redirect() self.assertEqual(view.status_code, redirect_code) self.assertEqual(view.location, 'http://example.com/node2/node3/') context = BasePageResource(node6) view = PageView(context, self.request).page_with_redirect() self.assertEqual(view.status_code, redirect_code) self.assertEqual(view.location, 'http://example.com/gallery/node5/') self.dbsession.close()