fix(mcp): pass ingest flag through service CLI
Ensure mcp_service.sh start --enable-ingest actually writes OBSIDIAN_MCP_ENABLE_INGEST=1 by forwarding the parsed flag to start_service. Also stop the new-token command from referencing the start-only flag, and cover both CLI paths with regression tests. Validation: python3 -m unittest discover -v; git diff --check
This commit is contained in:
@@ -406,7 +406,6 @@ def main(argv: Sequence[str] | None = None) -> int:
|
||||
port=args.port,
|
||||
path=args.path,
|
||||
token_bytes=args.token_bytes,
|
||||
enable_ingest=args.enable_ingest,
|
||||
),
|
||||
end="",
|
||||
)
|
||||
@@ -420,6 +419,7 @@ def main(argv: Sequence[str] | None = None) -> int:
|
||||
port=args.port,
|
||||
path=args.path,
|
||||
token_bytes=args.token_bytes,
|
||||
enable_ingest=args.enable_ingest,
|
||||
),
|
||||
end="",
|
||||
)
|
||||
|
||||
@@ -225,6 +225,30 @@ class McpServiceConfigTests(unittest.TestCase):
|
||||
]
|
||||
)
|
||||
|
||||
def test_main_start_passes_enable_ingest_to_start_service(self):
|
||||
with (
|
||||
patch.object(manage_mcp_service, "start_service", return_value="config\n") as start_service,
|
||||
patch("builtins.print") as print_fn,
|
||||
):
|
||||
status = manage_mcp_service.main(["start", "--enable-ingest"])
|
||||
|
||||
self.assertEqual(status, 0)
|
||||
start_service.assert_called_once()
|
||||
self.assertTrue(start_service.call_args.kwargs["enable_ingest"])
|
||||
print_fn.assert_called_once_with("config\n", end="")
|
||||
|
||||
def test_main_new_token_does_not_expect_enable_ingest_argument(self):
|
||||
with (
|
||||
patch.object(manage_mcp_service, "new_token", return_value="config\n") as new_token,
|
||||
patch("builtins.print") as print_fn,
|
||||
):
|
||||
status = manage_mcp_service.main(["new-token"])
|
||||
|
||||
self.assertEqual(status, 0)
|
||||
new_token.assert_called_once()
|
||||
self.assertNotIn("enable_ingest", new_token.call_args.kwargs)
|
||||
print_fn.assert_called_once_with("config\n", end="")
|
||||
|
||||
def test_uninstall_service_removes_only_managed_files(self):
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
project_root = Path(tmp) / "project"
|
||||
|
||||
Reference in New Issue
Block a user