Files
xiaobai-review/tests/test_bootstrap_container.py
T
100752f43c fix(HEL-494): 切断网站生产装配外源直连,iFinD 与实时观察改走中枢
生产 gateway 不再实例化 iFinD、东财图和免费实时聚合器;问财与竞价快照作为中枢内部数据源。全站阻断外源测试覆盖日K、报价、图表、问财和竞价快照。

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-09-08 22:41:51 +08:00

55 lines
2.3 KiB
Python

from __future__ import annotations
import tempfile
import unittest
from pathlib import Path
from backend.bootstrap import build_application_container
from backend.bootstrap.settings import environment_credentials
from database import ReviewDatabase
class BootstrapContainerTests(unittest.TestCase):
def test_environment_credentials_preserve_legacy_model_fallbacks(self) -> None:
result = environment_credentials(
{
"TUSHARE_TOKEN": " tushare ",
"IFIND_REFRESH_TOKEN": " refresh ",
"LLM_API_KEY": "legacy-key",
"LLM_BASE_URL": "https://legacy.example/v1",
"LLM_MODEL": "legacy-model",
}
)
self.assertEqual(result["tushare_token"], "tushare")
self.assertEqual(result["ifind_refresh_token"], "refresh")
self.assertEqual(result["platform_llm_primary_api_key"], "legacy-key")
self.assertEqual(result["platform_llm_primary_base_url"], "https://legacy.example/v1")
self.assertEqual(result["platform_llm_primary_model"], "legacy-model")
def test_container_shares_one_database_and_one_ifind_client(self) -> None:
with tempfile.TemporaryDirectory() as temporary:
root = Path(temporary)
public_skills = root / "public"
private_skills = root / "private"
public_skills.mkdir()
private_skills.mkdir()
database = ReviewDatabase(root / "review.db")
container = build_application_container(
database,
{"ifind_refresh_token": "refresh-token", "ifind_access_token": "access-token"},
public_skills,
private_skills,
)
self.assertIs(container.database, database)
self.assertIs(container.screener.database, database)
self.assertIs(container.strategy_tracking.repository.database, database)
self.assertIs(container.alert_service.repository.database, database)
self.assertIs(container.trade_journal.repository.database, database)
self.assertIs(container.ifind, container.data_gateway.ifind)
self.assertIs(container.chart_data.datahub, container.data_gateway.datahub)
self.assertIsNone(container.chart_data.ifind)
if __name__ == "__main__":
unittest.main()