Fix unmanaged reconciliation review blockers
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
This commit is contained in:
co-authored by
genichin
parent
f9284d1de8
commit
591db7adb7
@@ -23,6 +23,15 @@ class _Broker:
|
||||
def reinitialize(self, credential): self.credentials.append(credential)
|
||||
|
||||
|
||||
class _ProjectedBroker(_Broker):
|
||||
def __init__(self, authoritative):
|
||||
super().__init__()
|
||||
self.authoritative = authoritative
|
||||
|
||||
def authoritative_balance_reader(self):
|
||||
return self.authoritative
|
||||
|
||||
|
||||
class _Read:
|
||||
def __init__(self, ctx=None, error=None): self.ctx, self.error, self.calls = ctx, error, 0
|
||||
def fetch_broker_credential(self):
|
||||
@@ -72,6 +81,18 @@ def test_enabled_paper_never_fetches_kis_credentials(monkeypatch):
|
||||
assert read.calls == 0
|
||||
|
||||
|
||||
def test_reconciliation_broker_uses_authoritative_balance_reader(monkeypatch):
|
||||
authoritative = _Broker()
|
||||
projected = _ProjectedBroker(authoritative)
|
||||
monkeypatch.setattr("trex_core.runtime.broker_provider._make_env_broker", lambda cfg: projected)
|
||||
provider = ConfigBrokerProvider(_cfg(broker="paper"), read_port=_Read(_ctx()))
|
||||
|
||||
broker, source = provider.get_broker_for_reconciliation()
|
||||
|
||||
assert broker is authoritative
|
||||
assert source.mode == "env"
|
||||
|
||||
|
||||
def test_break_glass_is_distinct_and_skips_fetch(monkeypatch):
|
||||
broker = _Broker()
|
||||
monkeypatch.setenv("TREX_KIS_BROKER_BREAK_GLASS", "true")
|
||||
|
||||
Reference in New Issue
Block a user