Files
forja/tests/unit/test_llm_mock.py
2026-05-23 16:44:45 +02:00

37 lines
1.1 KiB
Python

"""Tests del proveedor LLM mock determinista."""
import json
import pytest
from forja_core.llm.base import Message
from forja_core.llm.mock import MockProvider
@pytest.fixture
def provider() -> MockProvider:
return MockProvider()
async def test_mock_provider_es_determinista(provider: MockProvider) -> None:
msgs = [Message(role="user", content="caída registros SIP")]
r1 = await provider.complete(msgs)
r2 = await provider.complete(msgs)
assert r1.content == r2.content
async def test_mock_provider_devuelve_json_valido(provider: MockProvider) -> None:
msgs = [Message(role="user", content="degradación MOS pool SBC")]
r = await provider.complete(msgs)
parsed = json.loads(r.content)
assert "severity" in parsed
assert "proposed_actions" in parsed
assert isinstance(parsed["proposed_actions"], list)
async def test_mock_provider_respuesta_canonica_si_no_match(provider: MockProvider) -> None:
msgs = [Message(role="user", content="texto random sin patrón")]
r = await provider.complete(msgs)
parsed = json.loads(r.content)
assert parsed["severity"] in {"low", "medium", "high", "critical"}