mirror of
https://github.com/jkingsman/Remote-Terminal-for-MeshCore.git
synced 2026-03-28 17:43:05 +01:00
35 lines
1.0 KiB
Python
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()
|