call capability result!
This commit is contained in:
@@ -42,6 +42,7 @@ def test_server_exposes_upstream_admin_and_workflow_tools() -> None:
|
||||
async with client:
|
||||
tools = await client.list_tools()
|
||||
names = [tool.name for tool in tools]
|
||||
tools_by_name = {tool.name: tool for tool in tools}
|
||||
assert "fixture.personal.echo_tool" in names
|
||||
assert "wf.admin.list_connections" in names
|
||||
assert "wf.admin.get_connection_statuses" in names
|
||||
@@ -64,6 +65,13 @@ def test_server_exposes_upstream_admin_and_workflow_tools() -> None:
|
||||
assert "wf.workflow.create_artifact_from_draft" in names
|
||||
assert "wf.workflow.patch_draft" in names
|
||||
assert "wf.workflow.run_deployment" in names
|
||||
call_capability_schema = tools_by_name[
|
||||
"wf.workflow.call_capability"
|
||||
].outputSchema
|
||||
assert call_capability_schema is not None
|
||||
assert "source_id" in call_capability_schema["properties"]
|
||||
assert "kind" in call_capability_schema["properties"]
|
||||
assert "diagnostics" in call_capability_schema["properties"]
|
||||
|
||||
echo_result = await client.call_tool(
|
||||
"fixture.personal.echo_tool",
|
||||
|
||||
@@ -614,10 +614,41 @@ def test_workflow_surface_calls_saved_wrapper_artifact() -> None:
|
||||
)
|
||||
|
||||
assert payload["qualified_name"] == "workflow.echo_wrapper.v1"
|
||||
assert payload["source_id"] == "workflow"
|
||||
assert payload["kind"] == "wrapper_artifact"
|
||||
assert payload["diagnostics"] == []
|
||||
assert payload["outcome"] == "completed"
|
||||
assert payload["output"]["echoed"] == "hello"
|
||||
|
||||
|
||||
def test_workflow_surface_calls_live_node_spec_with_self_describing_response() -> None:
|
||||
service = WfMcpService(
|
||||
store=FileStore(local_temp_root() / "surface_live_capability_call"),
|
||||
artifact_store=FileWorkflowArtifactStore(
|
||||
local_temp_root() / "surface_live_capability_call_artifacts"
|
||||
),
|
||||
)
|
||||
service.register_connection(
|
||||
ConnectionConfig(id="demo.personal", server="demo", account="personal")
|
||||
)
|
||||
service.register_specs("demo.personal", echo_tool)
|
||||
handlers = WorkflowSurfaceHandlers(service)
|
||||
|
||||
payload = asyncio.run(
|
||||
handlers.call_capability(
|
||||
qualified_name="demo.personal.echo_tool",
|
||||
payload={"text": "hello"},
|
||||
)
|
||||
)
|
||||
|
||||
assert payload["qualified_name"] == "demo.personal.echo_tool"
|
||||
assert payload["source_id"] == "demo.personal"
|
||||
assert payload["kind"] == "node_spec"
|
||||
assert payload["diagnostics"] == []
|
||||
assert payload["outcome"] == "ok"
|
||||
assert payload["output"]["echoed"] == "hello"
|
||||
|
||||
|
||||
def test_workflow_surface_calls_saved_wrapper_artifact_with_deployment_bindings() -> (
|
||||
None
|
||||
):
|
||||
@@ -655,6 +686,10 @@ def test_workflow_surface_calls_saved_wrapper_artifact_with_deployment_bindings(
|
||||
)
|
||||
|
||||
assert payload["qualified_name"] == "workflow.logical_echo_wrapper.v1"
|
||||
assert payload["source_id"] == "workflow"
|
||||
assert payload["kind"] == "wrapper_artifact"
|
||||
assert payload["deployment_id"] == "logical_echo_wrapper.personal"
|
||||
assert payload["diagnostics"] == []
|
||||
assert payload["outcome"] == "completed"
|
||||
assert payload["output"]["echoed"] == "hello"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user