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)
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)