예제 #1
0
    def test_new_non_published_post_does_not_purge_cached_pages(self):
        self._create_test_posts()

        Post.get_posts_by_page(2)

        self.assertIsNotNone(memcache.get(Post._page_memcached_key_prefix % (date.today(), 2)))

        Post(
            subject="another test post",
            mark_down="test mark down",
            html="test html",
            is_published=False,
            author=self.test_author,
        ).put()

        self.assertIsNotNone(memcache.get(Post._page_memcached_key_prefix % (date.today(), 2)))
예제 #2
0
    def _get_data_for_list(self):
        page_number = int(self.request.route_kwargs.get('page_number', 1))

        try:
            posts = Post.get_posts_by_page(page_number)
        except InvalidPageSelectedException:
            self.abort(404)

        return posts
예제 #3
0
    def test_getting_posts_by_page_does_not_include_future_posts(self):
        self._create_test_posts()

        # Create a post for the future.
        Post(
            subject="this post shouldn't show up.",
            mark_down="test mark down",
            html="test html",
            is_published=True,
            author=self.test_author,
            post_date=datetime.today() + timedelta(days=1),
        ).put()

        posts = Post.get_posts_by_page(1)

        self.assertFalse(posts[0].subject == "this post shouldn't show up.")
예제 #4
0
    def test_exception_if_invalid_page_number_is_requested(self):
        self._create_test_posts()

        with self.assertRaises(InvalidPageSelectedException):
            Post.get_posts_by_page(10)
예제 #5
0
    def test_getting_posts_by_page_caches_in_memcached(self):
        self._create_test_posts()

        Post.get_posts_by_page(2)

        self.assertIsNotNone(memcache.get(Post._page_memcached_key_prefix % (date.today(), 2)))
예제 #6
0
    def test_getting_posts_by_page_does_not_include_non_published_posts(self):
        self._create_test_posts()
        self._create_test_non_published_posts()

        self.assertEqual(len(Post.get_posts_by_page(2)), 4)
예제 #7
0
    def test_can_get_posts_by_page(self):
        self._create_test_posts()

        self.assertEqual(len(Post.get_posts_by_page(2)), 4)