Skip to content

Commit fb8e625

Browse files
Add non-JSON error response transport handling tests
Co-authored-by: Shri Sukhani <shrisukhani@users.noreply.github.com>
1 parent 619dd96 commit fb8e625

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

tests/test_transport_response_handling.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import asyncio
22

33
import httpx
4+
import pytest
45

6+
from hyperbrowser.exceptions import HyperbrowserError
57
from hyperbrowser.transport.async_transport import AsyncTransport
68
from hyperbrowser.transport.sync import SyncTransport
79

@@ -38,3 +40,28 @@ async def run() -> None:
3840
await transport.close()
3941

4042
asyncio.run(run())
43+
44+
45+
def test_sync_handle_response_with_error_and_non_json_body_raises_hyperbrowser_error():
46+
transport = SyncTransport(api_key="test-key")
47+
try:
48+
response = _build_response(500, "server exploded")
49+
50+
with pytest.raises(HyperbrowserError):
51+
transport._handle_response(response)
52+
finally:
53+
transport.close()
54+
55+
56+
def test_async_handle_response_with_error_and_non_json_body_raises_hyperbrowser_error():
57+
async def run() -> None:
58+
transport = AsyncTransport(api_key="test-key")
59+
try:
60+
response = _build_response(500, "server exploded")
61+
62+
with pytest.raises(HyperbrowserError):
63+
await transport._handle_response(response)
64+
finally:
65+
await transport.close()
66+
67+
asyncio.run(run())

0 commit comments

Comments
 (0)