diff --git a/ai_trade/config.py b/ai_trade/config.py index fbfc75a..53c793a 100644 --- a/ai_trade/config.py +++ b/ai_trade/config.py @@ -31,7 +31,7 @@ class Settings: v1_token_path: Path = field( default_factory=lambda: Path( os.getenv("V1_TOKEN_PATH", - str(Path(__file__).parent.parent / "signal_v1" / "data" / "kis_token.json")) + str(Path(__file__).parent.parent / "legacy" / "signal_v1" / "data" / "kis_token.json")) ) ) chronos_model: str = field(default_factory=lambda: os.getenv("CHRONOS_MODEL", "amazon/chronos-2")) diff --git a/ai_trade/tests/test_config_token_path.py b/ai_trade/tests/test_config_token_path.py new file mode 100644 index 0000000..065a730 --- /dev/null +++ b/ai_trade/tests/test_config_token_path.py @@ -0,0 +1,22 @@ +"""F1 — V1_TOKEN_PATH default가 legacy/signal_v1/ 경유인지 검증.""" +from pathlib import Path + +from ai_trade.config import Settings + + +def test_v1_token_default_path_uses_legacy_dir(monkeypatch): + """env에 V1_TOKEN_PATH 없으면 legacy/signal_v1/data/kis_token.json""" + monkeypatch.delenv("V1_TOKEN_PATH", raising=False) + settings = Settings() + expected_suffix = Path("legacy") / "signal_v1" / "data" / "kis_token.json" + assert str(settings.v1_token_path).endswith(str(expected_suffix)), ( + f"expected default to end with {expected_suffix}, got {settings.v1_token_path}" + ) + + +def test_v1_token_env_override_wins(monkeypatch, tmp_path): + """env로 명시한 경로가 default를 덮어씀.""" + custom = tmp_path / "custom_token.json" + monkeypatch.setenv("V1_TOKEN_PATH", str(custom)) + settings = Settings() + assert settings.v1_token_path == custom