def setUp(self): super(DocumentZoneMiddlewareTestCase, self).setUp() s_cache = get_cache(SECONDARY_CACHE_ALIAS) s_cache.clear() self.zone_root = 'ExtraWiki' self.zone_root_content = 'This is the Zone Root' root_rev = revision(title='ZoneRoot', slug='Zones/Root', content=self.zone_root_content, is_approved=True, save=True) self.root_doc = root_rev.document middle_rev = revision(title='middlePage', slug='Zones/Root/Middle', content='This is a middlepage', is_approved=True, save=True) self.middle_doc = middle_rev.document self.middle_doc.parent_topic = self.root_doc self.middle_doc.save() sub_rev = revision(title='SubPage', slug='Zones/Root/Middle/SubPage', content='This is a subpage', is_approved=True, save=True) self.sub_doc = sub_rev.document self.sub_doc.parent_topic = self.middle_doc self.sub_doc.save() self.root_zone = DocumentZone(document=self.root_doc) self.root_zone.url_root = self.zone_root self.root_zone.save() self.middle_zone = DocumentZone(document=self.middle_doc) self.middle_zone.save() other_rev = revision(title='otherPage', slug='otherPage', content='This is an otherpage', is_approved=True, save=True) self.other_doc = other_rev.document self.other_doc.save() self.other_zone = DocumentZone(document=self.other_doc) self.other_zone.url_root = '' self.other_zone.save() # One more doc, just to be sure we can have multiple blank url_roots onemore_rev = revision(title='onemorePage', slug='onemorePage', content='This is an onemorepage', is_approved=True, save=True) self.onemore_doc = onemore_rev.document self.onemore_doc.save() self.onemore_zone = DocumentZone(document=self.onemore_doc) self.onemore_zone.url_root = '' self.onemore_zone.save()
def test_zone_url_ends_with_slash(self): """Ensure urls only rewrite with a '/' at the end of url_root bug 1189596 """ zone_url_root = 'Firéfox' zone_root_content = 'This is the Firéfox zone' root_rev = revision(title='Firéfox', slug='Mozilla/Firéfox', content=zone_root_content, is_approved=True, save=True) root_doc = root_rev.document root_zone = DocumentZone(document=root_doc) root_zone.url_root = zone_url_root root_zone.save() none_zone_rev = revision(title='Firéfox for iOS', slug='Mozilla/Firéfox_for_iOS', content='Page outside zone with same prefix', is_approved=True, save=True) non_zone_doc = none_zone_rev.document non_zone_doc.save() url = '/en-US/docs/{0!s}'.format(non_zone_doc.slug) response = self.client.get(url, follow=False) eq_(200, response.status_code)
def setUp(self): super(DocumentZoneTests, self).setUp() self.root_links_content = """ <p>Links content</p> """ self.root_content = """ <h4 id="links">Links</h4> %s """ % (self.root_links_content) root_rev = revision(title='ZoneRoot', slug='ZoneRoot', content=self.root_content, is_approved=True, save=True) self.root_doc = root_rev.document self.root_doc.rendered_html = self.root_content self.root_doc.save() self.root_zone = DocumentZone(document=self.root_doc) self.root_zone.save() sub_rev = revision(title='SubPage', slug='SubPage', content='This is a subpage', is_approved=True, save=True) self.sub_doc = sub_rev.document self.sub_doc.parent_topic = self.root_doc self.sub_doc.rendered_html = sub_rev.content self.sub_doc.save() self.sub_sub_links_content = """ <p>Sub-page links content</p> """ self.sub_sub_content = """ <h4 id="links">Links</h4> %s """ % (self.sub_sub_links_content) sub_sub_rev = revision(title='SubSubPage', slug='SubSubPage', content='This is a subpage', is_approved=True, save=True) self.sub_sub_doc = sub_sub_rev.document self.sub_sub_doc.parent_topic = self.sub_doc self.sub_sub_doc.rendered_html = self.sub_sub_content self.sub_sub_doc.save() other_rev = revision(title='otherPage', slug='otherPage', content='This is an other page', is_approved=True, save=True) self.other_doc = other_rev.document self.other_doc.save() memcache.clear()