From 38f0c7c3a7c71780ab4508300377a0d7fffc5777 Mon Sep 17 00:00:00 2001 From: vikions Date: Tue, 21 Apr 2026 17:21:56 +0700 Subject: [PATCH] Close all owned module sessions in PerpetualTradingClient.close() --- tests/perpetual/test_trading_client.py | 21 +++++++++++++++++++ .../trading_client/trading_client.py | 3 +++ 2 files changed, 24 insertions(+) diff --git a/tests/perpetual/test_trading_client.py b/tests/perpetual/test_trading_client.py index 3b1eee7..bbbb4b8 100644 --- a/tests/perpetual/test_trading_client.py +++ b/tests/perpetual/test_trading_client.py @@ -170,3 +170,24 @@ async def test_get_asset_operations(aiohttp_server, create_asset_operations, cre ] ), ) + + +@pytest.mark.asyncio +async def test_close_closes_all_module_sessions(): + from x10.perpetual.trading_client import PerpetualTradingClient + + trading_client = PerpetualTradingClient(endpoint_config=TESTNET_CONFIG) + + sessions = [ + await trading_client.info.get_session(), + await trading_client.markets_info.get_session(), + await trading_client.account.get_session(), + await trading_client.orders.get_session(), + await trading_client.vault.get_session(), + await trading_client.testnet.get_session(), + ] + + await trading_client.close() + + for session in sessions: + assert session.closed diff --git a/x10/perpetual/trading_client/trading_client.py b/x10/perpetual/trading_client/trading_client.py index 60aeed1..eac12b0 100644 --- a/x10/perpetual/trading_client/trading_client.py +++ b/x10/perpetual/trading_client/trading_client.py @@ -99,9 +99,12 @@ async def place_order( return await self.__order_management_module.place_order(order) async def close(self): + await self.__info_module.close_session() await self.__info_markets_module.close_session() await self.__account_module.close_session() await self.__order_management_module.close_session() + await self.__vault_module.close_session() + await self.__testnet_module.close_session() async def __aenter__(self): return self