"""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"}