DockerSpace / tests /test_institutional_flow.py
DennisChan0909's picture
Backup current stock predictor strategies
ee37d63
Raw
History Blame Contribute Delete
1.21 kB
import logging
from data import institutional_flow
class _BadResponse:
def raise_for_status(self):
return None
def json(self):
raise ValueError("not json")
def test_institutional_fetch_failure_is_debug_by_default(monkeypatch, caplog):
institutional_flow._DAILY_CACHE.clear()
monkeypatch.delenv("ENABLE_INSTITUTIONAL_FETCH_WARNINGS", raising=False)
monkeypatch.setattr(institutional_flow.requests, "get", lambda *args, **kwargs: _BadResponse())
with caplog.at_level(logging.WARNING):
rows = institutional_flow._fetch_daily_market("TWSE", "2026-05-22")
assert rows == {}
assert "institutional TWSE fetch failed" not in caplog.text
def test_institutional_fetch_failure_warning_can_be_enabled(monkeypatch, caplog):
institutional_flow._DAILY_CACHE.clear()
monkeypatch.setenv("ENABLE_INSTITUTIONAL_FETCH_WARNINGS", "1")
monkeypatch.setattr(institutional_flow.requests, "get", lambda *args, **kwargs: _BadResponse())
with caplog.at_level(logging.WARNING):
rows = institutional_flow._fetch_daily_market("TWSE", "2026-05-22")
assert rows == {}
assert "institutional TWSE fetch failed for 2026-05-22" in caplog.text