Files
PolyWeather/tests/test_refresh_policy.py
T
2026-06-05 14:38:58 +08:00

35 lines
1.4 KiB
Python

from src.utils.refresh_policy import (
MARKET_OVERVIEW_TTL_SEC,
METAR_POLL_TTL_SEC,
MODEL_CACHE_TTL_SEC,
OBSERVATION_REFRESH_SEC,
SCAN_ROWS_REFRESH_SEC,
)
def test_refresh_policy_cadences_are_layered():
assert OBSERVATION_REFRESH_SEC == 60
assert METAR_POLL_TTL_SEC == 300
assert SCAN_ROWS_REFRESH_SEC == 300
assert MARKET_OVERVIEW_TTL_SEC == 600
assert MODEL_CACHE_TTL_SEC == 1800
def test_backend_defaults_use_refresh_policy():
import src.data_collection.weather_sources as weather_sources
import web.services.city_runtime as city_runtime
import web.services.scan_terminal_config as scan_terminal_config
assert scan_terminal_config.SCAN_TERMINAL_PAYLOAD_TTL_SEC == SCAN_ROWS_REFRESH_SEC
assert city_runtime.CITY_FULL_CACHE_TTL_SEC == OBSERVATION_REFRESH_SEC
assert city_runtime.CITY_PANEL_CACHE_TTL_SEC == SCAN_ROWS_REFRESH_SEC
assert city_runtime.CITY_MARKET_CACHE_TTL_SEC == SCAN_ROWS_REFRESH_SEC
source = weather_sources.WeatherDataCollector({})
assert source.metar_cache_ttl_sec == METAR_POLL_TTL_SEC
assert source.hko_obs_cache_ttl_sec == OBSERVATION_REFRESH_SEC
assert source.cowin_obs_cache_ttl_sec == OBSERVATION_REFRESH_SEC
assert source.settlement_cache_ttl_sec == OBSERVATION_REFRESH_SEC
assert source.open_meteo_cache_ttl_sec == MODEL_CACHE_TTL_SEC
assert source.open_meteo_multi_model_cache_ttl_sec == MODEL_CACHE_TTL_SEC