from kis_trader.main import TradingOrchestrator import datetime class DummyDB: def insert_ls_ws_tick(self, **kwargs): print("insert_ls_ws_tick", kwargs) def insert_ls_ws_orderbook(self, **kwargs): print("insert_ls_ws_orderbook", kwargs) def __getattr__(self, name): return lambda *args, **kwargs: None class DummyWS: _sub_lock = type('Lock', (), {'__enter__': lambda s: None, '__exit__': lambda s, *a: None})() _subscribed = {"005930"} orc = TradingOrchestrator(auto_start=False) orc.db = DummyDB() orc.ls_ws = DummyWS() orc._ls_is_subscribed = lambda c: True def test(): # extract _on_tick manually because it's defined inside _start_ws # Wait, it's defined inside _start_ws, so it uses `datetime` from outer scope! pass