24 lines
755 B
Python
24 lines
755 B
Python
from app.service.fund_quote_service import (
|
|
FUND_TYPE_GROUPS,
|
|
FundQuoteRuntimeConfig,
|
|
)
|
|
|
|
|
|
def test_invalid_runtime_config_uses_safe_defaults() -> None:
|
|
config = FundQuoteRuntimeConfig.from_mapping({
|
|
"allowed_codes": ["bad", "159511"],
|
|
"intraday_cache_ttl": -1,
|
|
"closing_cache_ttl": "900",
|
|
})
|
|
assert config.allowed_codes == ("159511",)
|
|
assert config.intraday_cache_ttl == 60
|
|
assert config.closing_cache_ttl == 900
|
|
|
|
|
|
def test_empty_code_list_does_not_disable_market_data() -> None:
|
|
config = FundQuoteRuntimeConfig.from_mapping({"allowed_codes": []})
|
|
assert config.allowed_codes
|
|
assert set(config.allowed_codes) == {
|
|
code for codes in FUND_TYPE_GROUPS.values() for code in codes
|
|
}
|