test-api.sh 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/bin/bash
  2. # ========================================
  3. # API 测试脚本
  4. # ========================================
  5. BASE_URL="http://localhost:8080"
  6. SESSION_ID="test-session"
  7. echo "🧪 DHCP & DNS 管理器 - API 测试"
  8. echo "=================================="
  9. echo ""
  10. # 1. 健康检查
  11. echo "1. 健康检查..."
  12. curl -s "$BASE_URL/api/health" | python3 -m json.tool 2>/dev/null || echo "❌ 健康检查失败"
  13. echo ""
  14. # 2. 登录
  15. echo "2. 登录..."
  16. LOGIN_RESPONSE=$(curl -s -X POST "$BASE_URL/api/login" \
  17. -H "Content-Type: application/json" \
  18. -d '{"username":"admin","password":"admin"}')
  19. echo "$LOGIN_RESPONSE" | python3 -m json.tool 2>/dev/null || echo "❌ 登录失败"
  20. echo ""
  21. # 3. 获取 DHCP 配置
  22. echo "3. 获取 DHCP 配置..."
  23. curl -s "$BASE_URL/api/dhcp/config" \
  24. -H "X-Session-ID: $SESSION_ID" | python3 -m json.tool 2>/dev/null || echo "❌ 获取 DHCP 配置失败"
  25. echo ""
  26. # 4. 更新 DHCP 配置
  27. echo "4. 更新 DHCP 配置..."
  28. curl -s -X PUT "$BASE_URL/api/dhcp/config" \
  29. -H "X-Session-ID: $SESSION_ID" \
  30. -H "Content-Type: application/json" \
  31. -d '{"network":"192.168.1.0","gateway":"192.168.1.1"}' | python3 -m json.tool 2>/dev/null || echo "❌ 更新 DHCP 配置失败"
  32. echo ""
  33. # 5. 获取 DNS 配置
  34. echo "5. 获取 DNS 配置..."
  35. curl -s "$BASE_URL/api/dns/config" \
  36. -H "X-Session-ID: $SESSION_ID" | python3 -m json.tool 2>/dev/null || echo "❌ 获取 DNS 配置失败"
  37. echo ""
  38. # 6. 更新 DNS 配置
  39. echo "6. 更新 DNS 配置..."
  40. curl -s -X PUT "$BASE_URL/api/dns/config" \
  41. -H "X-Session-ID: $SESSION_ID" \
  42. -H "Content-Type: application/json" \
  43. -d '{"listen_port":53,"recursion":true}' | python3 -m json.tool 2>/dev/null || echo "❌ 更新 DNS 配置失败"
  44. echo ""
  45. # 7. 获取完整配置
  46. echo "7. 获取完整配置..."
  47. curl -s "$BASE_URL/api/config" \
  48. -H "X-Session-ID: $SESSION_ID" | python3 -m json.tool 2>/dev/null || echo "❌ 获取完整配置失败"
  49. echo ""
  50. echo "=================================="
  51. echo "测试完成!"
  52. echo ""
  53. echo "💡 如果所有测试都通过,说明 API 工作正常"
  54. echo "💡 如果有失败,请检查服务器日志"
  55. echo ""