29 lines
854 B
Python
29 lines
854 B
Python
from src.plugins.mcp.interfaces import MCPToolResult
|
|
|
|
|
|
def test_mcp_tool_result_accepts_legacy_data_alias() -> None:
|
|
result = MCPToolResult(success=True, data={"ok": True})
|
|
|
|
assert result.execution_id.startswith("mcp-")
|
|
assert result.output == {"ok": True}
|
|
assert result.to_dict()["output"] == {"ok": True}
|
|
|
|
|
|
def test_mcp_tool_result_keeps_explicit_output_over_data_alias() -> None:
|
|
result = MCPToolResult(
|
|
success=True,
|
|
execution_id="exec-1",
|
|
output={"new": True},
|
|
data={"legacy": True},
|
|
)
|
|
|
|
assert result.execution_id == "exec-1"
|
|
assert result.output == {"new": True}
|
|
|
|
|
|
def test_mcp_tool_result_allows_failure_without_execution_id() -> None:
|
|
result = MCPToolResult(success=False, error="blocked")
|
|
|
|
assert result.execution_id.startswith("mcp-")
|
|
assert result.error == "blocked"
|