46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
from __future__ import annotations
|
|
|
|
from wf_sources_mcp.tool_events import (
|
|
ToolWrapperEvent,
|
|
tool_call_completed_event,
|
|
tool_call_started_event,
|
|
)
|
|
|
|
|
|
def test_tool_call_started_event_shape() -> None:
|
|
event = tool_call_started_event(
|
|
connection_id="demo.default",
|
|
capability_id="demo.default.echo",
|
|
input_payload={"message": "hello"},
|
|
)
|
|
|
|
assert event == ToolWrapperEvent(
|
|
kind="tool_call_started",
|
|
connection_id="demo.default",
|
|
capability_id="demo.default.echo",
|
|
payload={"input": {"message": "hello"}},
|
|
)
|
|
|
|
|
|
def test_tool_call_completed_event_shape() -> None:
|
|
event = tool_call_completed_event(
|
|
connection_id="demo.default",
|
|
capability_id="demo.default.echo",
|
|
outcome="ok",
|
|
meta={"duration_ms": 3},
|
|
)
|
|
|
|
assert event.kind == "tool_call_completed"
|
|
assert event.connection_id == "demo.default"
|
|
assert event.capability_id == "demo.default.echo"
|
|
assert event.payload == {"outcome": "ok", "meta": {"duration_ms": 3}}
|
|
|
|
|
|
def test_tool_event_symbols_export_from_package_root() -> None:
|
|
from wf_sources_mcp import ToolWrapperEvent as RootToolWrapperEvent
|
|
from wf_sources_mcp import tool_call_started_event as root_started
|
|
from wf_sources_mcp.tool_events import ToolWrapperEvent, tool_call_started_event
|
|
|
|
assert RootToolWrapperEvent is ToolWrapperEvent
|
|
assert root_started is tool_call_started_event
|