Ejemplo n.º 1
0
def test_user_status_unblocked(session):
    data = {
        "threadKey": {
            "otherUserFbId": 1234
        },
        "canViewerReply": True,
        "reason": 2,
        "actorFbid": 1234,
    }
    assert UserStatusEvent(
        author=User(session=session, id="1234"),
        thread=User(session=session, id="1234"),
        blocked=False,
    ) == parse_client_delta(session, {"deltaChangeViewerStatus": data})
Ejemplo n.º 2
0
def test_reaction_event_removed(session):
    data = {
        "threadKey": {
            "threadFbId": 1234
        },
        "messageId": "mid.$XYZ",
        "action": 1,
        "userId": 4321,
        "senderId": 4321,
        "offlineThreadingId": "6623586106713014836",
    }
    thread = Group(session=session, id="1234")
    assert ReactionEvent(
        author=User(session=session, id="4321"),
        thread=thread,
        message=Message(thread=thread, id="mid.$XYZ"),
        reaction=None,
    ) == parse_client_delta(session, {"deltaMessageReaction": data})
Ejemplo n.º 3
0
def test_reaction_event_added(session):
    data = {
        "threadKey": {
            "otherUserFbId": 1234
        },
        "messageId": "mid.$XYZ",
        "action": 0,
        "userId": 4321,
        "reaction": "😍",
        "senderId": 4321,
        "offlineThreadingId": "6623596674408921967",
    }
    thread = User(session=session, id="1234")
    assert ReactionEvent(
        author=User(session=session, id="4321"),
        thread=thread,
        message=Message(thread=thread, id="mid.$XYZ"),
        reaction="😍",
    ) == parse_client_delta(session, {"deltaMessageReaction": data})
Ejemplo n.º 4
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})
Ejemplo n.º 5
0
def test_parse_client_delta_unknown(session):
    assert UnknownEvent(source="client payload",
                        data={"abc":
                              10}) == parse_client_delta(session, {"abc": 10})