Files
Gov-chat-bot/backend/tests/test_providers.py
2026-03-26 12:49:43 +09:00

41 lines
1.4 KiB
Python

import pytest
from app.providers.llm import NullLLMProvider
from app.providers.embedding import NotImplementedEmbeddingProvider
from app.providers import get_llm_provider, get_embedding_provider
@pytest.mark.asyncio
async def test_null_llm_provider_returns_none():
"""NullLLMProvider().generate(...) == None."""
provider = NullLLMProvider()
result = await provider.generate("system", "user", [])
assert result is None
def test_get_llm_provider_none_config():
"""get_llm_provider({'LLM_PROVIDER':'none'}) == NullLLMProvider 인스턴스."""
provider = get_llm_provider({"LLM_PROVIDER": "none"})
assert isinstance(provider, NullLLMProvider)
def test_get_llm_provider_unknown_raises():
"""get_llm_provider({'LLM_PROVIDER':'xyz'}) → ValueError."""
with pytest.raises(ValueError):
get_llm_provider({"LLM_PROVIDER": "xyz"})
@pytest.mark.asyncio
async def test_not_implemented_embedding_raises_on_embed():
"""NotImplementedEmbeddingProvider().embed(['test']) → NotImplementedError."""
provider = NotImplementedEmbeddingProvider()
with pytest.raises(NotImplementedError):
await provider.embed(["test"])
@pytest.mark.asyncio
async def test_not_implemented_embedding_warmup_is_noop():
""".warmup() 호출 시 예외 없이 통과."""
provider = NotImplementedEmbeddingProvider()
await provider.warmup() # 예외 없어야 함