Example #1
0
 def _reload_menus(self):
     menu_pool.clear(all=True)
     menu_pool.discover_menus()
     # All cms menu modifiers should be removed from menu_pool.modifiers
     # so that they do not interfere with our menu nodes
     menu_pool.modifiers = [m for m in menu_pool.modifiers if m.__module__.startswith("djangocms_blog")]
     self._reset_menus()
Example #2
0
 def setUp(self):
     super(BaseMenuTest, self).setUp()
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     menu_pool.menus = {'CMSMenu': self.old_menu['CMSMenu']}
     menu_pool.clear(settings.SITE_ID)
Example #3
0
    def setUp(self):
        super(MenuTestCase, self).setUp()
        from django.utils import translation
        translation.activate('en-us')

        self.admin = user_model.objects.create_superuser(username='******',
                                                         email="*****@*****.**",
                                                         password='******')

        self.scribe = user_model.objects.create_user(username='******',
                                                     password='******')
        g = Group.objects.get(name='scribe')
        g.user_set.add(self.scribe)
        g.save()

        from lib import cmstestutil
        cmstestutil.refresh_cms_apps()
        cmstestutil.create_stock_test_pages()

        # What we are doing here is saving the menu setup on the first
        # run of this test. We will use it in tearDown to restore the
        # menus to their pre-expansion values. We need to do this
        # because the primary keys of the pages that carry apps will
        # change with each test. However, without doing this, the
        # expanded menus will refer to primary keys that no longer
        # exist.
        from menus.menu_pool import menu_pool
        menu_pool.discover_menus()
        if self.saved_menus is None:
            self.saved_menus = dict(menu_pool.menus)
Example #4
0
 def setUp(self):
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     menu_pool.menus = {
         'CMSMenu': self.old_menu['CMSMenu'],
         'TestMenu': TestMenu
     }
Example #5
0
 def test_nav_extenders_valid(self):
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     menu_pool.menus = {"TestMenu": TestMenu()}
     page = create_page(navigation_extenders="TestMenu", **self._get_default_create_page_arguments())
     self.assertEqual(page.navigation_extenders, "TestMenu")
     menu_pool.menus = self.old_menu
Example #6
0
 def test_nav_extenders_invalid_type(self):
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     menu_pool.menus = {'TestMenu': TestMenu()}
     self.assertRaises(AssertionError, create_page, navigation_extenders=1,
                       **self._get_default_create_page_arguments())
     menu_pool.menus = self.old_menu
Example #7
0
 def setUp(self):
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     menu_pool.menus = {
         'CMSMenu': self.old_menu['CMSMenu'],
         'TestMenu': TestMenu()
     }
Example #8
0
 def test_nav_extenders_invalid_type(self):
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     menu_pool.menus = {'TestMenu': TestMenu()}
     self.assertRaises(AssertionError, create_page, navigation_extenders=1,
                       **self._get_default_create_page_arguments())
     menu_pool.menus = self.old_menu
Example #9
0
 def test_nav_extenders_valid(self):
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     menu_pool.menus = {'TestMenu': TestMenu()}
     page = create_page(navigation_extenders='TestMenu',
                        **self._get_default_create_page_arguments())
     self.assertEqual(page.navigation_extenders, 'TestMenu')
     menu_pool.menus = self.old_menu
Example #10
0
 def setUp(self):
     super(BaseMenuTest, self).setUp()
     u = User(username="******", is_staff = True, is_active = True, is_superuser = True)
     u.set_password("test")
     u.save()
     self.login_user(u)
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     menu_pool.menus = {'CMSMenu':self.old_menu['CMSMenu']}
     menu_pool.clear(settings.SITE_ID)
Example #11
0
 def setUp(self):
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     # NOTE: if we're going to directly manipulate this menu pool, we should
     # at least be marking it as not _expanded.
     menu_pool.menus = {
         'CMSMenu': self.old_menu['CMSMenu'],
         'TestMenu': TestMenu
     }
     menu_pool._expanded = False
Example #12
0
 def setUp(self):
     super(BaseMenuTest, self).setUp()
     u = User(username="******", is_staff = True, is_active = True, is_superuser = True)
     u.set_password("test")
     u.save()
     self.login_user(u)
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     menu_pool.menus = {'CMSMenu':self.old_menu['CMSMenu']}
     menu_pool.clear(settings.SITE_ID)
