| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/bin/bash
- # ========================================
- # API 测试脚本
- # ========================================
- BASE_URL="http://localhost:8080"
- SESSION_ID="test-session"
- echo "🧪 DHCP & DNS 管理器 - API 测试"
- echo "=================================="
- echo ""
- # 1. 健康检查
- echo "1. 健康检查..."
- curl -s "$BASE_URL/api/health" | python3 -m json.tool 2>/dev/null || echo "❌ 健康检查失败"
- echo ""
- # 2. 登录
- echo "2. 登录..."
- LOGIN_RESPONSE=$(curl -s -X POST "$BASE_URL/api/login" \
- -H "Content-Type: application/json" \
- -d '{"username":"admin","password":"admin"}')
- echo "$LOGIN_RESPONSE" | python3 -m json.tool 2>/dev/null || echo "❌ 登录失败"
- echo ""
- # 3. 获取 DHCP 配置
- echo "3. 获取 DHCP 配置..."
- curl -s "$BASE_URL/api/dhcp/config" \
- -H "X-Session-ID: $SESSION_ID" | python3 -m json.tool 2>/dev/null || echo "❌ 获取 DHCP 配置失败"
- echo ""
- # 4. 更新 DHCP 配置
- echo "4. 更新 DHCP 配置..."
- curl -s -X PUT "$BASE_URL/api/dhcp/config" \
- -H "X-Session-ID: $SESSION_ID" \
- -H "Content-Type: application/json" \
- -d '{"network":"192.168.1.0","gateway":"192.168.1.1"}' | python3 -m json.tool 2>/dev/null || echo "❌ 更新 DHCP 配置失败"
- echo ""
- # 5. 获取 DNS 配置
- echo "5. 获取 DNS 配置..."
- curl -s "$BASE_URL/api/dns/config" \
- -H "X-Session-ID: $SESSION_ID" | python3 -m json.tool 2>/dev/null || echo "❌ 获取 DNS 配置失败"
- echo ""
- # 6. 更新 DNS 配置
- echo "6. 更新 DNS 配置..."
- curl -s -X PUT "$BASE_URL/api/dns/config" \
- -H "X-Session-ID: $SESSION_ID" \
- -H "Content-Type: application/json" \
- -d '{"listen_port":53,"recursion":true}' | python3 -m json.tool 2>/dev/null || echo "❌ 更新 DNS 配置失败"
- echo ""
- # 7. 获取完整配置
- echo "7. 获取完整配置..."
- curl -s "$BASE_URL/api/config" \
- -H "X-Session-ID: $SESSION_ID" | python3 -m json.tool 2>/dev/null || echo "❌ 获取完整配置失败"
- echo ""
- echo "=================================="
- echo "测试完成!"
- echo ""
- echo "💡 如果所有测试都通过,说明 API 工作正常"
- echo "💡 如果有失败,请检查服务器日志"
- echo ""
|