Files
MyAiDesk/nomifun-tauri/test_user_management_noauth.sh
T
freedak f7a720204a Update: 将子项目从 submodule 转为完整内容
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用
- 添加所有子项目的完整源代码
- 保留原始 .git 为 .git.bak 备份
2026-07-04 19:20:46 +08:00

80 lines
2.5 KiB
Bash
Executable File

#!/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 "==================================="