Example #13
0
 def setUp(self):
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     # NOTE: if we're going to directly manipulate this menu pool, we should
     # at least be marking it as not _expanded.
     menu_pool.menus = {
         'CMSMenu': self.old_menu['CMSMenu'],
         'TestMenu': TestMenu
     }
     menu_pool._expanded = False
Example #14
0
 def setUp(self):
     settings.CMS_MODERATOR = False
     u = User(username="******", is_staff = True, is_active = True, is_superuser = True)
     u.set_password("test")
     u.save()
     self.login_user(u)
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     menu_pool.menus = {'CMSMenu':self.old_menu['CMSMenu']}
     menu_pool.clear(settings.SITE_ID)
     self.create_some_nodes()
Example #15
0
 def setUp(self):
     settings.CMS_MODERATOR = False
     u = User(username="******", is_staff = True, is_active = True, is_superuser = True)
     u.set_password("test")
     u.save()
     self.login_user(u)
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     menu_pool.menus = {'CMSMenu':self.old_menu['CMSMenu']}
     menu_pool.clear(settings.SITE_ID)
     self.create_some_nodes()
Example #16
0
 def setUp(self):
     
     with SettingsOverride(CMS_MODERATOR = False):
         u = User(username="******", is_staff = True, is_active = True, is_superuser = True)
         u.set_password("test")
         u.save()
         self.login_user(u)
         menu_pool.clear(settings.SITE_ID)
         
         if not menu_pool.discovered:
             menu_pool.discover_menus()
         self.old_menu = menu_pool.menus
         menu_pool.menus = {'CMSMenu':self.old_menu['CMSMenu'], 'TestMenu':TestMenu()}
Example #17
0
    def setUp(self):
        super(MenuTest, self).setUp()
        self.cats = [self.category_1]
        for i, lang_data in enumerate(self._categories_data):
            cat = self._get_category(lang_data["en"])
            if "it" in lang_data:
                cat = self._get_category(lang_data["it"], cat, "it")
            self.cats.append(cat)

        activate("en")
        menu_pool.discover_menus()
        # All cms menu modifiers should be removed from menu_pool.modifiers
        # so that they do not interfere with our menu nodes
        menu_pool.modifiers = [m for m in menu_pool.modifiers if m.__module__.startswith("djangocms_blog")]
Example #18
0
    def setUp(self):
        super(MenuTest, self).setUp()
        self.cats = [self.category_1]
        for i, cat_data in enumerate(self.cat_data['en']):
            cat = self._get_category(cat_data)
            if i < len(self.cat_data['it']):
                cat = self._get_category(self.cat_data['it'][i], cat, 'it')
            self.cats.append(cat)

        activate('en')
        menu_pool.discover_menus()
        # All cms menu modifiers should be removed from menu_pool.modifiers
        # so that they do not interfere with our menu nodes
        menu_pool.modifiers = [m for m in menu_pool.modifiers if m.__module__.startswith('djangocms_blog')]
Example #19
0
    def setUp(self):
        super(MenuTest, self).setUp()
        self.cats = [self.category_1]
        cache.clear()
        for i, lang_data in enumerate(self._categories_data):
            cat = self._get_category(lang_data['en'])
            if 'it' in lang_data:
                cat = self._get_category(lang_data['it'], cat, 'it')
            self.cats.append(cat)

        activate('en')
        menu_pool.clear(all=True)
        menu_pool.discover_menus()
        # All cms menu modifiers should be removed from menu_pool.modifiers
        # so that they do not interfere with our menu nodes
        menu_pool.modifiers = [m for m in menu_pool.modifiers if m.__module__.startswith('djangocms_blog')]
        cache.clear()
Example #20
0
    def setUp(self):
        super(MenuTest, self).setUp()
        self.cats = [self.category_1]
        cache.clear()
        for i, lang_data in enumerate(self._categories_data):
            cat = self._get_category(lang_data['en'])
            if 'it' in lang_data:
                cat = self._get_category(lang_data['it'], cat, 'it')
            self.cats.append(cat)

        activate('en')
        menu_pool.clear(all=True)
        menu_pool.discover_menus()
        # All cms menu modifiers should be removed from menu_pool.modifiers
        # so that they do not interfere with our menu nodes
        menu_pool.modifiers = [m for m in menu_pool.modifiers if m.__module__.startswith('djangocms_blog')]
        cache.clear()
