Files
agent-base/tests/test_models.py
2026-04-05 14:51:29 +08:00

58 lines
1.7 KiB
Python

from datetime import datetime, timezone
import pytest
from openclaw.models import Session, Message, ToolCall
@pytest.mark.django_db
class TestModelFields:
def test_session_creation(self):
s = Session.objects.create(
session_id="a" * 36,
agent_name="xingyao",
source_node="macmini",
status="active",
)
assert s.session_id == "a" * 36
assert s.total_tokens == 0
assert s.message_count == 0
def test_message_creation(self):
s = Session.objects.create(
session_id="b" * 36,
agent_name="test",
source_node="ubuntu1",
status="active",
)
msg = Message.objects.create(
session=s,
message_id="msg-001",
parent_id="root",
role="assistant",
timestamp=datetime(2026, 4, 5, 10, 0, tzinfo=timezone.utc),
)
assert msg.role == "assistant"
assert msg.tokens_total == 0
def test_toolcall_creation(self):
s = Session.objects.create(
session_id="c" * 36,
agent_name="test",
source_node="ubuntu2",
status="active",
)
msg = Message.objects.create(
session=s,
message_id="msg-002",
parent_id="root",
role="assistant",
timestamp=datetime(2026, 4, 5, 10, 0, tzinfo=timezone.utc),
)
tc = ToolCall.objects.create(
session=s,
message=msg,
tool_call_id="call_0",
tool_name="exec",
)
assert tc.tool_name == "exec"
assert tc.is_error is False