thermograph/backend/tests
Emi Griffith ca589545a6 Return 422 for malformed date query param in grade/day endpoints
api_grade and api_day parsed the `date` query param with an unguarded
datetime.date.fromisoformat, so a malformed or non-calendar value
(notadate, 2026-13-40, 2026-02-30) raised ValueError and surfaced as a
500. Route the parse through a _parse_target_date helper that maps the
ValueError to HTTPException(422); absent/empty and valid dates behave
exactly as before. Add a route-level test asserting 422 on bad dates.
2026-07-24 15:43:35 -07:00
..
accounts Subtree-merge thermograph-backend (origin/main) into backend/ 2026-07-22 22:01:11 -07:00
api Check derived store before loading history on content routes (#48) 2026-07-24 19:30:57 +00:00
core Stop logging /healthz + internal SSR hop, truncate logged IPs (#35) 2026-07-24 19:28:47 +00:00
data Gate MET forecast days on diurnal sample coverage (#63) 2026-07-24 22:23:51 +00:00
notifications daemon: move the Discord gateway and scheduler out of the web process into Go (#21) 2026-07-23 22:49:54 +00:00
web Return 422 for malformed date query param in grade/day endpoints 2026-07-24 15:43:35 -07:00
conftest.py Subtree-merge thermograph-backend (origin/main) into backend/ 2026-07-22 22:01:11 -07:00
test_drift_check.py Migrate off the Open-Meteo weather API (Phases 0-4) 2026-07-23 14:34:51 +00:00
test_indexnow.py Subtree-merge thermograph-backend (origin/main) into backend/ 2026-07-22 22:01:11 -07:00
test_seed_era5.py Migrate off the Open-Meteo weather API (Phases 0-4) 2026-07-23 14:34:51 +00:00
test_warm_cities.py Subtree-merge thermograph-backend (origin/main) into backend/ 2026-07-22 22:01:11 -07:00
test_warm_content.py Pre-warm the SEO content derived-store off-request (#49) 2026-07-24 19:31:08 +00:00