Beispiel #1
0
    async def test_iter_links(self, server, seed_model):
        requestor = AsyncClient(base_url=server)
        response_gen = requestor.iter_links("/paged/header/links?limit=3")

        responses = []
        async for r in response_gen:
            responses.append(r)

        actual_count = sum([len(r.json()) for r in responses])
        expected_count = int(responses[0].headers.get("x-total-count"))

        assert actual_count == expected_count
Beispiel #2
0
    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
Beispiel #3
0
    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""
Beispiel #4
0
    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
Beispiel #5
0
    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
Beispiel #6
0
 async def test_creds_from_dict(self):
     requestor = AsyncClient(credentials={"username": None, "password": None})
     assert requestor.credentials == {"username": None, "password": None}
Beispiel #7
0
 async def test_creds_from_str(self):
     requestor = AsyncClient(credentials="schemas.credentials.BasicAuth")
     assert requestor.credentials == {"username": None, "password": None}
Beispiel #8
0
    async def test_creds_from_schema_instance(self):

        requestor = AsyncClient(credentials=BasicAuth())
        assert requestor.credentials == {"username": None, "password": None}
Beispiel #9
0
def requestor(response_body):
    mock_response = MockAsyncDispatch(response_body)
    yield AsyncClient(base_url=base_url, dispatch=mock_response)