feat: add bounded KIS account read recovery
This commit is contained in:
@@ -3,8 +3,6 @@ from __future__ import annotations
|
||||
|
||||
import logging
|
||||
|
||||
import pytest
|
||||
|
||||
from trex_core.application.broker_port import BalanceItem
|
||||
from trex_core.application.intents import BuyIntent, IntentService, SellIntent
|
||||
from trex_core.application.messaging import RpcRequest
|
||||
@@ -20,7 +18,6 @@ from trex_core.application.reconciliation import (
|
||||
reconcile_core_holdings,
|
||||
reconcile_positions,
|
||||
)
|
||||
from trex_core.application.ports import IntentStore
|
||||
from trex_core.domain.slot import SlotService, SlotState
|
||||
from trex_core.domain.slot.in_memory_repository import InMemorySlotRepository
|
||||
|
||||
@@ -54,7 +51,8 @@ class InMemoryIntentStore:
|
||||
return None
|
||||
class R:
|
||||
def __init__(self, d): self.__dict__.update(d)
|
||||
r = R(rec); r.intent_id = intent_id
|
||||
r = R(rec)
|
||||
r.intent_id = intent_id
|
||||
return r
|
||||
def finalize(self, intent_id, status, slot_id, reason):
|
||||
self._db[intent_id] = {"status": status, "slot_id": slot_id, "reason": reason}
|
||||
@@ -211,7 +209,6 @@ def test_reconcile_positions_c_case_matching_no_warn():
|
||||
|
||||
# REQ-103 AC-5: C case with warn_store=None => backward compat
|
||||
def test_reconcile_positions_no_warn_store_backward_compat():
|
||||
repo = InMemorySlotRepository()
|
||||
store = _store_with([
|
||||
PortfolioItem(portfolio_id="pf-A", symbol="005930", cash_balance=0, asset_quantity=10),
|
||||
])
|
||||
@@ -458,7 +455,7 @@ def test_reconcile_core_holdings_b_case_logging(caplog):
|
||||
svc = SlotService(repo)
|
||||
warn_store = InMemoryReconcileWarningStore()
|
||||
|
||||
slot = _make_holding_slot(repo, svc, qty=10)
|
||||
_make_holding_slot(repo, svc, qty=10)
|
||||
broker = FakeBroker([BalanceItem(symbol="005930", hldg_qty=5)])
|
||||
with caplog.at_level(logging.WARNING, logger="trex_core.application.reconciliation"):
|
||||
reconcile_core_holdings(
|
||||
@@ -527,7 +524,7 @@ def test_short_term_instance_normal_no_warn():
|
||||
svc = SlotService(repo)
|
||||
warn_store = InMemoryReconcileWarningStore()
|
||||
|
||||
slot = _make_holding_slot(repo, svc, qty=10, portfolio_id="pf-A")
|
||||
_make_holding_slot(repo, svc, qty=10, portfolio_id="pf-A")
|
||||
store = _store_with([
|
||||
PortfolioItem(portfolio_id="pf-A", symbol="005930", cash_balance=0, asset_quantity=10),
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user