Exemplo n.º 1
0
    def test_cache_cleanup(self):
        """
        Tests the correct retrieval of tags for a title from request
        """
        page, page_2 = self.get_pages()

        # Assign tags to title
        title_tags = models.TitleTags.objects.create(extended_object=page.get_title_obj("en"))
        title_tags.tags.add(*self.tag_strings)
        page_tags = models.PageTags.objects.create(extended_object=page)
        page_tags.tags.add(*self.tag_strings)
        for lang in self.languages:
            page.publish(lang)

        # Reload page from request and extract tags from it
        request = self.get_request(page, "en")
        title_tags_list = get_title_tags_from_request(request, page.get_public_object().pk, "en", page.site_id)
        page_tags_list = get_page_tags_from_request(request, page.get_public_object().pk, "en", page.site_id)

        title_key = get_cache_key(None, page.get_public_object(), "en", page.get_public_object().site_id, True)
        page_key = get_cache_key(None, page.get_public_object(), "", page.get_public_object().site_id, False)

        title_cache = cache.get(title_key)
        page_cache = cache.get(page_key)

        self.assertEqual(set(title_tags_list), set(title_cache))
        self.assertEqual(set(page_tags_list), set(page_cache))

        page.get_public_object().get_title_obj("en").delete()
        self.assertIsNone(cache.get(title_key))

        page.get_public_object().delete()
        self.assertIsNone(cache.get(page_key))
Exemplo n.º 2
0
    def test_tags_request_title(self):
        """
        Tests the correct retrieval of tags for a title from request
        """
        page, page_2 = self.get_pages()

        # Assign tags to title
        title_tags = models.TitleTags.objects.create(extended_object=page.get_title_obj('en'))
        title_tags.tags.add(*self.tag_strings)
        page.publish()

        # Reload page from request and extract tags from it
        request = self.get_request(page, 'en')
        tags_list = get_title_tags_from_request(request, page.get_public_object().pk, 'en', page.site_id)
        self.assertEqual(set(self.tag_strings), set([tag.name for tag in tags_list]))
Exemplo n.º 3
0
    def test_cache_cleanup(self):
        """
        Tests the correct retrieval of tags for a title from request
        """
        page, page_2 = self.get_pages()

        # Assign tags to title
        title_tags = models.TitleTags.objects.create(
            extended_object=page.get_title_obj('en'))
        title_tags.tags.add(*self.tag_strings)
        page_tags = models.PageTags.objects.create(extended_object=page)
        page_tags.tags.add(*self.tag_strings)
        for lang in self.languages:
            page.publish(lang)

        try:
            site_id = page.node.site_id
        except AttributeError:  # CMS_3_4
            site_id = page.site_id
        # Reload page from request and extract tags from it
        request = self.get_request(page, 'en')
        title_tags_list = get_title_tags_from_request(
            request,
            page.get_public_object().pk, 'en', site_id)
        page_tags_list = get_page_tags_from_request(
            request,
            page.get_public_object().pk, 'en', site_id)

        try:
            site_id = page.get_public_object().node.site_id
        except AttributeError:  # CMS_3_4
            site_id = page.get_public_object().site_id
        title_key = get_cache_key(None, page.get_public_object(), 'en',
                                  site_id, True)
        page_key = get_cache_key(None, page.get_public_object(), '', site_id,
                                 False)

        title_cache = cache.get(title_key)
        page_cache = cache.get(page_key)

        self.assertEqual(set(title_tags_list), set(title_cache))
        self.assertEqual(set(page_tags_list), set(page_cache))

        page.get_public_object().get_title_obj('en').delete()
        self.assertIsNone(cache.get(title_key))

        page.get_public_object().delete()
        self.assertIsNone(cache.get(page_key))
Exemplo n.º 4
0
    def test_tags_request_title(self):
        """
        Tests the correct retrieval of tags for a title from request
        """
        page, page_2 = self.get_pages()

        # Assign tags to title
        title_tags = models.TitleTags.objects.create(
            extended_object=page.get_title_obj('en'))
        title_tags.tags.add(*self.tag_strings)
        for lang in self.languages:
            page.publish(lang)

        # Reload page from request and extract tags from it
        request = self.get_request(page, 'en')
        tags_list = get_title_tags_from_request(request,
                                                page.get_public_object().pk,
                                                'en', page.site_id)
        self.assertEqual(set(self.tag_strings),
                         set([tag.name for tag in tags_list]))