Как смоделировать aiohttp Клиентский сеанс получить тайм-аут - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть следующая реализация для запроса на получение

def function():
    async with aiohttp.ClientSession() as session:
        try:
            async with session.get(
                    url="http://test-api/v1/radiation",
                    allow_redirects=False,
                    params={
                        "alpha": "a",
                        "beta": "b",
                    },
                    timeout=5
            ) as response:
                return await self.json_response(
                    results=await response.json(),
                    status=response.status
                )
        except ClientError as e:
            return await self.json_response(
                results={"100": "error"},
                status=408
            )

Я смоделировал aiohttp.ClientSession.get следующим образом

 def r_val():
     sleep(10)
     return CoroutineMock(side_effect=[{}])

 with asynctest.patch("aiohttp.ClientSession.get") as mocked_session:
        mock = mocked_session.return_value.__aenter__.return_value
        mock.json = r_val()
        mock.status = 200

Как смоделировать сценарий тайм-аута здесь?

...