Files
dhcp-dns-manager/test-api.sh
T
CNBUGS AI 8ad4c3576d Fix DHCP client unable to get IP and config not persisting
- Fixed verifyAssignment being too strict for new clients
- Fixed parseRequestedIP string conversion bug
- Fixed response sent to 0.0.0.0 instead of broadcast address
- Added SO_BROADCAST support for UDP socket
- Fixed session persistence after page refresh (localStorage)
- Added in-memory session store for auth middleware
- Added config reloader so DHCP server picks up web UI changes dynamically
2026-04-24 16:03:54 +08:00

67 regels
2.1 KiB
Bash
Executable File

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