Skip to main content
Glama
test_integration.py5.09 kB
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 集成测试脚本 验证增强版MCP服务器各模块的集成情况 """ import sys import os import logging # 配置日志 logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') logger = logging.getLogger(__name__) def test_config_module(): """测试配置模块""" print("\n=== 测试配置模块 ===") try: from config import get_config_manager, get_config # 测试配置管理器初始化 config_mgr = get_config_manager() print("✅ 配置管理器初始化成功") # 测试配置获取 server_name = get_config('server.name') print(f"✅ 服务器名称: {server_name}") transport = get_config('server.transport') print(f"✅ 传输方式: {transport}") exclude_dirs = get_config('options.exclude_dirs') print(f"✅ 排除目录: {exclude_dirs}") # 测试配置验证 validation_result = config_mgr.validate_config() if validation_result['valid']: print("✅ 配置验证通过") else: print(f"⚠️ 配置验证警告: {validation_result['issues']}") return True except Exception as e: print(f"❌ 配置模块测试失败: {e}") return False def test_security_module(): """测试安全模块""" print("\n=== 测试安全模块 ===") try: from security import get_security_validator, validate_path_safety # 测试安全验证器初始化 validator = get_security_validator() print("✅ 安全验证器初始化成功") # 测试路径验证 test_path = "." result = validate_path_safety(test_path) if result['valid']: print(f"✅ 路径安全验证通过: {test_path}") else: print(f"⚠️ 路径验证警告: {result['error']}") # 测试目录结构验证 dir_result = validator.validate_directory_structure(".") if dir_result['safe']: print(f"✅ 目录结构验证通过,深度: {dir_result['depth']}") else: print(f"⚠️ 目录结构验证警告: {dir_result['reason']}") # 测试文件类型验证 file_result = validator.validate_file_type("test.txt") if file_result['safe']: print(f"✅ 文件类型验证通过: {file_result['extension']}") else: print(f"⚠️ 文件类型验证警告: {file_result['message']}") return True except Exception as e: print(f"❌ 安全模块测试失败: {e}") return False def test_mcp_server(): """测试MCP服务器""" print("\n=== 测试MCP服务器 ===") try: from enhanced_folder_docs_mcp import mcp print("✅ 增强版MCP服务器导入成功") # 检查服务器配置 print(f"✅ 服务器名称: {mcp.name}") # 简化测试,不检查工具注册(因为需要异步调用) print("✅ 服务器配置检查完成") return True except Exception as e: print(f"❌ MCP服务器测试失败: {e}") return False def test_functionality(): """测试基本功能""" print("\n=== 测试基本功能 ===") try: from enhanced_folder_docs_mcp import generate_folder_tree, generate_readme_content # 测试文件夹结构生成 test_dir = "." exclude_dirs = ['.git', '__pycache__', '.pytest_cache', 'node_modules'] tree = generate_folder_tree(test_dir, exclude_dirs) print(f"✅ 文件夹结构生成成功,长度: {len(tree)} 字符") # 测试README内容生成 readme = generate_readme_content(test_dir) print(f"✅ README内容生成成功,长度: {len(readme)} 字符") return True except Exception as e: print(f"❌ 基本功能测试失败: {e}") return False def main(): """主测试函数""" print("开始增强版MCP服务器集成测试...") results = { "配置模块": test_config_module(), "安全模块": test_security_module(), "MCP服务器": test_mcp_server(), "基本功能": test_functionality() } print("\n=== 测试结果汇总 ===") passed = 0 total = len(results) for module, result in results.items(): status = "✅ 通过" if result else "❌ 失败" print(f"{module}: {status}") if result: passed += 1 print(f"\n总计: {passed}/{total} 项测试通过") if passed == total: print("🎉 所有集成测试通过!增强版MCP服务器已准备就绪。") return True else: print("⚠️ 部分测试失败,请检查上述错误信息。") return False if __name__ == "__main__": success = main() sys.exit(0 if success else 1)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kscz0000/Zhiwen-Assistant-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server