def test_empty_page(self): with get_empty_pager_client() as conn: client = MockClient("apikey") pager = Pager(client, "/resources", {"limit": 3}) item_count = 0 for item in pager.items(): item_count += 1 self.assertEqual(item_count, 0)
def test_count(self): with get_pager_count_client() as conn: client = MockClient("apikey") client._make_request = MagicMock() pager = Pager(client, "/resources", {"limit": 3}) pager.count() client._make_request.assert_called_with( "HEAD", "/resources", None, {"limit": 3} )
def test_take(self): with get_pager_first_item_client() as conn: client = MockClient("apikey") client._make_request = MagicMock() pager = Pager(client, "/resources", {"limit": 10}) pager.take(3) client._make_request.assert_called_with( "GET", "/resources", None, {"limit": 3} )
def test_items(self): with get_pager_client() as conn: client = MockClient("apikey") pager = Pager(client, "/resources", {}) item_count = 0 for item in pager.items(): self.assertEqual(type(item), MyResource) item_count += 1 self.assertEqual(item_count, 5)
def test_pages(self): with get_pager_client() as conn: client = MockClient("apikey") pager = Pager(client, "/resources", {"limit": 3}) page_count = 0 item_count = 0 for page in pager.pages(): self.assertEqual(type(page), list) page_count += 1 for item in page: self.assertEqual(type(item), MyResource) item_count += 1 self.assertEqual(page_count, 2) self.assertEqual(item_count, 5)
def list_resources(self, params={}): path = "/resources" return Pager(self, path, params)