chore: initial commit
This commit is contained in:
86
core/test_server.py
Normal file
86
core/test_server.py
Normal file
@@ -0,0 +1,86 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
测试 Funstat MCP Server
|
||||
|
||||
这个脚本会测试 MCP 服务器的所有功能
|
||||
"""
|
||||
|
||||
import asyncio
|
||||
import sys
|
||||
from server import FunstatMCPServer
|
||||
|
||||
async def test_server():
|
||||
"""测试服务器功能"""
|
||||
|
||||
print("=" * 60)
|
||||
print("🧪 Funstat MCP Server 测试")
|
||||
print("=" * 60)
|
||||
print()
|
||||
|
||||
server = FunstatMCPServer()
|
||||
|
||||
try:
|
||||
# 初始化
|
||||
print("1️⃣ 初始化服务器...")
|
||||
await server.initialize()
|
||||
print("✅ 初始化成功")
|
||||
print()
|
||||
|
||||
# 测试工具列表
|
||||
print("2️⃣ 获取工具列表...")
|
||||
tools = await server.list_tools()
|
||||
print(f"✅ 找到 {len(tools)} 个工具:")
|
||||
for tool in tools:
|
||||
print(f" - {tool.name}: {tool.description}")
|
||||
print()
|
||||
|
||||
# 测试 /start 命令
|
||||
print("3️⃣ 测试 /start 命令...")
|
||||
result = await server.call_tool("funstat_start", {})
|
||||
response = result[0].text
|
||||
print("✅ 响应:")
|
||||
print(response[:500])
|
||||
if len(response) > 500:
|
||||
print(f" ... (还有 {len(response) - 500} 个字符)")
|
||||
print()
|
||||
|
||||
# 测试 /balance 命令
|
||||
print("4️⃣ 测试 /balance 命令...")
|
||||
result = await server.call_tool("funstat_balance", {})
|
||||
print("✅ 响应:")
|
||||
print(result[0].text)
|
||||
print()
|
||||
|
||||
# 测试搜索功能
|
||||
print("5️⃣ 测试搜索功能 (关键词: python)...")
|
||||
result = await server.call_tool("funstat_search", {"query": "python"})
|
||||
response = result[0].text
|
||||
print("✅ 响应:")
|
||||
print(response[:500])
|
||||
if len(response) > 500:
|
||||
print(f" ... (还有 {len(response) - 500} 个字符)")
|
||||
print()
|
||||
|
||||
# 测试缓存
|
||||
print("6️⃣ 测试缓存 (再次搜索 python)...")
|
||||
result = await server.call_tool("funstat_search", {"query": "python"})
|
||||
print("✅ 响应: (应该来自缓存)")
|
||||
print(result[0].text[:200])
|
||||
print()
|
||||
|
||||
print("=" * 60)
|
||||
print("✅ 所有测试通过!")
|
||||
print("=" * 60)
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ 测试失败: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
sys.exit(1)
|
||||
|
||||
finally:
|
||||
if server.client:
|
||||
await server.client.disconnect()
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(test_server())
|
||||
Reference in New Issue
Block a user