From b8b3714d8e078c8e71831c299e2ac0bd16c856b1 Mon Sep 17 00:00:00 2001 From: Yeray Diaz Diaz Date: Thu, 16 May 2019 11:00:45 +0100 Subject: [PATCH] Add test for write timeout error (#67) * Add test for write timeout error * Bump up write data 10x --- httpcore/__init__.py | 1 + tests/test_timeouts.py | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/httpcore/__init__.py b/httpcore/__init__.py index 3aa98565..d6339324 100644 --- a/httpcore/__init__.py +++ b/httpcore/__init__.py @@ -10,6 +10,7 @@ from .exceptions import ( PoolTimeout, ProtocolError, ReadTimeout, + WriteTimeout, RedirectBodyUnavailable, RedirectLoop, ResponseClosed, diff --git a/tests/test_timeouts.py b/tests/test_timeouts.py index 7e33a3ab..17a16935 100644 --- a/tests/test_timeouts.py +++ b/tests/test_timeouts.py @@ -6,6 +6,7 @@ from httpcore import ( PoolLimits, PoolTimeout, ReadTimeout, + WriteTimeout, TimeoutConfig, ) @@ -19,6 +20,16 @@ async def test_read_timeout(server): await client.get("http://127.0.0.1:8000/slow_response") +@pytest.mark.asyncio +async def test_write_timeout(server): + timeout = TimeoutConfig(write_timeout=0.0001) + + async with AsyncClient(timeout=timeout) as client: + with pytest.raises(WriteTimeout): + data = b"*" * 1024 * 1024 * 10 + await client.put("http://127.0.0.1:8000/slow_response", data=data) + + @pytest.mark.asyncio async def test_connect_timeout(server): timeout = TimeoutConfig(connect_timeout=0.0001)