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)
Beispiel #2
0
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"]
    )
Beispiel #3
0
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})