Пример #1
0
    def test_cursor_caching(self):
        paginator = GaeNdbPaginator(GaeNdbPaginationModel.query().order(
            GaeNdbPaginationModel.field1),
                                    5,
                                    batch_size=2)

        paginator.page(3)

        self.assertFalse(paginator.has_cursor_for_page(2))
        self.assertFalse(paginator.has_cursor_for_page(3))
        self.assertTrue(paginator.has_cursor_for_page(5))

        paginator.page(1)
        self.assertFalse(paginator.has_cursor_for_page(2))
        self.assertTrue(paginator.has_cursor_for_page(3))
        self.assertTrue(paginator.has_cursor_for_page(5))

        with mock.patch(
                "potatopage.paginator.GaeNdbPaginator._process_batch_hook"
        ) as mock_obj:
            #Should now use the cached cursor
            page3 = paginator.page(3)
            #Should have been called with a cursor as the 3rd argument
            self.assertTrue(mock_obj.call_args[0][2])

        self.assertEqual(2, len(page3.object_list))
        self.assertEqual(10, page3.object_list[0].field1)
Пример #2
0
    def test_cursor_caching(self):
        paginator = GaeNdbPaginator(GaeNdbPaginationModel.query().order(GaeNdbPaginationModel.field1), 5, batch_size=2)

        paginator.page(3)

        self.assertFalse(paginator.has_cursor_for_page(2))
        self.assertFalse(paginator.has_cursor_for_page(3))
        self.assertTrue(paginator.has_cursor_for_page(5))

        paginator.page(1)
        self.assertFalse(paginator.has_cursor_for_page(2))
        self.assertTrue(paginator.has_cursor_for_page(3))
        self.assertTrue(paginator.has_cursor_for_page(5))

        with mock.patch("potatopage.paginator.GaeNdbPaginator._process_batch_hook") as mock_obj:
            #Should now use the cached cursor
            page3 = paginator.page(3)
            #Should have been called with a cursor as the 3rd argument
            self.assertTrue(mock_obj.call_args[0][2])

        self.assertEqual(2, len(page3.object_list))
        self.assertEqual(10, page3.object_list[0].field1)