#!/usr/bin/env python3
"""测试更新后的API调用方式"""
import asyncio
import sys
import os
# 添加chatlog_mcp到路径
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from chatlog_mcp.server import call_api
async def test_apis():
"""测试所有API端点"""
print("=== 测试更新后的API调用方式 ===\n")
# 1. 测试会话列表
print("1. 测试会话列表 API:")
print(" 调用: GET /api/v1/session")
try:
result = await call_api("session", {"format": "text"})
print(f" ✅ 成功 (长度: {len(result)})")
print(f" 预览: {result[:100]}...\n")
except Exception as e:
print(f" ❌ 失败: {e}\n")
# 2. 测试群聊列表
print("2. 测试群聊列表 API:")
print(" 调用: GET /api/v1/chatroom?keyword=AI编程社团")
try:
result = await call_api("chatroom", {
"keyword": "AI编程社团",
"format": "text"
})
print(f" ✅ 成功")
print(f" 结果:\n{result}\n")
except Exception as e:
print(f" ❌ 失败: {e}\n")
# 3. 测试联系人
print("3. 测试联系人 API:")
print(" 调用: GET /api/v1/contact?keyword=黄叔")
try:
result = await call_api("contact", {
"keyword": "黄叔",
"format": "text"
})
print(f" ✅ 成功")
print(f" 结果:\n{result}\n")
except Exception as e:
print(f" ❌ 失败: {e}\n")
# 4. 测试聊天记录 (有数据的日期)
print("4. 测试聊天记录 API:")
print(" 调用: GET /api/v1/chatlog?time=2026-01-12&talker=44156635321@chatroom")
try:
result = await call_api("chatlog", {
"time": "2026-01-12",
"talker": "44156635321@chatroom",
"format": "text"
})
print(f" ✅ 成功 (长度: {len(result)})")
print(f" 预览: {result[:200]}...\n")
except Exception as e:
print(f" ❌ 失败: {e}\n")
# 5. 测试今日数据 (应该无数据)
print("5. 测试今日数据 (2026-01-14):")
print(" 调用: GET /api/v1/chatlog?time=2026-01-14&talker=44156635321@chatroom")
try:
result = await call_api("chatlog", {
"time": "2026-01-14",
"talker": "44156635321@chatroom",
"format": "text"
})
print(f" 结果: {result}")
if "time range not found" in result:
print(" ✅ 符合预期 (今日无数据)\n")
else:
print(f" ⚠️ 意外结果\n")
except Exception as e:
print(f" ❌ 失败: {e}\n")
print("=== 测试完成 ===")
if __name__ == "__main__":
asyncio.run(test_apis())