Skip to content

Commit 4431a2b

Browse files
Expand transport method-context error regression coverage
Co-authored-by: Shri Sukhani <shrisukhani@users.noreply.github.com>
1 parent 58738f7 commit 4431a2b

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

tests/test_transport_response_handling.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,3 +200,44 @@ async def failing_get(*args, **kwargs):
200200
await transport.close()
201201

202202
asyncio.run(run())
203+
204+
205+
def test_sync_transport_delete_wraps_unexpected_errors_with_url_context():
206+
transport = SyncTransport(api_key="test-key")
207+
original_delete = transport.client.delete
208+
209+
def failing_delete(*args, **kwargs):
210+
raise RuntimeError("boom")
211+
212+
transport.client.delete = failing_delete # type: ignore[assignment]
213+
try:
214+
with pytest.raises(
215+
HyperbrowserError,
216+
match="DELETE request to https://example.com/delete failed",
217+
):
218+
transport.delete("https://example.com/delete")
219+
finally:
220+
transport.client.delete = original_delete # type: ignore[assignment]
221+
transport.close()
222+
223+
224+
def test_async_transport_put_wraps_unexpected_errors_with_url_context():
225+
async def run() -> None:
226+
transport = AsyncTransport(api_key="test-key")
227+
original_put = transport.client.put
228+
229+
async def failing_put(*args, **kwargs):
230+
raise RuntimeError("boom")
231+
232+
transport.client.put = failing_put # type: ignore[assignment]
233+
try:
234+
with pytest.raises(
235+
HyperbrowserError,
236+
match="PUT request to https://example.com/put failed",
237+
):
238+
await transport.put("https://example.com/put", data={"ok": True})
239+
finally:
240+
transport.client.put = original_put # type: ignore[assignment]
241+
await transport.close()
242+
243+
asyncio.run(run())

0 commit comments

Comments
 (0)