27 lines
736 B
Python
27 lines
736 B
Python
from __future__ import annotations
|
|
|
|
import argparse
|
|
import json
|
|
|
|
import pytest
|
|
|
|
import pyro_mcp.doctor as doctor_module
|
|
|
|
|
|
def test_doctor_main_prints_json(
|
|
monkeypatch: pytest.MonkeyPatch,
|
|
capsys: pytest.CaptureFixture[str],
|
|
) -> None:
|
|
class StubParser:
|
|
def parse_args(self) -> argparse.Namespace:
|
|
return argparse.Namespace(platform="linux-x86_64")
|
|
|
|
monkeypatch.setattr(doctor_module, "_build_parser", lambda: StubParser())
|
|
monkeypatch.setattr(
|
|
doctor_module,
|
|
"doctor_report",
|
|
lambda platform: {"platform": platform, "runtime_ok": True, "issues": []},
|
|
)
|
|
doctor_module.main()
|
|
output = json.loads(capsys.readouterr().out)
|
|
assert output["runtime_ok"] is True
|