fix: Can not blank conversation ID validation in chat payloads (#29436)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
This commit is contained in:
-LAN-
2025-12-11 09:47:10 +08:00
committed by GitHub
parent 2d496e7e08
commit b4afc7e435
3 changed files with 40 additions and 3 deletions

View File

@@ -0,0 +1,25 @@
import uuid
import pytest
from pydantic import ValidationError
from controllers.service_api.app.completion import ChatRequestPayload
def test_chat_request_payload_accepts_blank_conversation_id():
payload = ChatRequestPayload.model_validate({"inputs": {}, "query": "hello", "conversation_id": ""})
assert payload.conversation_id is None
def test_chat_request_payload_validates_uuid():
conversation_id = str(uuid.uuid4())
payload = ChatRequestPayload.model_validate({"inputs": {}, "query": "hello", "conversation_id": conversation_id})
assert payload.conversation_id == conversation_id
def test_chat_request_payload_rejects_invalid_uuid():
with pytest.raises(ValidationError):
ChatRequestPayload.model_validate({"inputs": {}, "query": "hello", "conversation_id": "invalid"})