#!/bin/bash echo "🧪 测试 Rust User API" echo "====================" # 测试根路径 echo "📍 测试根路径 (GET /):" curl -s http://127.0.0.1:3000/ | jq '.' || echo "JSON 解析失败,原始响应:" echo -e "\n" # 测试健康检查 echo "❤️ 测试健康检查 (GET /health):" curl -s http://127.0.0.1:3000/health | jq '.' || echo "JSON 解析失败,原始响应:" echo -e "\n" # 测试用户列表(应该返回空数组) echo "👥 测试用户列表 (GET /api/users):" curl -s http://127.0.0.1:3000/api/users | jq '.' || echo "JSON 解析失败,原始响应:" echo -e "\n" # 测试验证错误 echo "🚫 测试验证错误 (POST /api/users):" curl -s -X POST http://127.0.0.1:3000/api/users \ -H "Content-Type: application/json" \ -d '{ "username": "ab", "email": "invalid-email", "password": "123" }' | jq '.' || echo "JSON 解析失败,原始响应:" echo -e "\n" # 测试创建用户 echo "➕ 测试创建用户 (POST /api/users):" curl -s -X POST http://127.0.0.1:3000/api/users \ -H "Content-Type: application/json" \ -d '{ "username": "testuser", "email": "test@example.com", "password": "password123" }' | jq '.' || echo "JSON 解析失败,原始响应:" echo -e "\n" # 测试重复用户名 echo "🔄 测试重复用户名 (POST /api/users):" curl -s -X POST http://127.0.0.1:3000/api/users \ -H "Content-Type: application/json" \ -d '{ "username": "testuser", "email": "test2@example.com", "password": "password123" }' | jq '.' || echo "JSON 解析失败,原始响应:" echo -e "\n" # 再次测试用户列表(应该有一个用户) echo "👥 再次测试用户列表 (GET /api/users):" curl -s http://127.0.0.1:3000/api/users | jq '.' || echo "JSON 解析失败,原始响应:" echo -e "\n" # 测试用户登录 echo "🔐 测试用户登录 (POST /api/auth/login):" curl -s -X POST http://127.0.0.1:3000/api/auth/login \ -H "Content-Type: application/json" \ -d '{ "username": "testuser", "password": "password123" }' | jq '.' || echo "JSON 解析失败,原始响应:" echo -e "\n" # 测试错误的登录凭据 echo "❌ 测试错误登录凭据 (POST /api/auth/login):" curl -s -X POST http://127.0.0.1:3000/api/auth/login \ -H "Content-Type: application/json" \ -d '{ "username": "testuser", "password": "wrongpassword" }' | jq '.' || echo "JSON 解析失败,原始响应:" echo -e "\n✅ API 测试完成"