68 lines
1.6 KiB
Bash
Executable File
68 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# 测试脚本
|
|
|
|
set -e
|
|
|
|
BASE_URL="${NANOBOT_BRIDGE_URL:-http://localhost:5000}"
|
|
|
|
echo "🧪 测试 WeChat-Nanobot Bridge"
|
|
echo " 服务地址: $BASE_URL"
|
|
echo ""
|
|
|
|
# 测试 1: 健康检查
|
|
echo "1️⃣ 测试健康检查接口..."
|
|
if curl -s "$BASE_URL/health" | grep -q "ok"; then
|
|
echo " ✅ 健康检查通过"
|
|
else
|
|
echo " ❌ 健康检查失败"
|
|
exit 1
|
|
fi
|
|
|
|
# 测试 2: 发送消息
|
|
echo "2️⃣ 测试消息接口..."
|
|
RESPONSE=$(curl -s -X POST "$BASE_URL/chat" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"conversationId": "test_123",
|
|
"text": "你好"
|
|
}')
|
|
|
|
if echo "$RESPONSE" | grep -q "text"; then
|
|
echo " ✅ 消息接口正常"
|
|
echo " 回复: $(echo "$RESPONSE" | grep -o '"text": "[^"]*"' | cut -d'"' -f4 | head -c 50)"
|
|
else
|
|
echo " ❌ 消息接口异常"
|
|
echo " 响应: $RESPONSE"
|
|
exit 1
|
|
fi
|
|
|
|
# 测试 3: 多轮对话
|
|
echo "3️⃣ 测试多轮对话..."
|
|
for i in 1 2 3; do
|
|
RESPONSE=$(curl -s -X POST "$BASE_URL/chat" \
|
|
-H "Content-Type: application/json" \
|
|
-d "{
|
|
\"conversationId\": \"test_multi\",
|
|
\"text\": \"消息 $i\"
|
|
}")
|
|
if ! echo "$RESPONSE" | grep -q "text"; then
|
|
echo " ❌ 第 $i 轮对话失败"
|
|
exit 1
|
|
fi
|
|
done
|
|
echo " ✅ 多轮对话正常"
|
|
|
|
# 测试 4: 清空会话
|
|
echo "4️⃣ 测试清空会话接口..."
|
|
if curl -s -X POST "$BASE_URL/clear" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"conversationId": "test_123"}' | grep -q "ok"; then
|
|
echo " ✅ 清空会话正常"
|
|
else
|
|
echo " ❌ 清空会话失败"
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "🎉 所有测试通过!"
|