Files
Remote-Terminal-for-MeshCore/tests/test_message_prefix_claim.py

35 lines
1.0 KiB
Python

"""Tests for prefix-claiming DM messages."""
import pytest
from app.repository import ContactRepository, MessageRepository
@pytest.mark.asyncio
async def test_claim_prefix_promotes_dm_to_full_key(test_db):
full_key = "a1b2c3d3ba9f5fa8705b9845fe11cc6f01d1d49caaf4d122ac7121663c5beec7"
prefix = full_key[:6].upper()
# Create the contact so the claim safety check (exactly 1 contact matches prefix) passes
await ContactRepository.upsert({"public_key": full_key, "name": "Test"})
msg_id = await MessageRepository.create(
msg_type="PRIV",
text="hello",
conversation_key=prefix,
sender_timestamp=123,
received_at=123,
)
assert msg_id is not None
updated = await MessageRepository.claim_prefix_messages(full_key)
assert updated == 1
messages = await MessageRepository.get_all(
msg_type="PRIV",
conversation_key=full_key,
limit=10,
)
assert len(messages) == 1
assert messages[0].conversation_key == full_key.lower()