45 lines
1.8 KiB
Python
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
|