def test_new_message_user(session): data = { "attachments": [], "body": "test", "irisSeqId": "1111111", "irisTags": ["DeltaNewMessage"], "messageMetadata": { "actorFbId": "1234", "folderId": {"systemFolderId": "INBOX"}, "messageId": "mid.$XYZ", "offlineThreadingId": "11223344556677889900", "skipBumpThread": False, "skipSnippetUpdate": False, "tags": ["source:messenger:web"], "threadKey": {"otherUserFbId": "1234"}, "threadReadStateEffect": "KEEP_AS_IS", "timestamp": "1600000000000", }, "requestContext": {"apiArgs": {}}, "class": "NewMessage", } assert MessageEvent( author=User(session=session, id="1234"), thread=User(session=session, id="1234"), message=MessageData( thread=User(session=session, id="1234"), id="mid.$XYZ", author="1234", text="test", created_at=datetime.datetime( 2020, 9, 13, 12, 26, 40, tzinfo=datetime.timezone.utc ), ), at=datetime.datetime(2020, 9, 13, 12, 26, 40, tzinfo=datetime.timezone.utc), ) == parse_delta(session, data)
def test_message_get_forwarded_from_tags(): assert not MessageData._get_forwarded_from_tags(None) assert not MessageData._get_forwarded_from_tags(["hot_emoji_size:unknown"]) assert MessageData._get_forwarded_from_tags( ["attachment:photo", "inbox", "sent", "source:chat:forward", "tq"] )
def test_message_reply(session): message = { "messageMetadata": { "threadKey": { "otherUserFbId": 1234 }, "messageId": "mid.$XYZ", "offlineThreadingId": "112233445566", "actorFbId": 1234, "timestamp": 1500000000000, "tags": ["source:messenger:web", "cg-enabled", "sent", "inbox"], "threadReadStateEffect": 3, "skipBumpThread": False, "skipSnippetUpdate": False, "unsendType": "can_unsend", "folderId": { "systemFolderId": 0 }, }, "body": "xyz", "attachments": [], "irisSeqId": 1111111, "messageReply": { "replyToMessageId": { "id": "mid.$ABC" }, "status": 0, }, "requestContext": { "apiArgs": "..." }, "irisTags": ["DeltaNewMessage"], } reply = { "messageMetadata": { "threadKey": { "otherUserFbId": 1234 }, "messageId": "mid.$ABC", "offlineThreadingId": "665544332211", "actorFbId": 4321, "timestamp": 1600000000000, "tags": ["inbox", "sent", "source:messenger:web"], }, "body": "abc", "attachments": [], "requestContext": { "apiArgs": "..." }, "irisTags": [], } data = { "message": message, "repliedToMessage": reply, "status": 0, } thread = User(session=session, id="1234") assert MessageReplyEvent( author=User(session=session, id="1234"), thread=thread, message=MessageData( thread=thread, id="mid.$XYZ", author="1234", created_at=datetime.datetime(2017, 7, 14, 2, 40, tzinfo=datetime.timezone.utc), text="xyz", reply_to_id="mid.$ABC", ), replied_to=MessageData( thread=thread, id="mid.$ABC", author="4321", created_at=datetime.datetime(2020, 9, 13, 12, 26, 40, tzinfo=datetime.timezone.utc), text="abc", ), ) == parse_client_delta(session, {"deltaMessageReply": data})