def test_menu_cache_key_on_communes(self): communes = getattr(self.portal, 'commune') viewlet = CpskinMenuViewlet(communes, self.request, None, None) viewlet.update() key = cache_key(viewlet.superfish_portal_tabs, viewlet) self.assertTrue(key.startswith('menu.')) self.assertTrue(key.endswith(IUUID(communes)))
def test_menu_cache_usage_test_fail(self): item = self.portal.restrictedTraverse('commune/services_communaux') viewlet = CpskinMenuViewlet(item, self.request, None, None) viewlet.update() self.assertEqual(get_cache_miss(), 0) viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 1)
def test_menu_cache_key_on_communes_subitem(self): item = self.portal.restrictedTraverse('commune/services_communaux') communes = getattr(self.portal, 'commune') viewlet = CpskinMenuViewlet(item, self.request, None, None) viewlet.update() key = cache_key(viewlet.superfish_portal_tabs, viewlet) self.assertTrue(key.startswith('menu.')) self.assertTrue(key.endswith(IUUID(communes)))
def test_menu_lp_portal_tabs(self): """Root page + load page menu actived should not return menus""" viewlet = CpskinMenuViewlet(self.portal, self.request, None, None) viewlet.update() self.assertTrue(viewlet.is_homepage) menus = viewlet.superfish_portal_tabs() self.assertEqual(len(menus), 0)
def test_object_publication_invalidates_menu(self): item = self.portal.restrictedTraverse('commune/services_communaux') viewlet = CpskinMenuViewlet(item, self.request, None, None) viewlet.update() self.assertEqual(get_cache_miss(), 0) viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 1) viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 1) api.content.transition(item, 'publish') viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 2)
def test_objet_modification_invalidates_menu(self): item = self.portal.restrictedTraverse('commune/services_communaux') viewlet = CpskinMenuViewlet(item, self.request, None, None) viewlet.update() self.assertEqual(get_cache_miss(), 0) viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 1) viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 1) item.setTitle('Test Cache Invalidation') item.processForm() viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 2)
def test_menu_cache_invalidate_another_menu(self): item = self.portal.restrictedTraverse('commune/services_communaux') commune = self.portal.restrictedTraverse('commune/services_communaux') viewlet = CpskinMenuViewlet(item, self.request, None, None) viewlet.update() self.assertEqual(get_cache_miss(), 0) viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 1) loisirs = self.portal.restrictedTraverse('loisirs') invalidate_menu(loisirs) viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 1) invalidate_menu(commune) viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 2)
def test_menu_cache_key_on_root(self): viewlet = CpskinMenuViewlet(self.portal, self.request, None, None) viewlet.update() key = cache_key(viewlet.superfish_portal_tabs, viewlet) self.assertTrue(key.startswith('menu.')) self.assertTrue(key.endswith(IUUID(self.portal)))
def test_menu_portal_tabs(self): viewlet = CpskinMenuViewlet(self.portal, self.request, None, None) viewlet.update() self.assertTrue(viewlet.is_homepage) menus = viewlet.superfish_portal_tabs() self.assertEqual(len(menus), 2)
def test_object_rename_invalidates_menu(self): item = self.portal.restrictedTraverse('commune/services_communaux') commune = self.portal.restrictedTraverse('commune') viewlet = CpskinMenuViewlet(commune, self.request, None, None) viewlet.update() self.assertEqual(get_cache_miss(), 0) viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 1) viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 1) api.content.rename(item, new_id='sc') viewlet.update() viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 2)
def test_object_moved_invalidates_menus(self): item = self.portal.restrictedTraverse('commune/services_communaux') commune = self.portal.restrictedTraverse('commune') loisirs = self.portal.restrictedTraverse('loisirs') viewlet = CpskinMenuViewlet(commune, self.request, None, None) viewlet.update() self.assertEqual(get_cache_miss(), 0) viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 1) viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 1) viewlet_loisirs = CpskinMenuViewlet(loisirs, self.request, None, None) viewlet_loisirs.update() self.assertEqual(get_cache_miss(), 1) viewlet_loisirs.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 2) viewlet_loisirs.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 2) api.content.move(item, loisirs) viewlet.update() viewlet_loisirs.update() self.assertEqual(get_cache_miss(), 2) viewlet_loisirs.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 3) viewlet.superfish_portal_tabs() self.assertEqual(get_cache_miss(), 4)