#!/bin/bash # 用户管理 API 测试脚本 (No-Auth 模式) BASE_URL="http://localhost:8787" echo "===================================" echo "用户管理 API 测试 (No-Auth 模式)" echo "===================================" echo "" # 1. 检查系统状态 echo "1. 检查系统状态..." curl -s "${BASE_URL}/api/auth/status" | python3 -m json.tool 2>/dev/null || curl -s "${BASE_URL}/api/auth/status" echo "" echo "" # 2. 列出所有用户 echo "2. 列出所有用户 (GET /api/users)..." USERS=$(curl -s -X GET "${BASE_URL}/api/users") echo "$USERS" | python3 -m json.tool 2>/dev/null || echo "$USERS" echo "" # 3. 创建新用户 echo "3. 创建新用户 (POST /api/users)..." CREATE_RESULT=$(curl -s -X POST "${BASE_URL}/api/users" \ -H "Content-Type: application/json" \ -d '{ "username": "testuser", "password": "Test123456!", "role": "user" }') echo "$CREATE_RESULT" | python3 -m json.tool 2>/dev/null || echo "$CREATE_RESULT" USER_ID=$(echo "$CREATE_RESULT" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4) echo "新用户ID: $USER_ID" echo "" # 4. 获取单个用户 if [ -n "$USER_ID" ]; then echo "4. 获取用户详情 (GET /api/users/$USER_ID)..." USER_DETAIL=$(curl -s -X GET "${BASE_URL}/api/users/${USER_ID}") echo "$USER_DETAIL" | python3 -m json.tool 2>/dev/null || echo "$USER_DETAIL" echo "" fi # 5. 更新用户 if [ -n "$USER_ID" ]; then echo "5. 更新用户角色为 admin (PUT /api/users/$USER_ID)..." UPDATE_RESULT=$(curl -s -X PUT "${BASE_URL}/api/users/${USER_ID}" \ -H "Content-Type: application/json" \ -d '{ "role": "admin" }') echo "$UPDATE_RESULT" | python3 -m json.tool 2>/dev/null || echo "$UPDATE_RESULT" echo "" fi # 6. 再次列出所有用户,验证更新 echo "6. 再次列出所有用户,验证更新..." USERS=$(curl -s -X GET "${BASE_URL}/api/users") echo "$USERS" | python3 -m json.tool 2>/dev/null || echo "$USERS" echo "" # 7. 删除用户 if [ -n "$USER_ID" ]; then echo "7. 删除测试用户 (DELETE /api/users/$USER_ID)..." DELETE_RESULT=$(curl -s -X DELETE "${BASE_URL}/api/users/${USER_ID}") echo "$DELETE_RESULT" | python3 -m json.tool 2>/dev/null || echo "$DELETE_RESULT" echo "" fi # 8. 最终用户列表 echo "8. 最终用户列表..." USERS=$(curl -s -X GET "${BASE_URL}/api/users") echo "$USERS" | python3 -m json.tool 2>/dev/null || echo "$USERS" echo "" echo "===================================" echo "测试完成" echo "==================================="