test_knowhub_api_integration.py 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. """测试 KnowHub 工具表 API 集成
  2. 验证 FastAPI 路由是否正确调用 tool_table_tools 模块
  3. """
  4. import sys
  5. from pathlib import Path
  6. # 添加项目根目录到 Python 路径
  7. project_root = Path(__file__).parent.parent
  8. sys.path.insert(0, str(project_root / "src"))
  9. from tool_agent.router import tool_table_tools
  10. def test_query_all_tools():
  11. """测试查询所有工具"""
  12. print("\n=== 测试:查询所有工具 ===")
  13. result = tool_table_tools.query_knowhub_tools()
  14. print(f"状态: {result['status']}")
  15. print(f"工具总数: {result['total']}")
  16. if result['total'] > 0:
  17. print(f"\n前 3 个工具:")
  18. for tool in result['tools'][:3]:
  19. print(f" - {tool['title']} ({tool['tool_id']})")
  20. print(f" 分类: {tool['category']}, 状态: {tool['status']}")
  21. def test_query_by_category():
  22. """测试按分类查询"""
  23. print("\n=== 测试:按分类查询 (plugin) ===")
  24. result = tool_table_tools.query_knowhub_tools(category="plugin")
  25. print(f"状态: {result['status']}")
  26. print(f"plugin 类工具数: {result['total']}")
  27. for tool in result['tools'][:5]:
  28. print(f" - {tool['title']} | 状态: {tool['status']}")
  29. def test_query_by_keyword():
  30. """测试关键词搜索"""
  31. print("\n=== 测试:关键词搜索 (comfyui) ===")
  32. result = tool_table_tools.query_knowhub_tools(keyword="comfyui")
  33. print(f"状态: {result['status']}")
  34. print(f"匹配工具数: {result['total']}")
  35. for tool in result['tools']:
  36. print(f" - {tool['title']} ({tool['tool_id']})")
  37. print(f" 状态: {tool['status']}")
  38. def test_get_tool_detail():
  39. """测试获取工具详情"""
  40. print("\n=== 测试:获取工具详情 (tools/image_gen/comfyui) ===")
  41. result = tool_table_tools.get_knowhub_tool_detail("tools/image_gen/comfyui")
  42. print(f"状态: {result['status']}")
  43. if result['status'] == 'success':
  44. tool = result['tool']
  45. print(f"标题: {tool['title']}")
  46. print(f"分类: {tool['category']}")
  47. print(f"接入状态: {tool['status']}")
  48. print(f"描述: {tool['description']}")
  49. print(f"使用方法: {tool['usage']}")
  50. print(f"应用场景: {tool['scenarios']}")
  51. print(f"关联知识数: {len(tool['knowledge_ids'])}")
  52. def test_update_comfyui_status():
  53. """测试更新 ComfyUI 状态为已接入"""
  54. print("\n=== 测试:更新 ComfyUI 状态为已接入 ===")
  55. result = tool_table_tools.update_knowhub_tool_status(
  56. "tools/image_gen/comfyui", "已接入"
  57. )
  58. print(f"状态: {result['status']}")
  59. print(f"消息: {result['message']}")
  60. # 验证
  61. print("\n验证更新结果:")
  62. detail = tool_table_tools.get_knowhub_tool_detail("tools/image_gen/comfyui")
  63. if detail['status'] == 'success':
  64. print(f"当前状态: {detail['tool']['status']}")
  65. def main():
  66. print("=" * 60)
  67. print("KnowHub 工具表 API 集成测试")
  68. print("=" * 60)
  69. test_query_all_tools()
  70. test_query_by_category()
  71. test_query_by_keyword()
  72. test_get_tool_detail()
  73. test_update_comfyui_status()
  74. print("\n" + "=" * 60)
  75. print("测试完成!")
  76. if __name__ == "__main__":
  77. main()