Example #21
0
    def test_get_menus(self):
        """
        Check that menus are dynamically loaded according to the different page the apphook is
        attached to
        """
        titles = self.create_base_structure('VariableUrlsApp', ['en', 'de'])
        titles[0].page.reverse_id = 'page1'
        titles[0].page.save()
        cache.clear()
        self.reload_urls()
        menu_pool.discover_menus()
        cache.clear()

        request = self.get_request('/')
        nodes = menu_pool.get_nodes(request)
        nodes_urls = [node.url for node in nodes]
        self.assertTrue(reverse('sample-account') in nodes_urls)
        self.assertFalse('/en/child_page/page2/' in nodes_urls)

        self.reload_urls()
        self.apphook_clear()

        cache.clear()
        self.reload_urls()

        page2 = create_page('page2',
                            'nav_playground.html',
                            'en',
                            created_by=self.superuser,
                            published=True,
                            parent=titles[0].page.get_draft_object().parent,
                            in_navigation=True,
                            apphook='VariableUrlsApp',
                            reverse_id='page2')
        create_title('de', 'de_title', page2, slug='slug')
        page2.publish('de')
        request = self.get_request('/page2/')
        nodes = menu_pool.get_nodes(request)
        nodes_urls = [node.url for node in nodes]
        self.assertTrue(reverse('sample-account') in nodes_urls)
        self.assertTrue(reverse('sample2-root') in nodes_urls)
        self.assertTrue('/static/fresh/' in nodes_urls)

        self.apphook_clear()
Example #22
0
    def setUp(self):

        with SettingsOverride(CMS_MODERATOR=False):
            u = User(username="******",
                     is_staff=True,
                     is_active=True,
                     is_superuser=True)
            u.set_password("test")
            u.save()
            self.login_user(u)
            menu_pool.clear(settings.SITE_ID)

            if not menu_pool.discovered:
                menu_pool.discover_menus()
            self.old_menu = menu_pool.menus
            menu_pool.menus = {
                'CMSMenu': self.old_menu['CMSMenu'],
                'TestMenu': TestMenu()
            }
Example #23
0
    def test_get_menus(self):
        """
        Check that menus are dynamically loaded according to the different page the apphook is
        attached to
        """
        titles = self.create_base_structure('VariableUrlsApp', ['en', 'de'])
        titles[0].page.reverse_id = 'page1'
        titles[0].page.save()
        cache.clear()
        self.reload_urls()
        menu_pool.discover_menus()
        cache.clear()

        request = self.get_request('/')
        nodes = menu_pool.get_nodes(request)
        nodes_urls = [node.url for node in nodes]
        self.assertTrue(reverse('sample-account') in nodes_urls)
        self.assertFalse('/en/child_page/page2/' in nodes_urls)

        self.reload_urls()
        self.apphook_clear()

        cache.clear()
        self.reload_urls()

        page2 = create_page('page2', 'nav_playground.html',
                            'en', created_by=self.superuser, published=True,
                            parent=titles[0].page.get_draft_object().parent,
                            in_navigation=True,
                            apphook='VariableUrlsApp', reverse_id='page2')
        create_title('de', 'de_title', page2, slug='slug')
        page2.publish('de')
        request = self.get_request('/page2/')
        nodes = menu_pool.get_nodes(request)
        nodes_urls = [node.url for node in nodes]
        self.assertTrue(reverse('sample-account') in nodes_urls)
        self.assertTrue(reverse('sample2-root') in nodes_urls)
        self.assertTrue('/static/fresh/' in nodes_urls)

        self.apphook_clear()
Example #24
0
 def test_core_cms_menu_is_removed(self):
     menu_pool.discover_menus()
     registered_menus = menu_pool.get_registered_menus(for_rendering=True)
     self.assertNotIn(OriginalCMSMenu, registered_menus.values())
     self.assertIn(CMSMenu, registered_menus.values())
 def setUp(self):
     if not menu_pool.discovered:
         menu_pool.discover_menus()
     self.old_menu = menu_pool.menus
     menu_pool.menus = {"CMSMenu": self.old_menu["CMSMenu"], "TestMenu": TestMenu()}
 def test_core_cms_menu_is_removed(self):
     menu_pool.discover_menus()
     registered_menus = menu_pool.get_registered_menus(for_rendering=True)
     self.assertNotIn(CMSMenu.__name__, registered_menus)
     self.assertIn(CMSVersionedMenu.__name__, registered_menus)