bugfix: oci_openai provider

This commit is contained in:
2026-08-27 20:30:27 -03:00
parent 42ab000c7b
commit df2a1cbe1b
470 changed files with 28831 additions and 125 deletions

View File

@@ -0,0 +1,60 @@
import pytest
from agent_framework.guardrails.rails import ComplianceRail
@pytest.mark.asyncio
async def test_cmp_accepts_expected_protocol_directly_even_when_regex_misses_markdown_distance():
rail = ComplianceRail()
text = (
"[FaturasAgent] Entendido. Seu aceite foi registrado e o protocolo de atendimento "
"foi aberto com o número **1234567890**."
)
decision = await rail.evaluate(
text,
{
"tipo_fluxo": "ajuste",
"expected_protocols": ["1234567890"],
},
)
assert decision.allowed is True
assert decision.sanitized_text is None
assert decision.metadata["protocol_validation"] == "expected_values"
assert decision.metadata["expected_protocols"] == ["1234567890"]
@pytest.mark.asyncio
async def test_cmp_does_not_accept_a_different_protocol_when_expected_value_is_known():
rail = ComplianceRail()
text = "Seu protocolo é 9999999999."
decision = await rail.evaluate(
text,
{
"requer_protocolo": True,
"expected_protocols": ["1234567890"],
},
)
assert decision.allowed is True
assert decision.sanitized_text is not None
assert "um dois três quatro cinco seis sete oito nove zero" in decision.sanitized_text
assert decision.metadata["missing_protocols_spoken"] == [
"um dois três quatro cinco seis sete oito nove zero"
]
assert decision.metadata["protocol_validation"] == "expected_values"
@pytest.mark.asyncio
async def test_cmp_keeps_regex_compatibility_when_expected_protocols_are_unavailable():
rail = ComplianceRail()
decision = await rail.evaluate(
"Seu protocolo é 1234567890.",
{"requer_protocolo": True},
)
assert decision.allowed is True
assert decision.metadata["protocol_validation"] == "generic_regex"