Files
agentforge/tests/unit/test_domain_guardrail.py
T

36 lines
918 B
Python

"""Tests del modelo GuardrailViolation."""
from datetime import UTC, datetime
from uuid import uuid4
import pytest
from pydantic import ValidationError
from agentforge_core.domain.guardrail import GuardrailViolation
def test_guardrail_violation_minimo_valido() -> None:
v = GuardrailViolation(
trace_id=uuid4(),
timestamp=datetime.now(UTC),
stage="input",
validator="DetectPII",
severity="block",
message="DNI detectado",
blocked=True,
)
assert v.blocked is True
def test_guardrail_violation_rechaza_severity_invalido() -> None:
with pytest.raises(ValidationError):
GuardrailViolation(
trace_id=uuid4(),
timestamp=datetime.now(UTC),
stage="input",
validator="x",
severity="critical", # type: ignore[arg-type]
message="x",
blocked=True,
)