@@ -13,6 +13,14 @@ def _build_response(status_code: int, body: str) -> httpx.Response:
1313 return httpx .Response (status_code , request = request , text = body )
1414
1515
16+ class _RequestErrorResponse :
17+ def __init__ (self , method : str , url : str ) -> None :
18+ self ._request = httpx .Request (method , url )
19+
20+ def raise_for_status (self ) -> None :
21+ raise httpx .RequestError ("network down" , request = self ._request )
22+
23+
1624def test_sync_handle_response_with_non_json_success_body_returns_status_only ():
1725 transport = SyncTransport (api_key = "test-key" )
1826 try :
@@ -26,6 +34,20 @@ def test_sync_handle_response_with_non_json_success_body_returns_status_only():
2634 transport .close ()
2735
2836
37+ def test_sync_handle_response_with_request_error_includes_method_and_url ():
38+ transport = SyncTransport (api_key = "test-key" )
39+ try :
40+ with pytest .raises (
41+ HyperbrowserError ,
42+ match = "Request GET https://example.com/network failed" ,
43+ ):
44+ transport ._handle_response (
45+ _RequestErrorResponse ("GET" , "https://example.com/network" )
46+ )
47+ finally :
48+ transport .close ()
49+
50+
2951def test_async_handle_response_with_non_json_success_body_returns_status_only ():
3052 async def run () -> None :
3153 transport = AsyncTransport (api_key = "test-key" )
@@ -42,6 +64,23 @@ async def run() -> None:
4264 asyncio .run (run ())
4365
4466
67+ def test_async_handle_response_with_request_error_includes_method_and_url ():
68+ async def run () -> None :
69+ transport = AsyncTransport (api_key = "test-key" )
70+ try :
71+ with pytest .raises (
72+ HyperbrowserError ,
73+ match = "Request POST https://example.com/network failed" ,
74+ ):
75+ await transport ._handle_response (
76+ _RequestErrorResponse ("POST" , "https://example.com/network" )
77+ )
78+ finally :
79+ await transport .close ()
80+
81+ asyncio .run (run ())
82+
83+
4584def test_sync_handle_response_with_error_and_non_json_body_raises_hyperbrowser_error ():
4685 transport = SyncTransport (api_key = "test-key" )
4786 try :
0 commit comments