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.parse_status == "pending"