test: add server_log_path coverage (macOS, Windows, missing, unsupported) (#6)
This commit is contained in:
@@ -638,3 +638,49 @@ def test_args_secret_warning_env_not_triggered():
|
||||
def test_args_secret_warning_empty():
|
||||
assert c.args_secret_warning({}) is None
|
||||
assert c.args_secret_warning({"args": []}) is None
|
||||
|
||||
|
||||
# --------------------------------------------------------------------------- #
|
||||
# server_log_path (in-app log viewer — issue #6)
|
||||
# --------------------------------------------------------------------------- #
|
||||
def test_server_log_path_macos_when_file_exists(tmp_path, monkeypatch):
|
||||
monkeypatch.setattr(sys, "platform", "darwin")
|
||||
monkeypatch.setattr(c.Path, "home", lambda: tmp_path)
|
||||
log_dir = tmp_path / "Library" / "Logs" / "Claude"
|
||||
log_dir.mkdir(parents=True)
|
||||
(log_dir / "mcp-server-brave-search.log").write_text("hello")
|
||||
|
||||
result = c.server_log_path("brave-search")
|
||||
assert result == log_dir / "mcp-server-brave-search.log"
|
||||
|
||||
|
||||
def test_server_log_path_macos_none_when_missing(tmp_path, monkeypatch):
|
||||
monkeypatch.setattr(sys, "platform", "darwin")
|
||||
monkeypatch.setattr(c.Path, "home", lambda: tmp_path)
|
||||
assert c.server_log_path("brave-search") is None
|
||||
|
||||
|
||||
def test_server_log_path_windows_when_file_exists(tmp_path, monkeypatch):
|
||||
# server_log_path branches on sys.platform only (never os.name), so the
|
||||
# test doesn't have to touch os.name -- mutating that globally mid-test
|
||||
# would also flip which concrete Path subclass pathlib hands out.
|
||||
monkeypatch.setattr(sys, "platform", "win32")
|
||||
monkeypatch.setenv("APPDATA", str(tmp_path))
|
||||
log_dir = tmp_path / "Claude" / "logs"
|
||||
log_dir.mkdir(parents=True)
|
||||
(log_dir / "mcp.log").write_text("hello")
|
||||
|
||||
result = c.server_log_path("brave-search")
|
||||
assert result == log_dir / "mcp.log"
|
||||
|
||||
|
||||
def test_server_log_path_windows_none_when_missing(tmp_path, monkeypatch):
|
||||
monkeypatch.setattr(sys, "platform", "win32")
|
||||
monkeypatch.setenv("APPDATA", str(tmp_path))
|
||||
assert c.server_log_path("brave-search") is None
|
||||
|
||||
|
||||
def test_server_log_path_unsupported_platform_returns_none(tmp_path, monkeypatch):
|
||||
monkeypatch.setattr(sys, "platform", "linux")
|
||||
monkeypatch.setattr(c.Path, "home", lambda: tmp_path)
|
||||
assert c.server_log_path("brave-search") is None
|
||||
|
||||
Reference in New Issue
Block a user