migration: establish exact preserved app baseline

This commit is contained in:
leefer
2026-07-30 23:51:48 +08:00
commit e4a9b2e647
389 changed files with 126625 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
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.chart_data.ifind, container.ifind)
self.assertTrue(container.ifind.configured)
if __name__ == "__main__":
unittest.main()