from __future__ import annotations from datetime import UTC, datetime from uuid import uuid4 from schemas.messages.chat_message import AgentChatMessage def test_agent_chat_message_schema_matches_messages_columns() -> None: now = datetime.now(UTC) payload = { "id": uuid4(), "seq": 3, "role": "assistant", "content": "hello", "metadata": {"run_id": "run-1"}, "timestamp": now, } message = AgentChatMessage.model_validate(payload) assert message.seq == 3 assert message.role == "assistant" assert message.content == "hello" assert message.metadata is not None if isinstance(message.metadata, dict): assert message.metadata == {"run_id": "run-1"} else: assert message.metadata.model_dump(exclude_none=True) == {"run_id": "run-1"}