Files
full-stack-fastapi/backend/tests/mqtt/test_models.py
魏风 e8846f4831
All checks were successful
Deploy to Production / deploy (push) Successful in 4m55s
refactor: simplify mqtt pipeline state and remove event table
2026-03-19 22:23:36 +08:00

23 lines
682 B
Python

from sqlmodel import Session, SQLModel, create_engine
from app.models import TerminalMessageRaw
def test_terminal_message_raw_model_can_persist() -> None:
engine = create_engine("sqlite://")
SQLModel.metadata.create_all(engine)
with Session(engine) as session:
row = TerminalMessageRaw(
device_id="device-001",
topic="terminal/device-001/raw",
payload_bytes=b"$GPGGA,123519,3723.2475,N,12158.3416,W,1,12,0.8,10.0,M,-25.0,M,,*65\r\n",
)
session.add(row)
session.commit()
session.refresh(row)
assert row.id is not None
assert row.parsed_at is None
assert row.parse_error is None