Initial commit of integrated agent system

This commit is contained in:
cillin
2026-03-30 17:46:44 +08:00
commit 0fa413380c
337 changed files with 75268 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
# -*- coding: utf-8 -*-
"""Tests for data source config ordering."""
from backend.config.data_config import get_config, reset_config
def test_data_config_prefers_env_source(monkeypatch):
monkeypatch.setenv("FIN_DATA_SOURCE", "financial_datasets")
monkeypatch.setenv("FINNHUB_API_KEY", "fh")
monkeypatch.setenv("FINANCIAL_DATASETS_API_KEY", "fd")
reset_config()
config = get_config()
assert config.sources[0] == "financial_datasets"
assert "local_csv" in config.sources
def test_enabled_data_sources_filters_available_sources(monkeypatch):
monkeypatch.setenv("FINNHUB_API_KEY", "fh-key")
monkeypatch.setenv("FINANCIAL_DATASETS_API_KEY", "fd-key")
monkeypatch.setenv("ENABLED_DATA_SOURCES", "financial_datasets,local_csv")
monkeypatch.delenv("FIN_DATA_SOURCE", raising=False)
reset_config()
config = get_config()
assert config.sources == ["financial_datasets", "local_csv"]
assert config.source == "financial_datasets"
def test_preferred_source_reorders_enabled_sources(monkeypatch):
monkeypatch.setenv("FINNHUB_API_KEY", "fh-key")
monkeypatch.setenv("FINANCIAL_DATASETS_API_KEY", "fd-key")
monkeypatch.setenv("ENABLED_DATA_SOURCES", "financial_datasets,finnhub,local_csv")
monkeypatch.setenv("FIN_DATA_SOURCE", "finnhub")
reset_config()
config = get_config()
assert config.sources == ["finnhub", "financial_datasets", "local_csv"]
assert config.source == "finnhub"
def test_yfinance_can_be_enabled_without_api_key(monkeypatch):
monkeypatch.delenv("FINNHUB_API_KEY", raising=False)
monkeypatch.delenv("FINANCIAL_DATASETS_API_KEY", raising=False)
monkeypatch.setenv("FIN_DATA_SOURCE", "yfinance")
monkeypatch.setenv("ENABLED_DATA_SOURCES", "yfinance,local_csv")
reset_config()
config = get_config()
assert config.sources == ["yfinance", "local_csv"]
assert config.source == "yfinance"