sched: docs, probe retirement, MCP guard, coverage pins, executable example (T14)

This commit is contained in:
lda
2026-09-09 12:21:13 +07:00 Verified
parent e09c08899a
commit 9c4f7de086
17 changed files with 601 additions and 2398 deletions
+78
View File
@@ -565,3 +565,81 @@ def test_rpc_server_cli_flag_overrides_disabled_config_scheduler(
assert result.exit_code == 0, result.output
assert captured["lifespan"] is not None
def test_rpc_server_cli_enable_scheduler_rejects_mcp_backed_server(
monkeypatch, tmp_path
) -> None:
config_path = tmp_path / "wf_mcp.config.json"
config_path.write_text(
json.dumps({"store_root": str(tmp_path / "store"), "connections": []}),
encoding="utf-8",
)
def fake_build_mcp_server(path):
return object()
monkeypatch.setattr(
"wf_server.cli.build_workflow_server_from_legacy_mcp_config",
fake_build_mcp_server,
)
result = CliRunner().invoke(
app,
[
"--mcp-config",
str(config_path),
"--enable-scheduler",
],
)
assert result.exit_code != 0
assert "requires a local/static server" in result.output
def test_rpc_server_cli_config_mcp_sources_reject_scheduler(
monkeypatch, tmp_path
) -> None:
config_path = tmp_path / "wf.json"
config_path.write_text(
json.dumps(
{
"version": 1,
"server": {
"store": {"kind": "filesystem", "root": ".wf_store"},
"sources": [
{
"kind": "mcp",
"id": "everything.default",
"provider": "everything",
"account": "default",
"transport": {
"kind": "stdio",
"command": "uvx",
"args": ["mcp-server-everything"],
},
}
],
"scheduler": {"enabled": True},
},
}
),
encoding="utf-8",
)
def fake_build_server(config, *, drafts=False):
return object()
def fake_create_rpc_app(server, *, rpc_path="/rpc", drafts=False, lifespan=None):
return object()
monkeypatch.setattr(
"wf_server.cli.build_workflow_server_from_workflow_config",
fake_build_server,
)
monkeypatch.setattr("wf_server.cli.create_rpc_app", fake_create_rpc_app)
result = CliRunner().invoke(app, ["--config", str(config_path)])
assert result.exit_code != 0
assert "requires a local/static server" in result.output