async def test_iter_from_body_counts(self, server, seed_model): requestor = AsyncClient(base_url=server) responses = [] async for r in requestor.iter_pages( "/paged/body/counts?page=1&pagesize=3", total_count_key="count", data_key="data", ): responses.append(r) actual_count = sum([len(r.json()["data"]) for r in responses]) expected_count = 15 assert actual_count == expected_count
async def test_iter_pages_no_content(self, server, seed_model): requestor = AsyncClient(base_url=server) responses = [] async for r in requestor.iter_pages( "/no-content", total_count_key="count", data_key="data", params={"pagesize": 3}, ): responses.append(r) # logger.warning(r.content) assert len(responses) == 1 assert responses[0].status_code == 204 assert responses[0].content == b""
async def test_iter_pages_with_extra_params(self, server, seed_model): requestor = AsyncClient(base_url=server) responses = [] async for r in requestor.iter_pages( "/paged/body/counts", total_count_key="count", data_key="data", page_key="page", params={"pagesize": 3, "page": 1}, ): responses.append(r) actual_count = sum([len(r.json()["data"]) for r in responses]) expected_count = int(responses[0].json().get("count")) assert actual_count == expected_count
async def test_iter_from_body_urls(self, server, seed_model): requestor = AsyncClient(base_url=server) responses = [] async for r in requestor.iter_pages( "/paged/body/urls?limit=3", data_key="data", next_url_key="next", total_count_key=None, page_key=None, total_pages_key=None, ): responses.append(r) actual_count = sum([len(r.json()["data"]) for r in responses]) expected_count = int(responses[0].json().get("count")) assert actual_count == expected_count