Esempio n. 1
0
 def verify_request_args(method, url, headers, data, params):
     assert method == 'POST'
     assert url == (
         'https://api.layer.com/apps/TEST_APP_UUID/'
         'conversations/f3cc7b32-3c92-11e4-baad-164230d1df67/content'
     )
     assert headers == {
         'Accept': 'application/vnd.layer+json; version=1.0',
         'Authorization': 'Bearer TEST_BEARER_TOKEN',
         'Content-Type': 'application/json',
         'Upload-Content-Type': 'image/jpeg',
         'Upload-Content-Length': 23,
         # No support of the upload origin yet
         # 'Upload-Origin': 'http://mydomain.com'
     }
     assert data is None
     return MockRequestResponse(
         True,
         {
             "id": "layer:///content/TEST_RICH_CONTENT_UUID",
             "size": 23,
             "upload_url": "someuploadurl",
             "download_url": None,
             "refresh_url": None,
             "expiration": None
         },
     )
Esempio n. 2
0
        def verify_request_args(method, url, headers, data, params):
            assert method == 'POST'
            assert url == (
                'https://api.layer.com/apps/TEST_APP_UUID/conversations'
                '/f3cc7b32-3c92-11e4-baad-164230d1df67/messages')
            assert headers == {
                'Accept': 'application/vnd.layer+json; version=1.0',
                'Authorization': 'Bearer TEST_BEARER_TOKEN',
                'Content-Type': 'application/json',
            }
            json_data = json.loads(data)
            assert json_data == {
                'parts': [
                    {
                        'mime_type': 'image/jpeg',
                        'content': {
                            'id': 'layer:///content/TEST_CONTENT_UUID',
                            'size': 23,
                        }
                    },
                ],
                'sender': {
                    'user_id': 'alice',
                }
            }

            return MockRequestResponse(
                True,
                {
                    'id': 'layer:///messages/TEST_MESSAGE_UUID',
                    'url': 'layer:///messages/TEST_MESSAGE_UUID',
                    'conversation': conversation.as_dict(),
                },
            )
Esempio n. 3
0
        def verify_request_args(method, url, headers, data):
            assert method == 'POST'
            assert url == (
                'https://api.layer.com/apps/TEST_APP_UUID/announcements')
            assert headers == {
                'Accept': 'application/vnd.layer+json; version=1.0',
                'Authorization': 'Bearer TEST_BEARER_TOKEN',
                'Content-Type': 'application/json',
            }
            json_data = json.loads(data)
            assert json_data == {
                'recipients':
                recipients,
                'parts': [{
                    'body': 'Top secret message',
                    'mime_type': 'text/confidential',
                }],
                'sender': {
                    'name': 'Alice',
                }
            }

            return MockRequestResponse(
                True,
                {
                    'id': 'layer:///messages/TEST_MESSAGE_UUID',
                    'url': 'layer:///messages/TEST_MESSAGE_UUID',
                },
            )
Esempio n. 4
0
        def verify_request_args(method, url, headers, data, params):
            assert method == 'POST'
            assert url == (
                'https://api.layer.com/apps/TEST_APP_UUID/conversations')
            assert headers == {
                'Accept': 'application/vnd.layer+json; version=1.0',
                'Authorization': 'Bearer TEST_BEARER_TOKEN',
                'Content-Type': 'application/json',
            }
            json_data = json.loads(data)
            assert json_data == {
                'participants': 'TEST_CONVERSATION_UUID',
                'metadata': {
                    'Topic': 'A coffee conversation',
                    'Background': '#C0FFEE',
                },
                'distinct': False,
            }

            return MockRequestResponse(
                True,
                {
                    'id': 'layer:///conversation/TEST_CONVERSATION_UUID',
                    'url': 'layer:///conversation/TEST_CONVERSATION_UUID',
                },
            )
Esempio n. 5
0
 def return_sample_response(method, url, headers, data):
     return MockRequestResponse(
         False,
         json={
             'message': 'Operation not supported',
             'code': 40,
             'id': 23,
         },
         status_code=401,
     )
Esempio n. 6
0
 def return_sample_response(method, url, headers, data, params):
     return MockRequestResponse(
         True,
         {
             "id": "layer:///content/TEST_RICH_CONTENT_UUID",
             "size": 23,
             "upload_url": "someuploadurl",
             "download_url": None,
             "refresh_url": None,
             "expiration": None
         },
     )
        def verify_request_args(method, url, headers, data, params):
            assert method == "DELETE"
            assert url == ("https://api.layer.com/apps/TEST_APP_UUID/"
                           "conversations/TEST_CONVERSATION_UUID")
            assert headers == {
                'Accept': 'application/vnd.layer+json; version=1.0',
                'Authorization': 'Bearer TEST_BEARER_TOKEN',
                'Content-Type': 'application/json',
            }
            assert data is None

            return MockRequestResponse(True, {})
