hermes-agent/tests/acp/test_auth.py

45 lines
1.8 KiB
Python

"""Tests for acp_adapter.auth — provider detection."""
import pytest
from acp_adapter.auth import has_provider, detect_provider
class TestHasProvider:
def test_has_provider_with_openrouter_key(self, monkeypatch):
monkeypatch.delenv("ANTHROPIC_API_KEY", raising=False)
monkeypatch.delenv("OPENAI_API_KEY", raising=False)
monkeypatch.setenv("OPENROUTER_API_KEY", "sk-or-test")
assert has_provider() is True
def test_has_provider_with_anthropic_key(self, monkeypatch):
monkeypatch.delenv("OPENROUTER_API_KEY", raising=False)
monkeypatch.delenv("OPENAI_API_KEY", raising=False)
monkeypatch.setenv("ANTHROPIC_API_KEY", "sk-ant-test")
assert has_provider() is True
def test_has_no_provider(self, monkeypatch):
monkeypatch.delenv("OPENROUTER_API_KEY", raising=False)
monkeypatch.delenv("ANTHROPIC_API_KEY", raising=False)
monkeypatch.delenv("OPENAI_API_KEY", raising=False)
assert has_provider() is False
class TestDetectProvider:
def test_detect_openrouter_first(self, monkeypatch):
monkeypatch.setenv("OPENROUTER_API_KEY", "sk-or-test")
monkeypatch.setenv("ANTHROPIC_API_KEY", "sk-ant-test")
assert detect_provider() == "openrouter"
def test_detect_anthropic_when_no_openrouter(self, monkeypatch):
monkeypatch.delenv("OPENROUTER_API_KEY", raising=False)
monkeypatch.setenv("ANTHROPIC_API_KEY", "sk-ant-test")
monkeypatch.delenv("OPENAI_API_KEY", raising=False)
assert detect_provider() == "anthropic"
def test_detect_none_when_empty(self, monkeypatch):
monkeypatch.delenv("OPENROUTER_API_KEY", raising=False)
monkeypatch.delenv("ANTHROPIC_API_KEY", raising=False)
monkeypatch.delenv("OPENAI_API_KEY", raising=False)
assert detect_provider() is None