Beispiel #1
0
    def test_cache_recent_reviews(self):
        """
        test cache invalidate for recent reviews
        """
        posts = Post.objects.recent_reviews()
        self.assertEqual(len(posts), 0)

        post = Post()
        post.title = "Lorem ipsum"
        post.permalink = "lorem-ipsum"
        post.body = "siala lala tralala"
        post.user = self.u1
        post.status = Post.PUBLIC_STATUS
        post.type = Post.TYPE_POST
        post.is_published = True
        post.save()

        posts = Post.objects.recent_reviews()
        self.assertEqual(posts.count(), 1)

        post1 = Post()
        post1.title = "Lorem ipsum2"
        post1.permalink = "lorem-ipsum2"
        post1.body = "siala lala tralala"
        post1.user = self.u1
        post1.status = Post.PUBLIC_STATUS
        post1.type = Post.TYPE_POST
        post1.is_published = True
        post1.save()

        posts = Post.objects.recent_reviews()
        featured = Post.objects.featured_review()
        self.assertEqual(posts.count(),2)
        self.assertEqual(featured, None)

        post2 = Post()
        post2.title = "third post"
        post2.permalink = "third-post"
        post2.body = "siala lala tralala"
        post2.user = self.u1
        post2.status = Post.PUBLIC_STATUS
        post2.type = Post.TYPE_POST
        post2.is_published = True
        post2.save()

        posts = Post.objects.recent_reviews()
        featured = Post.objects.featured_review()
        self.assertEqual(posts.count(),3)
        self.assertEqual(featured, None)

        # change featured post status and check if cache is invalidated
        post2 = Post.objects.get(title__iexact='third post')
        post2.status = Post.DRAFT_STATUS
        post2.save()

        posts = Post.objects.recent_reviews()
        featured = Post.objects.featured_review()
        self.assertEqual(posts.count(),2)
        self.assertEqual(featured, None)

        # republished post
        post2 = Post.objects.get(title__iexact='third post')
        post2.status = Post.PUBLIC_STATUS
        post2.save()

        posts = Post.objects.recent_reviews()
        featured = Post.objects.featured_review()
        self.assertEqual(posts.count(),3)
        self.assertEqual(featured, None)
Beispiel #2
0
    def test_cache_recent_reviews(self):
        """
        test cache invalidate for recent reviews
        """
        posts = Post.objects.recent_reviews()
        self.assertEqual(len(posts), 0)

        post = Post()
        post.title = "Lorem ipsum"
        post.permalink = "lorem-ipsum"
        post.body = "siala lala tralala"
        post.user = self.u1
        post.status = Post.PUBLIC_STATUS
        post.type = Post.TYPE_POST
        post.is_published = True
        post.save()

        posts = Post.objects.recent_reviews()
        self.assertEqual(posts.count(), 1)

        post1 = Post()
        post1.title = "Lorem ipsum2"
        post1.permalink = "lorem-ipsum2"
        post1.body = "siala lala tralala"
        post1.user = self.u1
        post1.status = Post.PUBLIC_STATUS
        post1.type = Post.TYPE_POST
        post1.is_published = True
        post1.save()

        posts = Post.objects.recent_reviews()
        featured = Post.objects.featured_review()
        self.assertEqual(posts.count(), 2)
        self.assertEqual(featured, None)

        post2 = Post()
        post2.title = "third post"
        post2.permalink = "third-post"
        post2.body = "siala lala tralala"
        post2.user = self.u1
        post2.status = Post.PUBLIC_STATUS
        post2.type = Post.TYPE_POST
        post2.is_published = True
        post2.save()

        posts = Post.objects.recent_reviews()
        featured = Post.objects.featured_review()
        self.assertEqual(posts.count(), 3)
        self.assertEqual(featured, None)

        # change featured post status and check if cache is invalidated
        post2 = Post.objects.get(title__iexact='third post')
        post2.status = Post.DRAFT_STATUS
        post2.save()

        posts = Post.objects.recent_reviews()
        featured = Post.objects.featured_review()
        self.assertEqual(posts.count(), 2)
        self.assertEqual(featured, None)

        # republished post
        post2 = Post.objects.get(title__iexact='third post')
        post2.status = Post.PUBLIC_STATUS
        post2.save()

        posts = Post.objects.recent_reviews()
        featured = Post.objects.featured_review()
        self.assertEqual(posts.count(), 3)
        self.assertEqual(featured, None)