Esempio n. 8
0
 def return_sample_response(method, url, headers, data):
     return MockRequestResponse(
         True,
         {
             'id': (
                 'layer:///messages/'
                 '940de862-3c96-11e4-baad-164230d1df67'
             ),
             'url': (
                 'https://api.layer.com/apps/'
                 '24f43c32-4d95-11e4-b3a2-0fd00000020d/messages/'
                 '940de862-3c96-11e4-baad-164230d1df67'
             ),
             'conversation': {
                 'id': (
                     'layer:///conversations/'
                     'f3cc7b32-3c92-11e4-baad-164230d1df67'
                 ),
                 'url': (
                     'https://api.layer.com/apps/'
                     '24f43c32-4d95-11e4-b3a2-0fd00000020d'
                     '/conversations/'
                     'f3cc7b32-3c92-11e4-baad-164230d1df67'
                 ),
             },
             'parts': [
                 {
                     'mime_type': 'image/jpeg',
                     'content': {
                         'id': 'layer:///content/TEST_CONTENT_UUID',
                         'size': 23,
                         'download_url': 'some download url',
                         'refresh_url': 'some refresh url',
                         'expiration': '2014-09-10T04:44:47+00:00'
                     }
                 }
             ],
             'sent_at': '2014-09-09T04:44:47+00:00',
             'sender': {
                 'name': 't-bone',
                 'user_id': None
             },
             'recipient_status': {
                 '777': 'sent',
                 '999': 'sent',
                 '111': 'sent'
             }
         },
     )
Esempio n. 9
0
        def verify_request_args(method, url, headers, data):
            assert method == "POST"
            assert url == ("https://api.layer.com/apps/TEST_APP_UUID/"
                           "messages/TEST_MESSAGE_UUID/receipts")
            assert headers == {
                'Accept': 'application/vnd.layer+json; version=1.0',
                'Authorization': 'Bearer TEST_BEARER_TOKEN',
                'Content-Type': 'application/json',
            }
            json_data = json.loads(data)
            assert json_data == {
                'type': 'read',
            }

            return MockRequestResponse(True, {})
Esempio n. 10
0
 def return_sample_response(method, url, headers, data):
     return MockRequestResponse(
         True,
         {
             'id': (
                 'layer:///messages/'
                 '940de862-3c96-11e4-baad-164230d1df67'
             ),
             'url': (
                 'https://api.layer.com/apps/'
                 '24f43c32-4d95-11e4-b3a2-0fd00000020d/messages/'
                 '940de862-3c96-11e4-baad-164230d1df67'
             ),
             'conversation': {
                 'id': (
                     'layer:///conversations/'
                     'f3cc7b32-3c92-11e4-baad-164230d1df67'
                 ),
                 'url': (
                     'https://api.layer.com/apps/'
                     '24f43c32-4d95-11e4-b3a2-0fd00000020d'
                     '/conversations/'
                     'f3cc7b32-3c92-11e4-baad-164230d1df67'
                 ),
             },
             'parts': [
                 {
                     'body': 'Hello, World!',
                     'mime_type': 'text/plain'
                 },
                 {
                     'body': 'YW55IGNhcm5hbCBwbGVhc3VyZQ==',
                     'mime_type': 'image/jpeg',
                     'encoding': 'base64'
                 }
             ],
             'sent_at': '2014-09-09T04:44:47+00:00',
             'sender': {
                 'name': 't-bone',
                 'user_id': None
             },
             'recipient_status': {
                 '777': 'sent',
                 '999': 'sent',
                 '111': 'sent'
             }
         },
     )
Esempio n. 11
0
        def verify_request_args(method, url, headers, data):
            assert method == 'POST'
            assert url == (
                'https://api.layer.com/apps/TEST_APP_UUID/conversations'
                '/f3cc7b32-3c92-11e4-baad-164230d1df67/messages'
            )
            assert headers == {
                'Accept': 'application/vnd.layer+json; version=1.0',
                'Authorization': 'Bearer TEST_BEARER_TOKEN',
                'Content-Type': 'application/json',
             }
            json_data = json.loads(data)
            assert json_data == {
                'parts': [
                    {
                        'body': 'Top secret message',
                        'mime_type': 'text/confidential',
                    },
                ],
                'sender': {
                    'user_id': 'alice',
                },
                'notification': {
                    'text': 'You have a new message!',
                    'sound': 'foo.wav',
                    'recipients': {
                        'bob': {
                            'sound': None,
                            'text': 'Message for Bob!',
                        },
                    },
                },
            }

            return MockRequestResponse(
                True,
                {
                    'id': 'layer:///messages/TEST_MESSAGE_UUID',
                    'url': 'layer:///messages/TEST_MESSAGE_UUID',
                    'conversation': conversation.as_dict(),
                },
            )
Esempio n. 12
0
 def return_sample_response(method, url, headers, data):
     return MockRequestResponse(
         True,
         {
             'id': ('layer:///announcements/'
                    'f3cc7b32-3c92-11e4-baad-164230d1df67'),
             'url':
             ('https://api.layer.com/apps/'
              '24f43c32-4d95-11e4-b3a2-0fd00000020d/announcements'
              '/f3cc7b32-3c92-11e4-baad-164230d1df67'),
             'sent_at':
             '2014-09-15T04:44:47+00:00',
             'recipients': ['bob', 'charlie'],
             'sender': {
                 'name': 'Alice',
                 'user_id': None
             },
             'parts': [{
                 'body': 'Hello, World!',
                 'mime_type': 'text/plain'
             }]
         },
     )
Esempio n. 13
0
 def return_sample_response(method, url, headers, data):
     return MockRequestResponse(
         False,
         text='Internal server error',
         status_code=500,
     )