|
All checks were successful
PR build (required check) / changes (pull_request) Successful in 7s
secrets-guard / encrypted (pull_request) Successful in 6s
shell-lint / shellcheck (pull_request) Successful in 8s
PR build (required check) / build-frontend (pull_request) Has been skipped
PR build (required check) / validate-observability (pull_request) Has been skipped
PR build (required check) / build-backend (pull_request) Successful in 1m9s
PR build (required check) / gate (pull_request) Successful in 2s
geocode_nominatim referenced _REVGEO_LOCK, which was removed when reverse geocoding moved from a bare lock to the dedicated worker/queue design -- the forward-geocode function was never updated to match, so every call raised NameError, degrading to a 502 on the frontend. Live on prod, beta, dev, main, and release since the lock was removed (~30h): every comma-qualified name, postcode, and non-cities1000 place 502'd, while the local GeoNames index kept bare city names working, so the failure was invisible to simple smoke checks. The three existing tests covering this path all monkeypatch geocode_nominatim itself, so none of them ever executed the broken body. Fixed by routing forward-geocode jobs through the same worker/queue that already serializes reverse-geocode jobs, instead of reintroducing a second lock -- both job kinds are now drained by the one worker thread, so _revgeo_last still has exactly one writer and the shared ~1/sec Nominatim pacing the docstring always claimed is now actually enforced, not just asserted in a comment. Adds regression coverage that exercises the real queue/worker plumbing (not a monkeypatch of geocode_nominatim) plus a stubbed-HTTP test of _fetch_geocode_forward's own body, the function whose earlier version never once executed successfully. |
||
|---|---|---|
| .. | ||
| test_climate.py | ||
| test_climate_store.py | ||
| test_era5lake.py | ||
| test_grading.py | ||
| test_grid.py | ||
| test_meteostat.py | ||
| test_places.py | ||
| test_scoring.py | ||
| test_store.py | ||