This commit is contained in:
JacksonWu 2026-09-23 14:39:52 +00:00 • committed by GitHub
commit 1a8d82bd3c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 0 deletions

View file

@ -1332,6 +1332,8 @@ class ApplyGuardrailResponse(BaseModel):
class PatchGuardrailRequest(BaseModel):
model_config = ConfigDict(extra="forbid")
guardrail_name: str | None = None
litellm_params: BaseLitellmParams | None = None
guardrail_info: dict[str, object] | None = None

View file

@ -80,6 +80,21 @@ MOCK_PATCH_REQUEST = PatchGuardrailRequest(
)
def test_patch_guardrail_request_rejects_create_body_shape():
"""Do not silently accept the nested POST /guardrails request body."""
from pydantic import ValidationError
with pytest.raises(ValidationError, match="extra_forbidden"):
PatchGuardrailRequest.model_validate(
{
"guardrail": {
"guardrail_name": "nested-name",
"litellm_params": {},
}
}
)
@pytest.fixture
def mock_prisma_client(mocker):
"""Mock Prisma client for testing"""