verify_system.sh 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. #!/bin/bash
  2. echo "🚀 TaskMaster 系统验证脚本"
  3. echo "=========================================="
  4. # 颜色定义
  5. GREEN='\033[0;32m'
  6. RED='\033[0;31m'
  7. YELLOW='\033[1;33m'
  8. NC='\033[0m' # No Color
  9. # 检查函数
  10. check_service() {
  11. local name=$1
  12. local url=$2
  13. local expected=$3
  14. echo -n "检查 $name... "
  15. response=$(curl -s "$url" 2>/dev/null)
  16. if [[ $response == *"$expected"* ]]; then
  17. echo -e "${GREEN}✓ 正常${NC}"
  18. return 0
  19. else
  20. echo -e "${RED}✗ 失败${NC}"
  21. echo " 期望包含: $expected"
  22. echo " 实际响应: $response"
  23. return 1
  24. fi
  25. }
  26. # 1. 检查后端服务
  27. echo "📡 检查后端服务..."
  28. check_service "后端健康检查" "http://localhost:3001/health" "OK"
  29. check_service "后端API信息" "http://localhost:3001/" "TaskMaster API"
  30. # 2. 检查前端服务
  31. echo
  32. echo "🌐 检查前端服务..."
  33. check_service "前端页面" "http://localhost:5173/" "TaskMaster"
  34. # 3. 测试API功能
  35. echo
  36. echo "🔐 测试用户认证..."
  37. # 随机邮箱避免冲突
  38. EMAIL="test$(date +%s)@example.com"
  39. PASSWORD="12345678"
  40. # 注册用户
  41. echo -n "用户注册... "
  42. register_response=$(curl -s -X POST -H "Content-Type: application/json" \
  43. -d "{\"email\":\"$EMAIL\",\"password\":\"$PASSWORD\"}" \
  44. http://localhost:3001/api/auth/register)
  45. if [[ $register_response == *"token"* ]]; then
  46. echo -e "${GREEN}✓ 成功${NC}"
  47. # 登录用户
  48. echo -n "用户登录... "
  49. login_response=$(curl -s -X POST -H "Content-Type: application/json" \
  50. -d "{\"email\":\"$EMAIL\",\"password\":\"$PASSWORD\"}" \
  51. http://localhost:3001/api/auth/login)
  52. if [[ $login_response == *"token"* ]]; then
  53. echo -e "${GREEN}✓ 成功${NC}"
  54. # 提取token
  55. TOKEN=$(echo $login_response | grep -o '"token":"[^"]*"' | cut -d'"' -f4)
  56. # 测试任务管理
  57. echo
  58. echo "📝 测试任务管理..."
  59. # 创建任务
  60. echo -n "创建任务... "
  61. create_response=$(curl -s -X POST -H "Content-Type: application/json" \
  62. -H "Authorization: Bearer $TOKEN" \
  63. -d '{"title":"验证测试任务","description":"这是系统验证创建的任务","priority":"high"}' \
  64. http://localhost:3001/api/tasks)
  65. if [[ $create_response == *"Task created successfully"* ]]; then
  66. echo -e "${GREEN}✓ 成功${NC}"
  67. # 获取任务列表
  68. echo -n "获取任务列表... "
  69. tasks_response=$(curl -s -H "Authorization: Bearer $TOKEN" \
  70. http://localhost:3001/api/tasks)
  71. if [[ $tasks_response == *"验证测试任务"* ]]; then
  72. echo -e "${GREEN}✓ 成功${NC}"
  73. else
  74. echo -e "${RED}✗ 失败${NC}"
  75. fi
  76. else
  77. echo -e "${RED}✗ 失败${NC}"
  78. echo " 响应: $create_response"
  79. fi
  80. else
  81. echo -e "${RED}✗ 失败${NC}"
  82. echo " 响应: $login_response"
  83. fi
  84. else
  85. echo -e "${RED}✗ 失败${NC}"
  86. echo " 响应: $register_response"
  87. fi
  88. # 4. 测试前端代理
  89. echo
  90. echo "🔄 测试前端代理..."
  91. check_service "前端API代理" "http://localhost:5173/api/auth/login" "Invalid credentials"
  92. echo
  93. echo "=========================================="
  94. echo -e "${YELLOW}📊 系统状态总览${NC}"
  95. echo "后端服务: http://localhost:3001"
  96. echo "前端服务: http://localhost:5173"
  97. echo "测试页面: http://localhost:5173/test.html"
  98. echo
  99. echo -e "${GREEN}🎉 TaskMaster 系统验证完成!${NC}"
  100. echo "您现在可以访问 http://localhost:5173 开始使用系统"