Skip to content

Commit de81ef8

Browse files
Assert async client context manager closes once
Co-authored-by: Shri Sukhani <shrisukhani@users.noreply.github.com>
1 parent f4e6cdf commit de81ef8

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

tests/test_client_lifecycle.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,20 @@ def tracked_close() -> None:
2525

2626
def test_async_client_supports_context_manager():
2727
async def run() -> None:
28-
async with AsyncHyperbrowser(api_key="test-key") as client:
29-
assert isinstance(client, AsyncHyperbrowser)
28+
client = AsyncHyperbrowser(api_key="test-key")
29+
close_calls = {"count": 0}
30+
original_close = client.transport.close
31+
32+
async def tracked_close() -> None:
33+
close_calls["count"] += 1
34+
await original_close()
35+
36+
client.transport.close = tracked_close
37+
38+
async with client as entered:
39+
assert entered is client
40+
41+
assert close_calls["count"] == 1
3042

3143
asyncio.run(run())
3244

0 commit comments

Comments
 (0)