Repair MCP diagnostics and gateway lifecycle
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import importlib.util
|
||||
import pathlib
|
||||
import types
|
||||
|
||||
|
||||
def load_module():
|
||||
script_path = pathlib.Path(__file__).resolve().parents[1] / "resources" / "scripts" / "napseer_mcp_server.py"
|
||||
spec = importlib.util.spec_from_file_location("napseer_mcp_server_pty_capture_test", script_path)
|
||||
module = importlib.util.module_from_spec(spec)
|
||||
assert spec and spec.loader
|
||||
spec.loader.exec_module(module)
|
||||
return module
|
||||
|
||||
|
||||
def test_capture_reads_pty_ring_instead_of_tmux():
|
||||
mod = load_module()
|
||||
attach = types.SimpleNamespace(
|
||||
chunks=(
|
||||
types.SimpleNamespace(data=b"first\n"),
|
||||
types.SimpleNamespace(data=b"napseer-lifecycle-ok\n"),
|
||||
),
|
||||
newest_seq=2,
|
||||
replay_gap=False,
|
||||
)
|
||||
manager = types.SimpleNamespace(attach=lambda terminal_id: attach)
|
||||
mod.gateway_terminal_backend_from_id = lambda terminal_id, remote_authenticated=False: (
|
||||
"pty",
|
||||
{"id": terminal_id},
|
||||
)
|
||||
mod.gateway_pty_manager = lambda: manager
|
||||
|
||||
result = mod.gateway_terminal_capture({"terminal_id": "term_test"})
|
||||
|
||||
assert result["status"] == "captured"
|
||||
assert result["terminal_backend"] == "pty"
|
||||
assert result["terminal_id"] == "term_test"
|
||||
assert "napseer-lifecycle-ok" in result["output"]
|
||||
assert result["output_seq"] == 2
|
||||
Reference in New Issue
Block a user