Files
2026-07-13 12:28:42 +08:00

95 lines
1.9 KiB
Python

from pathlib import Path
from webwright.run.doctor import (
check_chromium,
check_openai_key,
check_playwright,
check_plugin_manifests,
check_python,
check_screenshot,
)
def test_check_python():
ok, message = check_python()
assert isinstance(ok, bool)
assert isinstance(message, str)
def test_check_playwright():
ok, message = check_playwright()
assert isinstance(ok, bool)
assert isinstance(message, str)
def test_check_chromium():
ok, message = check_chromium()
assert isinstance(ok, bool)
assert isinstance(message, str)
def test_check_screenshot():
ok, message = check_screenshot()
assert isinstance(ok, bool)
assert isinstance(message, str)
def test_check_openai_key_exists(monkeypatch):
monkeypatch.setenv("OPENAI_API_KEY", "test-key")
ok, message = check_openai_key()
assert ok is True
assert "found" in message
def test_check_openai_key_missing(monkeypatch):
monkeypatch.delenv("OPENAI_API_KEY", raising=False)
ok, message = check_openai_key()
assert ok is False
assert "missing" in message
def test_plugin_manifests_exist(tmp_path, monkeypatch):
monkeypatch.chdir(tmp_path)
claude_dir = tmp_path / ".claude-plugin"
codex_dir = tmp_path / ".codex-plugin"
claude_dir.mkdir()
codex_dir.mkdir()
(claude_dir / "plugin.json").write_text("{}")
(codex_dir / "plugin.json").write_text("{}")
ok, message = check_plugin_manifests()
assert ok is True
assert "found" in message
def test_plugin_manifests_missing(tmp_path, monkeypatch):
monkeypatch.chdir(tmp_path)
ok, message = check_plugin_manifests()
assert ok is False
assert "missing" in message
def test_screenshot_file_cleanup():
screenshot_path = Path("doctor_test.png")
if screenshot_path.exists():
screenshot_path.unlink()
check_screenshot()
assert not screenshot_path.exists()