test(webui): cover OAuth kit missing errors

This commit is contained in:
Xubin Ren
2026-07-06 12:11:03 +08:00
parent 6a95877196
commit e725649146
+37
View File
@@ -1,5 +1,6 @@
from __future__ import annotations
import builtins
import json
from types import SimpleNamespace
@@ -880,6 +881,42 @@ def test_openai_codex_oauth_login_passes_configured_proxy(
assert captured == {"get_proxy": proxy, "login_proxy": proxy}
def test_openai_codex_oauth_login_reports_missing_oauth_cli_kit(
monkeypatch: pytest.MonkeyPatch,
) -> None:
real_import = builtins.__import__
def fake_import(name, *args, **kwargs):
if name == "oauth_cli_kit":
raise ImportError("missing")
return real_import(name, *args, **kwargs)
monkeypatch.setattr(builtins, "__import__", fake_import)
with pytest.raises(WebUISettingsError) as exc:
login_oauth_provider({"provider": ["openai-codex"]})
assert "oauth_cli_kit not installed. Run: pip install oauth-cli-kit" in str(exc.value)
def test_github_copilot_oauth_login_reports_missing_oauth_cli_kit(
monkeypatch: pytest.MonkeyPatch,
) -> None:
real_import = builtins.__import__
def fake_import(name, *args, **kwargs):
if name == "nanobot.providers.github_copilot_provider":
raise ImportError("missing")
return real_import(name, *args, **kwargs)
monkeypatch.setattr(builtins, "__import__", fake_import)
with pytest.raises(WebUISettingsError) as exc:
login_oauth_provider({"provider": ["github-copilot"]})
assert "oauth_cli_kit not installed. Run: pip install oauth-cli-kit" in str(exc.value)
def test_provider_models_payload_fetches_openai_compatible_models(
tmp_path,
monkeypatch: pytest.MonkeyPatch,