From 01367c2a9e745bc121638e7197e311e1afce7819 Mon Sep 17 00:00:00 2001 From: bot-backend Date: Sun, 6 Sep 2026 01:04:13 +0500 Subject: [PATCH] =?UTF-8?q?fix(smoke):=20=D0=B1=D0=B8=D1=82=D1=8C=20=D0=B2?= =?UTF-8?q?=20=D1=81=D1=83=D1=89=D0=B5=D1=81=D1=82=D0=B2=D1=83=D1=8E=D1=89?= =?UTF-8?q?=D0=B8=D0=B9=20=D1=80=D0=BE=D1=83=D1=82=20/api/v1/trade-in/hist?= =?UTF-8?q?ory?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Проверка «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, и проверка покраснела честно. --- scripts/smoke-mera-perimeter.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/smoke-mera-perimeter.sh b/scripts/smoke-mera-perimeter.sh index 84629c9c..47994555 100644 --- a/scripts/smoke-mera-perimeter.sh +++ b/scripts/smoke-mera-perimeter.sh @@ -208,7 +208,12 @@ check_post "gendsgn.ru public suggest — 200 anonymous" "$BASE_MAIN/trade-in/ap # Гейт данных переехал на API — там и проверяем, иначе тест зелёный при # открытом наружу бэкенде. check "trade-in /api/v1/me — 401 anonymous" "$BASE_MAIN/trade-in/api/v1/me" 401 -check "trade-in /api/v1/history — 401 anonymous (чужие оценки)" "$BASE_MAIN/trade-in/api/v1/history" 401 +# Путь именно `/api/v1/trade-in/history`: роутер trade_in подключён в main.py с +# префиксом `/api/v1/trade-in`, а сама ручка объявлена как `@router.get("/history")`. +# До 05.09.2026 здесь стоял несуществующий `/api/v1/history` — проверка была +# зелёной только потому, что guard отвечал 401 на ЛЮБОЙ путь; после #3352 +# несуществующий путь даёт 404, и проверка честно покраснела. +check "trade-in /api/v1/trade-in/history — 401 anonymous (чужие оценки)" "$BASE_MAIN/trade-in/api/v1/trade-in/history" 401 check "trade-in /api/v1/admin/* — 401 anonymous" "$BASE_MAIN/trade-in/api/v1/admin/users" 401 # 4. gendsgn.ru/api/v1/admin/* отдаёт 401 анониму (auth gate стоит ДО роутинга