auto_agent/edge-agent/tests/test_tcp_probe_executor.py
2521690 ce299cbb18 feat: 增加 Agent 演示入口与 app_metadata 驱动验证链路
- 新增 app_metadata 模型、仓储与服务
- 将默认 edge 验证步骤改为由 app_metadata 驱动生成
- 新增 chat_session / chat_message 会话层模型与 chat service
- 新增 demo chat API,支持会话创建、消息发送、任务确认
- 新增最小 Web Demo 页面,形成聊天式演示入口
- 增强任务报告,补充 audit_summary 与更细粒度 task_metrics
- 增强 edge-agent 执行器:tcp_probe、日志时间范围过滤、进程指标与更灵活健康检查
- 更新 README 与当前进度总结,MVP 进度推进到约 94%
2026-04-09 14:10:13 +08:00

39 lines
1.1 KiB
Python

from __future__ import annotations
import socket
import threading
from app.executors.tcp_probe_executor import TcpProbeExecutor
def test_tcp_probe_executor_success() -> None:
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("127.0.0.1", 0))
server.listen(1)
host, port = server.getsockname()
def accept_once() -> None:
conn, _ = server.accept()
conn.close()
server.close()
thread = threading.Thread(target=accept_once, daemon=True)
thread.start()
success, message, data, evidence = TcpProbeExecutor().execute({"host": host, "port": port, "timeout_ms": 1000})
thread.join(timeout=1)
assert success is True
assert message == "tcp probe succeeded"
assert data["connected"] is True
assert data["latency_ms"] is not None
assert evidence == {}
def test_tcp_probe_executor_failure() -> None:
success, message, data, evidence = TcpProbeExecutor().execute({"host": "127.0.0.1", "port": 9, "timeout_ms": 100})
assert success is False
assert data["connected"] is False
assert isinstance(message, str)
assert evidence == {}