chore(smoke): периметр-смоук бьёт в реальный роут истории — /api/v1/trade-in/history, а не в несуществующий /api/v1/history #3374

Merged
bot-backend merged 1 commit from fix/smoke-history-path into main 2026-09-05 20:08:03 +00:00
Collaborator

Найдено регрессионным прогоном смоука после #3352: проверка «/api/v1/history — 401 anonymous» годами проходила только потому, что guard отвечал 401 на ЛЮБОЙ путь. Реальный роут @router.get("/history") живёт под префиксом /api/v1/trade-in → внешний путь /trade-in/api/v1/trade-in/history (анониму 401, проверено curl'ом). После #3352 несуществующий путь честно даёт 404 — и проверка честно покраснела.

Аудит остальных путей смоука (против @router.* + префиксов main.py)

Живые: /api/v1/me, /api/public/mera/{suggest,coverage}, /api/v1/geocode/suggest, /api/v1/trade-in/coverage, payments/{notify,checkout}. Мусорный: /trade-in/api/v1/admin/users — правится в PR #3371 (пара proxies/users → 404). gendsgn.ru/api/v1/admin/users в main-бэкенде тоже нет, но 401 там даёт Caddy до прокси — валидно как тест гейта.

Прогон против прода: единственный оставшийся FAIL — admin/users (зона #3371), строка history → PASS.

Найдено регрессионным прогоном смоука после #3352: проверка «/api/v1/history — 401 anonymous» годами проходила только потому, что guard отвечал 401 на ЛЮБОЙ путь. Реальный роут `@router.get("/history")` живёт под префиксом `/api/v1/trade-in` → внешний путь `/trade-in/api/v1/trade-in/history` (анониму 401, проверено curl'ом). После #3352 несуществующий путь честно даёт 404 — и проверка честно покраснела. ## Аудит остальных путей смоука (против `@router.*` + префиксов `main.py`) Живые: `/api/v1/me`, `/api/public/mera/{suggest,coverage}`, `/api/v1/geocode/suggest`, `/api/v1/trade-in/coverage`, `payments/{notify,checkout}`. Мусорный: `/trade-in/api/v1/admin/users` — правится в PR #3371 (пара proxies/users → 404). `gendsgn.ru/api/v1/admin/users` в main-бэкенде тоже нет, но 401 там даёт Caddy до прокси — валидно как тест гейта. Прогон против прода: единственный оставшийся FAIL — admin/users (зона #3371), строка history → PASS.
bot-backend added 1 commit 2026-09-05 20:06:28 +00:00
fix(smoke): бить в существующий роут /api/v1/trade-in/history
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 10s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
01367c2a9e
Проверка «trade-in /api/v1/history — 401 anonymous» ходила по
несуществующему пути: ручка объявлена как @router.get("/history") в
app/api/v1/trade_in.py, а роутер подключён с префиксом /api/v1/trade-in,
то есть внешний путь — /trade-in/api/v1/trade-in/history.

Годы проверка была зелёной случайно: guard отвечал 401 на любой путь. После
#3352 несуществующий путь отдаёт 404, и проверка покраснела честно.
bot-backend merged commit 3d6bcb9ee1 into main 2026-09-05 20:08:03 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#3374
No description provided.