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 }, )
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(), }, )
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', }, )
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', }, )
def return_sample_response(method, url, headers, data): return MockRequestResponse( False, json={ 'message': 'Operation not supported', 'code': 40, 'id': 23, }, status_code=401, )
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, {})
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' } }, )
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, {})
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' } }, )
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(), }, )
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' }] }, )
def return_sample_response(method, url, headers, data): return MockRequestResponse( False, text='Internal server error', status_code=500, )