chore(smoke): периметр-смоук бьёт в реальный роут истории — /api/v1/trade-in/history, а не в несуществующий /api/v1/history #3374
No reviewers
Labels
No labels
Fable 5 ревью
GG-форсайт
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
feedback/max
generative
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
ИРД
вторичка
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#3374
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/smoke-history-path"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Найдено регрессионным прогоном смоука после #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.
Проверка «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, и проверка покраснела честно.