Files
lda-wf/tests/wf_mcp/test_names.py
T

35 lines
1.1 KiB
Python

from __future__ import annotations
from wf_mcp.shared.names import (
ADMIN_NAMESPACE,
is_admin_tool_name,
namespaced_tool_name,
parse_namespaced_tool_name,
)
def test_namespaced_tool_names_are_reversible_with_known_connections() -> None:
proxy_name = namespaced_tool_name("everything.default", "get-sum")
parsed = parse_namespaced_tool_name(
proxy_name,
{"everything.default", "everything"},
)
assert parsed is not None
assert parsed.proxy_name == "everything.default.get-sum"
assert parsed.connection_id == "everything.default"
assert parsed.local_name == "get-sum"
def test_namespaced_tool_parser_rejects_unknown_and_admin_names() -> None:
assert parse_namespaced_tool_name("missing.echo", {"everything.default"}) is None
assert is_admin_tool_name("wf.admin.list_connections") is True
assert is_admin_tool_name("everything.default.echo") is False
def test_admin_namespace_is_distinct_from_wf_mcp_runtime_source() -> None:
assert ADMIN_NAMESPACE == "wf.admin"
assert is_admin_tool_name("wf.admin.list_connections") is True
assert is_admin_tool_name("wf.std.runtime_error") is False