"""The committed example that wires the ``okf`` MCP server into a run must load through the same fail-fast loader a real run uses -- a config in the README that ``load_mcp_config`` refuses is a broken instruction, not documentation.""" from __future__ import annotations from pathlib import Path from portfolio_optimiser.mcp_tools import load_mcp_config EXAMPLE = Path(__file__).resolve().parent.parent / "examples" / "okf-server.mcp.json" def test_okf_server_example_loads_through_the_run_loader() -> None: (server,) = load_mcp_config(EXAMPLE) assert server.name == "okf" assert server.transport == "stdio" assert set(server.allowed_tools) == {"okf_list", "okf_describe", "okf_ask", "okf_fetch"} assert server.timeout_seconds > 0 def test_okf_server_example_carries_a_neutral_placeholder_path() -> None: text = EXAMPLE.read_text(encoding="utf-8") assert "/Users/" not in text and "/home/" not in text def test_okf_server_example_names_the_server_by_full_path() -> None: """A bare ``okf`` resolves to this project's own okf 0.8.5 dependency (no ``mcp``) under ``uv run`` or an activated environment -- measured in ``test_okf_server_smoke.py``.""" (server,) = load_mcp_config(EXAMPLE) assert server.command is not None and Path(server.command).is_absolute()