MCPcopy Create free account
hub / github.com/InternLM/InternBootcamp / test_servers

Function test_servers

internbootcamp/utils/tool_server/cli.py:236–307  ·  view source on GitHub ↗

测试服务器功能

(server_url, tool_names, test_timeout=10, connectivity_only=False)

Source from the content-addressed store, hash-verified

234
235
236def test_servers(server_url, tool_names, test_timeout=10, connectivity_only=False):
237 """测试服务器功能"""
238 print(f"🧪 测试服务器: {server_url}")
239
240 try:
241 # 基础连通性测试
242 print(f"🔍 测试Master连通性: {server_url}/health")
243 response = requests.get(f"{server_url}/health", timeout=test_timeout)
244 if response.status_code == 200:
245 data = response.json()
246 print(" ✅ Master健康检查通过")
247 print(f" - 支持工具: {data.get('tools', [])}")
248 print(f" - 注册Worker数: {data.get('registered_workers', 0)}")
249 print(f" - 活跃Worker数: {len([w for w in data.get('workers', {}).values() if w.get('status') == 'alive'])}")
250
251 if not connectivity_only:
252 # 详细端点测试
253 print(f"\n🧪 测试工具端点...")
254
255 for tool_name in tool_names:
256 print(f"\n--- 测试工具: {tool_name} ---")
257 success = True
258
259 # 测试创建端点
260 try:
261 create_url = f"{server_url}/{tool_name}/create"
262 test_data = {"instance_id": f"test_instance_{tool_name}", "identity": {"test": True}}
263 response = requests.post(create_url, json=test_data, timeout=test_timeout)
264 if response.status_code == 200 and response.json().get("success"):
265 print(f" ✅ 创建端点测试通过: {create_url}")
266 else:
267 print(f" ❌ 创建端点测试失败: 状态码 {response.status_code}")
268 success = False
269 except Exception as e:
270 print(f" ❌ 创建端点请求失败: {e}")
271 success = False
272
273 # 测试执行端点
274 try:
275 execute_url = f"{server_url}/{tool_name}/execute"
276 test_data = {"instance_id": f"test_instance_{tool_name}", "test_param": "value"}
277 response = requests.post(execute_url, json=test_data, timeout=test_timeout)
278 if response.status_code == 200:
279 print(f" ✅ 执行端点测试通过: {execute_url}")
280 else:
281 print(f" ❌ 执行端点测试失败: 状态码 {response.status_code}")
282 success = False
283 except Exception as e:
284 print(f" ❌ 执行端点请求失败: {e}")
285 success = False
286
287 # 测试释放端点
288 try:
289 release_url = f"{server_url}/{tool_name}/release"
290 test_data = {"instance_id": f"test_instance_{tool_name}"}
291 response = requests.post(release_url, json=test_data, timeout=test_timeout)
292 if response.status_code == 200 and response.json().get("success"):
293 print(f" ✅ 释放端点测试通过: {release_url}")

Callers 1

mainFunction · 0.85

Calls 2

valuesMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected