diff --git a/scripts/e2-live-check.sh b/scripts/e2-live-check.sh new file mode 100644 index 0000000..8d8d07a --- /dev/null +++ b/scripts/e2-live-check.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# E2 живая проверка на CT108: создание пользователя РЦУ-админом, аудит, скоуп +set -e +TOKEN=$(curl -s -m 15 -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 "=== список подразделений (пусто — РЦУ внесёт):" +curl -s -m 15 localhost:8000/api/v1/admin/users/units -H "Authorization: Bearer $TOKEN" | head -c 120 +echo +echo "=== создание пользователя Г(Р)ОЧС (без юнита, юнит внесут потом):" +curl -s -m 15 -X POST localhost:8000/api/v1/admin/users \ + -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \ + -d '{"username":"grochss_test","email":"grochss@test.by","password":"temppass123","role_name":"operator"}' | head -c 200 +echo +echo "=== новый пользователь входит (must_change_password=true):" +T2=$(curl -s -m 15 -X POST localhost:8000/api/v1/auth/login \ + -H 'Content-Type: application/x-www-form-urlencoded' \ + --data 'username=grochss_test&password=temppass123' \ + | python3 -c 'import sys,json; print(json.load(sys.stdin)["access_token"])') +curl -s -m 15 localhost:8000/api/v1/auth/me -H "Authorization: Bearer $T2" | python3 -c 'import sys,json; d=json.load(sys.stdin); print("must_change_password:", d["must_change_password"], "| permissions:", d["permissions"])' +echo "=== аудит содержит user_create:" +curl -s -m 15 "localhost:8000/api/v1/admin/users/audit?limit=5" -H "Authorization: Bearer $TOKEN" | python3 -c 'import sys,json; d=json.load(sys.stdin); print("events:", [e["event_type"] for e in d["items"]], "| retention:", d["retention_days"], "дней")' \ No newline at end of file