def test_graphql_to_attachment_video(): data = { "__typename": "MessageVideo", "attribution_app": None, "attribution_metadata": None, "filename": "video-4321.mp4", "playable_url": "https://video-arn2-1.xx.fbcdn.net/v/video-4321.mp4", "chat_image": { "height": 96, "width": 168, "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/s168x128/1.jpg", }, "legacy_attachment_id": "1234", "video_type": "FILE_ATTACHMENT", "original_dimensions": { "x": 640, "y": 368 }, "playable_duration_in_ms": 6000, "large_image": { "height": 368, "width": 640, "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/2.jpg", }, "inbox_image": { "height": 260, "width": 452, "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/p261x260/3.jpg", }, } assert VideoAttachment( id="1234", width=None, height=None, duration=datetime.timedelta(seconds=6), preview_url="https://video-arn2-1.xx.fbcdn.net/v/video-4321.mp4", previews={ fbchat.Image( url="https://scontent-arn2-1.xx.fbcdn.net/v/s168x128/1.jpg", width=168, height=96, ), fbchat.Image( url="https://scontent-arn2-1.xx.fbcdn.net/v/p261x260/3.jpg", width=452, height=260, ), fbchat.Image( url="https://scontent-arn2-1.xx.fbcdn.net/v/2.jpg", width=640, height=368, ), }, ) == graphql_to_attachment(data)
def test_graphql_to_attachment_image2(): data = { "__typename": "MessageAnimatedImage", "attribution_app": None, "attribution_metadata": None, "filename": "gif-1234", "animated_image": { "uri": "https://cdn.fbsbx.com/v/1.gif", "height": 128, "width": 128, }, "legacy_attachment_id": "1234", "preview_image": { "uri": "https://cdn.fbsbx.com/v/1.gif", "height": 128, "width": 128, }, "original_dimensions": {"x": 128, "y": 128}, } assert ImageAttachment( uid="1234", original_extension="gif", width=None, height=None, is_animated=True, previews={ fbchat.Image(url="https://cdn.fbsbx.com/v/1.gif", width=128, height=128) }, ) == graphql_to_attachment(data)
def test_user_from_all_fetch(session): data = { "id": "1234", "name": "Abc Def Ghi", "firstName": "Abc", "vanity": "", "thumbSrc": "https://scontent-arn2-1.xx.fbcdn.net/v/...", "uri": "https://www.facebook.com/profile.php?id=1234", "gender": 1, "i18nGender": 2, "type": "friend", "is_friend": True, "mThumbSrcSmall": None, "mThumbSrcLarge": None, "dir": None, "searchTokens": ["Abc", "Ghi"], "alternateName": "", "is_nonfriend_messenger_contact": False, "is_blocked": False, } assert UserData( session=session, id="1234", photo=fbchat.Image(url="https://scontent-arn2-1.xx.fbcdn.net/v/..."), name="Abc Def Ghi", url="https://www.facebook.com/profile.php?id=1234", first_name="Abc", is_friend=True, gender="female_singular", ) == UserData._from_all_fetch(session, data)
def test_from_graphql_normal(): assert Sticker( uid="369239383222810", pack="227877430692340", is_animated=False, frames_per_row=1, frames_per_col=1, frame_rate=83, image=fbchat.Image( url="https://scontent-arn2-1.xx.fbcdn.net/v/redacted.png", width=274, height=274, ), label="Like, thumbs up", ) == Sticker._from_graphql( { "id": "369239383222810", "pack": {"id": "227877430692340"}, "label": "Like, thumbs up", "frame_count": 1, "frame_rate": 83, "frames_per_row": 1, "frames_per_column": 1, "sprite_image_2x": None, "sprite_image": None, "padded_sprite_image": None, "padded_sprite_image_2x": None, "url": "https://scontent-arn2-1.xx.fbcdn.net/v/redacted.png", "height": 274, "width": 274, } )
def test_user_from_graphql(session): data = { "id": "1234", "name": "Abc Def Ghi", "first_name": "Abc", "last_name": "Ghi", "profile_picture": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/..." }, "is_viewer_friend": True, "url": "https://www.facebook.com/profile.php?id=1234", "gender": "FEMALE", "viewer_affinity": 0.4560002, } assert UserData( session=session, id="1234", photo=fbchat.Image(url="https://scontent-arn2-1.xx.fbcdn.net/v/..."), name="Abc Def Ghi", url="https://www.facebook.com/profile.php?id=1234", first_name="Abc", last_name="Ghi", is_friend=True, gender="female_singular", affinity=0.4560002, color="#0084ff", ) == UserData._from_graphql(session, data)
def test_videoattachment_from_list(): data = { "__typename": "MessageVideo", "id": "bWVzc2...", "legacy_attachment_id": "1234", "image": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/t15.3394-10/p261x260/1.jpg" }, "image1": { "height": 368, "width": 640, "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/t15.3394-10/2.jpg", }, "image2": { "height": 368, "width": 640, "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/t15.3394-10/3.jpg", }, "original_dimensions": { "x": 640, "y": 368 }, } assert VideoAttachment( id="1234", width=640, height=368, previews={ fbchat.Image( url= "https://scontent-arn2-1.xx.fbcdn.net/v/t15.3394-10/p261x260/1.jpg" ), fbchat.Image( url="https://scontent-arn2-1.xx.fbcdn.net/v/t15.3394-10/2.jpg", width=640, height=368, ), fbchat.Image( url="https://scontent-arn2-1.xx.fbcdn.net/v/t15.3394-10/3.jpg", width=640, height=368, ), }, ) == VideoAttachment._from_list({"node": data})
def test_graphql_to_attachment_image1(): data = { "__typename": "MessageImage", "attribution_app": None, "attribution_metadata": None, "filename": "image-1234", "preview": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/1.png", "height": 128, "width": 128, }, "large_preview": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/1.png", "height": 128, "width": 128, }, "thumbnail": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/p50x50/2.png" }, "photo_encodings": [], "legacy_attachment_id": "1234", "original_dimensions": { "x": 128, "y": 128 }, "original_extension": "png", "render_as_sticker": False, "blurred_image_uri": None, } assert ImageAttachment( id="1234", original_extension="png", width=None, height=None, is_animated=False, previews={ fbchat.Image( url="https://scontent-arn2-1.xx.fbcdn.net/v/p50x50/2.png"), fbchat.Image( url="https://scontent-arn2-1.xx.fbcdn.net/v/1.png", width=128, height=128, ), }, ) == graphql_to_attachment(data)
def test_imageattachment_from_list(): data = { "__typename": "MessageImage", "id": "bWVzc2...", "legacy_attachment_id": "1234", "image": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/s261x260/1.jpg" }, "image1": { "height": 463, "width": 960, "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/2.jpg", }, "image2": { "height": 988, "width": 2048, "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/s2048x2048/3.jpg", }, "original_dimensions": { "x": 2833, "y": 1367 }, "photo_encodings": [], } assert ImageAttachment( id="1234", width=2833, height=1367, previews={ fbchat.Image( url="https://scontent-arn2-1.xx.fbcdn.net/v/s261x260/1.jpg"), fbchat.Image( url="https://scontent-arn2-1.xx.fbcdn.net/v/2.jpg", width=960, height=463, ), fbchat.Image( url="https://scontent-arn2-1.xx.fbcdn.net/v/s2048x2048/3.jpg", width=2048, height=988, ), }, ) == ImageAttachment._from_list({"node": data})
def test_share_from_graphql_link_with_image(): data = { "description": { "text": ("Create an account or log in to Facebook." " Connect with friends, family and other people you know." " Share photos and videos, send messages and get updates.") }, "media": { "animated_image": None, "image": { "uri": "https://www.facebook.com/rsrc.php/v3/x.png", "height": 325, "width": 325, }, "playable_duration_in_ms": 0, "is_playable": False, "playable_url": None, }, "source": None, "style_list": ["share", "fallback"], "title_with_entities": { "text": "Facebook – log in or sign up" }, "properties": [], "url": "http://facebook.com/", "deduplication_key": "deadbeef123", "action_links": [], "messaging_attribution": None, "messenger_call_to_actions": [], "xma_layout_info": None, "target": { "__typename": "ExternalUrl" }, "subattachments": [], } assert ShareAttachment( author=None, url="http://facebook.com/", original_url="http://facebook.com/", title="Facebook – log in or sign up", description=( "Create an account or log in to Facebook." " Connect with friends, family and other people you know." " Share photos and videos, send messages and get updates."), source=None, image=fbchat.Image(url="https://www.facebook.com/rsrc.php/v3/x.png", width=325, height=325), original_image_url="https://www.facebook.com/rsrc.php/v3/x.png", attachments=[], id="deadbeef123", ) == ShareAttachment._from_graphql(data)
def test_graphql_to_subattachment_video(): data = { "description": None, "media": { "animated_image": None, "image": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/t15.5256-10/p180x540/1.jpg", "height": 540, "width": 960, }, "playable_duration_in_ms": 24469, "is_playable": True, "playable_url": "https://video-arn2-1.xx.fbcdn.net/v/t42.9040-2/vid.mp4", }, "source": None, "style_list": [ "video_autoplay", "video_inline", "video", "games_app", "fallback", ], "title_with_entities": {"text": ""}, "properties": [ {"key": "can_autoplay_result", "value": {"text": "ugc_default_allowed"}} ], "url": "https://www.facebook.com/some-username/videos/1234/", "deduplication_key": "ddb7...", "action_links": [], "messaging_attribution": None, "messenger_call_to_actions": [], "xma_layout_info": None, "target": { "__typename": "Video", "video_id": "1234", "video_messenger_cta_payload": None, }, } assert VideoAttachment( uid="1234", duration=datetime.timedelta(seconds=24, microseconds=469000), preview_url="https://video-arn2-1.xx.fbcdn.net/v/t42.9040-2/vid.mp4", previews={ fbchat.Image( url="https://scontent-arn2-1.xx.fbcdn.net/v/t15.5256-10/p180x540/1.jpg", width=960, height=540, ) }, ) == graphql_to_subattachment(data)
def test_page_from_graphql(): data = { "id": "123456", "name": "Some school", "profile_picture": {"uri": "https://scontent-arn2-1.xx.fbcdn.net/v/..."}, "url": "https://www.facebook.com/some-school/", "category_type": "SCHOOL", "city": None, } assert Page( uid="123456", photo=fbchat.Image(url="https://scontent-arn2-1.xx.fbcdn.net/v/..."), name="Some school", url="https://www.facebook.com/some-school/", city=None, category="SCHOOL", ) == Page._from_graphql(data)
def test_from_graphql_animated(): assert Sticker( id="144885035685763", pack="350357561732812", is_animated=True, medium_sprite_image= "https://scontent-arn2-1.xx.fbcdn.net/v/redacted2.png", large_sprite_image="https://scontent-arn2-1.fbcdn.net/v/redacted3.png", frames_per_row=2, frames_per_col=2, frame_count=4, frame_rate=142, image=fbchat.Image( url="https://scontent-arn2-1.fbcdn.net/v/redacted1.png", width=240, height=293, ), label="Love, cat with heart", ) == Sticker._from_graphql({ "id": "144885035685763", "pack": { "id": "350357561732812" }, "label": "Love, cat with heart", "frame_count": 4, "frame_rate": 142, "frames_per_row": 2, "frames_per_column": 2, "sprite_image_2x": { "uri": "https://scontent-arn2-1.fbcdn.net/v/redacted3.png" }, "sprite_image": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/redacted2.png" }, "padded_sprite_image": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/unused1.png" }, "padded_sprite_image_2x": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/unused2.png" }, "url": "https://scontent-arn2-1.fbcdn.net/v/redacted1.png", "height": 293, "width": 240, })
def test_share_with_image_subattachment(): data = { "description": { "text": "Abc" }, "media": { "animated_image": None, "image": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/t1.0-9/1.jpg", "height": 960, "width": 720, }, "playable_duration_in_ms": 0, "is_playable": False, "playable_url": None, }, "source": { "text": "Def" }, "style_list": ["attached_story", "fallback"], "title_with_entities": { "text": "" }, "properties": [], "url": "https://www.facebook.com/groups/11223344/permalink/1234/", "deduplication_key": "deadbeef123", "action_links": [ { "title": None, "url": None }, { "title": None, "url": "https://www.facebook.com/groups/11223344/" }, { "title": "Report Post to Admin", "url": "https://www.facebook.com/groups/11223344/members/", }, ], "messaging_attribution": None, "messenger_call_to_actions": [], "xma_layout_info": None, "target": { "__typename": "Story", "title": None, "description": { "text": "Abc" }, "actors": [{ "__typename": "User", "name": "Def", "id": "1111", "short_name": "Def", "url": "https://www.facebook.com/some-user", "profile_picture": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/t1.0-1/c123.123.123.123a/s50x50/img.jpg", "height": 50, "width": 50, }, }], "to": { "__typename": "Group", "name": "Some group", "url": "https://www.facebook.com/groups/11223344/", }, "attachments": [{ "url": "https://www.facebook.com/photo.php?fbid=4321&set=gm.1234&type=3", "media": { "is_playable": False, "image": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/t1.0-9/1.jpg", "height": 960, "width": 720, }, }, }], "attached_story": None, }, "subattachments": [{ "description": { "text": "Abc" }, "media": { "animated_image": None, "image": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/t1.0-9/1.jpg", "height": 960, "width": 720, }, "playable_duration_in_ms": 0, "is_playable": False, "playable_url": None, }, "source": None, "style_list": ["photo", "games_app", "fallback"], "title_with_entities": { "text": "" }, "properties": [ { "key": "photoset_reference_token", "value": { "text": "gm.1234" } }, { "key": "layout_x", "value": { "text": "0" } }, { "key": "layout_y", "value": { "text": "0" } }, { "key": "layout_w", "value": { "text": "0" } }, { "key": "layout_h", "value": { "text": "0" } }, ], "url": "https://www.facebook.com/photo.php?fbid=4321&set=gm.1234&type=3", "deduplication_key": "deadbeef456", "action_links": [], "messaging_attribution": None, "messenger_call_to_actions": [], "xma_layout_info": None, "target": { "__typename": "Photo" }, }], } assert ShareAttachment( author="1111", url="https://www.facebook.com/groups/11223344/permalink/1234/", original_url="https://www.facebook.com/groups/11223344/permalink/1234/", title="", description="Abc", source="Def", image=fbchat.Image( url="https://scontent-arn2-1.xx.fbcdn.net/v/t1.0-9/1.jpg", width=720, height=960, ), original_image_url= "https://scontent-arn2-1.xx.fbcdn.net/v/t1.0-9/1.jpg", attachments=[None], id="deadbeef123", ) == ShareAttachment._from_graphql(data)
def test_user_from_thread_fetch(session): data = { "thread_key": { "thread_fbid": None, "other_user_id": "1234" }, "name": None, "last_message": { "nodes": [{ "snippet": "aaa", "message_sender": { "messaging_actor": { "id": "1234" } }, "timestamp_precise": "1500000000000", "commerce_message_type": None, "extensible_attachment": None, "sticker": None, "blob_attachments": [], }] }, "unread_count": 0, "messages_count": 1111, "image": None, "updated_time_precise": "1500000000000", "mute_until": None, "is_pin_protected": False, "is_viewer_subscribed": True, "thread_queue_enabled": False, "folder": "INBOX", "has_viewer_archived": False, "is_page_follow_up": False, "cannot_reply_reason": None, "ephemeral_ttl_mode": 0, "customization_info": { "emoji": None, "participant_customizations": [ { "participant_id": "4321", "nickname": "B" }, { "participant_id": "1234", "nickname": "A" }, ], "outgoing_bubble_color": None, }, "thread_admins": [], "approval_mode": None, "joinable_mode": { "mode": "0", "link": "" }, "thread_queue_metadata": None, "event_reminders": { "nodes": [] }, "montage_thread": None, "last_read_receipt": { "nodes": [{ "timestamp_precise": "1500000050000" }] }, "related_page_thread": None, "rtc_call_data": { "call_state": "NO_ONGOING_CALL", "server_info_data": "", "initiator": None, }, "associated_object": None, "privacy_mode": 1, "reactions_mute_mode": "REACTIONS_NOT_MUTED", "mentions_mute_mode": "MENTIONS_NOT_MUTED", "customization_enabled": True, "thread_type": "ONE_TO_ONE", "participant_add_mode_as_string": None, "is_canonical_neo_user": False, "participants_event_status": [], "page_comm_item": None, "all_participants": { "nodes": [ { "messaging_actor": { "id": "1234", "__typename": "User", "name": "Abc Def Ghi", "gender": "FEMALE", "url": "https://www.facebook.com/profile.php?id=1234", "big_image_src": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/..." }, "short_name": "Abc", "username": "", "is_viewer_friend": True, "is_messenger_user": True, "is_verified": False, "is_message_blocked_by_viewer": False, "is_viewer_coworker": False, "is_employee": None, } }, { "messaging_actor": { "id": "4321", "__typename": "User", "name": "Aaa Bbb Ccc", "gender": "NEUTER", "url": "https://www.facebook.com/aaabbbccc", "big_image_src": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/..." }, "short_name": "Aaa", "username": "******", "is_viewer_friend": False, "is_messenger_user": True, "is_verified": False, "is_message_blocked_by_viewer": False, "is_viewer_coworker": False, "is_employee": None, } }, ] }, "read_receipts":..., "delivery_receipts":..., } assert UserData( session=session, id="1234", photo=fbchat.Image(url="https://scontent-arn2-1.xx.fbcdn.net/v/..."), name="Abc Def Ghi", last_active=datetime.datetime(2017, 7, 14, 2, 40, tzinfo=datetime.timezone.utc), message_count=1111, url="https://www.facebook.com/profile.php?id=1234", first_name="Abc", is_friend=True, gender="female_singular", nickname="A", own_nickname="B", color="#0084ff", emoji=None, ) == UserData._from_thread_fetch(session, data)
def test_share_from_graphql_video(): data = { "description": { "text": ("Rick Astley's official music video for “Never Gonna Give You Up”" " Listen to Rick Astley: https://RickAstley.lnk.to/_listenYD" " Subscribe to the official Rick As...") }, "media": { "animated_image": None, "image": { "uri": ("https://external-arn2-1.xx.fbcdn.net/safe_image.php?d=xyz123" "&w=960&h=540&url=https%3A%2F%2Fi.ytimg.com%2Fvi%2FdQw4w9WgXcQ" "%2Fmaxresdefault.jpg&sx=0&sy=0&sw=1280&sh=720&_nc_hash=abc123" ), "height": 540, "width": 960, }, "playable_duration_in_ms": 0, "is_playable": True, "playable_url": "https://www.youtube.com/embed/dQw4w9WgXcQ?autoplay=1", }, "source": { "text": "youtube.com" }, "style_list": ["share", "fallback"], "title_with_entities": { "text": "Rick Astley - Never Gonna Give You Up (Video)" }, "properties": [ { "key": "width", "value": { "text": "1280" } }, { "key": "height", "value": { "text": "720" } }, ], "url": "https://l.facebook.com/l.php?u=https%3A%2F%2Fyoutu.be%2FdQw4w9WgXcQ", "deduplication_key": "ee.mid.$gAAT4Sw1WSGhzQ9uRWVtEpZHZ8ZPV", "action_links": [{ "title": "About this website", "url": None }], "messaging_attribution": None, "messenger_call_to_actions": [], "xma_layout_info": None, "target": { "__typename": "ExternalUrl" }, "subattachments": [], } assert ShareAttachment( author=None, url= "https://l.facebook.com/l.php?u=https%3A%2F%2Fyoutu.be%2FdQw4w9WgXcQ", original_url="https://youtu.be/dQw4w9WgXcQ", title="Rick Astley - Never Gonna Give You Up (Video)", description=( "Rick Astley's official music video for “Never Gonna Give You Up”" " Listen to Rick Astley: https://RickAstley.lnk.to/_listenYD" " Subscribe to the official Rick As..."), source="youtube.com", image=fbchat.Image( url="https://external-arn2-1.xx.fbcdn.net/safe_image.php?d=xyz123" "&w=960&h=540&url=https%3A%2F%2Fi.ytimg.com%2Fvi%2FdQw4w9WgXcQ" "%2Fmaxresdefault.jpg&sx=0&sy=0&sw=1280&sh=720&_nc_hash=abc123", width=960, height=540, ), original_image_url= "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg", attachments=[], id="ee.mid.$gAAT4Sw1WSGhzQ9uRWVtEpZHZ8ZPV", ) == ShareAttachment._from_graphql(data)
def test_share_with_video_subattachment(): data = { "description": { "text": "Abc" }, "media": { "animated_image": None, "image": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/t15.5256-10/p180x540/1.jpg", "height": 540, "width": 960, }, "playable_duration_in_ms": 24469, "is_playable": True, "playable_url": "https://video-arn2-1.xx.fbcdn.net/v/t42.9040-2/vid.mp4", }, "source": { "text": "Def" }, "style_list": ["attached_story", "fallback"], "title_with_entities": { "text": "" }, "properties": [], "url": "https://www.facebook.com/groups/11223344/permalink/1234/", "deduplication_key": "deadbeef123", "action_links": [ { "title": None, "url": None }, { "title": None, "url": "https://www.facebook.com/groups/11223344/" }, { "title": None, "url": None }, { "title": "A watch party is currently playing this video.", "url": None }, ], "messaging_attribution": None, "messenger_call_to_actions": [], "xma_layout_info": None, "target": { "__typename": "Story", "title": None, "description": { "text": "Abc" }, "actors": [{ "__typename": "User", "name": "Def", "id": "1111", "short_name": "Def", "url": "https://www.facebook.com/some-user", "profile_picture": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/t1.0-1/c1.0.50.50a/p50x50/profile.jpg", "height": 50, "width": 50, }, }], "to": { "__typename": "Group", "name": "Some group", "url": "https://www.facebook.com/groups/11223344/", }, "attachments": [{ "url": "https://www.facebook.com/some-user/videos/2222/", "media": { "is_playable": True, "image": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/t15.5256-10/p180x540/1.jpg", "height": 540, "width": 960, }, }, }], "attached_story": None, }, "subattachments": [{ "description": None, "media": { "animated_image": None, "image": { "uri": "https://scontent-arn2-1.xx.fbcdn.net/v/t15.5256-10/p180x540/1.jpg", "height": 540, "width": 960, }, "playable_duration_in_ms": 24469, "is_playable": True, "playable_url": "https://video-arn2-1.xx.fbcdn.net/v/t42.9040-2/vid.mp4", }, "source": None, "style_list": [ "video_autoplay", "video_inline", "video", "games_app", "fallback", ], "title_with_entities": { "text": "" }, "properties": [{ "key": "can_autoplay_result", "value": { "text": "ugc_default_allowed" }, }], "url": "https://www.facebook.com/some-user/videos/2222/", "deduplication_key": "deadbeef456", "action_links": [], "messaging_attribution": None, "messenger_call_to_actions": [], "xma_layout_info": None, "target": { "__typename": "Video", "video_id": "2222", "video_messenger_cta_payload": None, }, }], } assert ShareAttachment( author="1111", url="https://www.facebook.com/groups/11223344/permalink/1234/", original_url="https://www.facebook.com/groups/11223344/permalink/1234/", title="", description="Abc", source="Def", image=fbchat.Image( url= "https://scontent-arn2-1.xx.fbcdn.net/v/t15.5256-10/p180x540/1.jpg", width=960, height=540, ), original_image_url= "https://scontent-arn2-1.xx.fbcdn.net/v/t15.5256-10/p180x540/1.jpg", attachments=[ fbchat.VideoAttachment( id="2222", duration=datetime.timedelta(seconds=24, microseconds=469000), preview_url= "https://video-arn2-1.xx.fbcdn.net/v/t42.9040-2/vid.mp4", previews={ fbchat.Image( url= "https://scontent-arn2-1.xx.fbcdn.net/v/t15.5256-10/p180x540/1.jpg", width=960, height=540, ) }, ) ], id="deadbeef123", ) == ShareAttachment._from_graphql(data)
def test_location_attachment_from_graphql(): data = { "description": { "text": "" }, "media": { "animated_image": None, "image": { "uri": "https://external-arn2-1.xx.fbcdn.net/static_map.php?v=1020&osm_provider=2&size=545x280&zoom=15&markers=55.40000000%2C12.43220000&language=en", "height": 280, "width": 545, }, "playable_duration_in_ms": 0, "is_playable": False, "playable_url": None, }, "source": None, "style_list": ["message_location", "fallback"], "title_with_entities": { "text": "Your location" }, "properties": [ { "key": "width", "value": { "text": "545" } }, { "key": "height", "value": { "text": "280" } }, ], "url": "https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.bing.com%2Fmaps%2Fdefault.aspx%3Fv%3D2%26pc%3DFACEBK%26mid%3D8100%26where1%3D55.4%252C%2B12.4322%26FORM%3DFBKPL1%26mkt%3Den-GB&h=a&s=1", "deduplication_key": "400828513928715", "action_links": [], "messaging_attribution": None, "messenger_call_to_actions": [], "xma_layout_info": None, "target": { "__typename": "MessageLocation" }, "subattachments": [], } assert LocationAttachment( uid=400828513928715, latitude=55.4, longitude=12.4322, image=fbchat.Image( url= "https://external-arn2-1.xx.fbcdn.net/static_map.php?v=1020&osm_provider=2&size=545x280&zoom=15&markers=55.40000000%2C12.43220000&language=en", width=545, height=280, ), url= "https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.bing.com%2Fmaps%2Fdefault.aspx%3Fv%3D2%26pc%3DFACEBK%26mid%3D8100%26where1%3D55.4%252C%2B12.4322%26FORM%3DFBKPL1%26mkt%3Den-GB&h=a&s=1", ) == LocationAttachment._from_graphql(data)