68 lines
2.2 KiB
Python
68 lines
2.2 KiB
Python
from __future__ import annotations
|
|
|
|
from wf_api.refs import parse_workflow_surface_capability_id
|
|
from wf_artifacts import WorkflowCapabilityRef
|
|
from wf_mcp.workflow_surface.refs import (
|
|
parse_workflow_surface_capability_id as parse_workflow_surface_capability_id_shim,
|
|
)
|
|
from wf_platform import CapabilityRef
|
|
|
|
|
|
def test_workflow_surface_capability_id_parses_live_capability_ref() -> None:
|
|
capability = parse_workflow_surface_capability_id("demo.personal.echo_tool")
|
|
|
|
assert isinstance(capability, CapabilityRef)
|
|
assert str(capability) == "demo.personal.echo_tool"
|
|
assert str(capability.source) == "demo.personal"
|
|
assert capability.name == "echo_tool"
|
|
|
|
|
|
def test_workflow_surface_capability_id_parses_structural_live_capability_ref() -> None:
|
|
capability = parse_workflow_surface_capability_id(
|
|
{
|
|
"source": "demo",
|
|
"capability_key": "foo.bar",
|
|
}
|
|
)
|
|
|
|
assert isinstance(capability, CapabilityRef)
|
|
assert str(capability.source) == "demo"
|
|
assert capability.name == "foo.bar"
|
|
|
|
|
|
def test_workflow_surface_capability_id_parses_saved_wrapper_ref() -> None:
|
|
capability = parse_workflow_surface_capability_id("workflow.echo_wrapper.v2")
|
|
|
|
assert isinstance(capability, WorkflowCapabilityRef)
|
|
assert str(capability) == "workflow.echo_wrapper.v2"
|
|
assert capability.artifact_id == "echo_wrapper"
|
|
assert capability.version == 2
|
|
|
|
|
|
def test_workflow_surface_capability_id_parses_structural_saved_wrapper_ref() -> None:
|
|
capability = parse_workflow_surface_capability_id(
|
|
{
|
|
"artifact_id": "echo_wrapper",
|
|
"version": 2,
|
|
}
|
|
)
|
|
|
|
assert isinstance(capability, WorkflowCapabilityRef)
|
|
assert str(capability) == "workflow.echo_wrapper.v2"
|
|
|
|
|
|
def test_workflow_surface_refs_shim_reexports_canonical_parser() -> None:
|
|
assert (
|
|
parse_workflow_surface_capability_id_shim
|
|
is parse_workflow_surface_capability_id
|
|
)
|
|
|
|
|
|
def test_workflow_surface_constants_shim_reexports_canonical_literals() -> None:
|
|
from wf_api.constants import DEFAULT_CALL_STEP_ID
|
|
from wf_mcp.workflow_surface.constants import (
|
|
DEFAULT_CALL_STEP_ID as DEFAULT_CALL_STEP_ID_SHIM,
|
|
)
|
|
|
|
assert DEFAULT_CALL_STEP_ID_SHIM == DEFAULT_CALL_STEP_ID
|