Files
MeshChatX/tests/backend/test_lxmf_attachments.py
2026-01-05 11:47:35 -06:00

53 lines
1.4 KiB
Python

import json
from meshchatx.src.backend.meshchat_utils import message_fields_have_attachments
def test_message_fields_have_attachments():
# Empty or null fields
assert message_fields_have_attachments(None) is False
assert message_fields_have_attachments("") is False
assert message_fields_have_attachments("{}") is False
# Image attachment
assert message_fields_have_attachments(json.dumps({"image": "base64data"})) is True
# Audio attachment
assert message_fields_have_attachments(json.dumps({"audio": "base64data"})) is True
# File attachments - empty list
assert (
message_fields_have_attachments(json.dumps({"file_attachments": []})) is False
)
# File attachments - with files
assert (
message_fields_have_attachments(
json.dumps({"file_attachments": [{"file_name": "test.txt"}]}),
)
is True
)
# Invalid JSON
assert message_fields_have_attachments("invalid-json") is False
def test_message_fields_have_attachments_mixed():
# Both image and files
assert (
message_fields_have_attachments(
json.dumps(
{"image": "img", "file_attachments": [{"file_name": "test.txt"}]},
),
)
is True
)
# Unrelated fields
assert (
message_fields_have_attachments(
json.dumps({"title": "hello", "content": "world"}),
)
is False
)