Files
vector/scripts/e2e-bugfix-none.sh
T

30 lines
1.4 KiB
Bash

#!/bin/sh
# Проверка баг-фикса: анализ по case_id (карточка с None-полями) + минимальный payload
set -e
TOKEN=$(curl -s -m 8 -X POST localhost:8000/api/v1/auth/login \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data 'username=admin&password=pass123' \
| python3 -c 'import sys,json; print(json.load(sys.stdin)["access_token"])')
echo "=== анализ по существующему case_id (карточка содержит None-поля):"
curl -s -m 60 -X POST localhost:8000/api/v1/analyze \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{"case_id": "554d23b3-3f8e-41ce-9040-56712f747f9f"}' > /tmp/analyze-fix1.json
python3 - <<'PY'
import json
d = json.load(open('/tmp/analyze-fix1.json'))
print('max_distance:', d.get('max_distance_km'), '| urgency:', d.get('urgency'), '| age:', d.get('case_id'))
assert 'detail' not in d, d
print('CASE_ID MODE OK')
PY
echo "=== минимальный payload (только age, без elapsed_hours):"
curl -s -m 60 -X POST localhost:8000/api/v1/analyze \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{"age": 8}' > /tmp/analyze-fix2.json
python3 - <<'PY'
import json
d = json.load(open('/tmp/analyze-fix2.json'))
print('max_distance:', d.get('max_distance_km'), '| urgency:', d.get('urgency'))
assert 'detail' not in d, d
assert d['max_distance_km'] > 0
print('MINIMAL PAYLOAD OK')
PY