35 lines
1.4 KiB
Python
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
|