Skip to content

Commit 21a2f12

Browse files
authored
Merge pull request #28 from arjenzijlstra/add-message-delete
Added message_delete for text messages.
2 parents 81cfc0c + 7427024 commit 21a2f12

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

messagebird/client.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ def message_create(self, originator, recipients, body, params=None):
8888
params.update({ 'originator' : originator, 'body' : body, 'recipients' : recipients })
8989
return Message().load(self.request('messages', 'POST', params))
9090

91+
def message_delete(self, id):
92+
"""Delete a message from the dashboard."""
93+
self.request_plain_text('messages/' + str(id), 'DELETE')
94+
9195
def voice_message(self, id):
9296
"Retrieve the information of a specific voice message."
9397
return VoiceMessage().load(self.request('voicemessages/' + str(id)))

tests/test_message.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import unittest
2-
from messagebird import Client
2+
from messagebird import Client, ErrorException
33

44
try:
55
from unittest.mock import Mock
@@ -28,3 +28,20 @@ def test_message_create(self):
2828
Client('', http_client).message_create('MessageBird', ['31612345678', '31687654321'], 'Hello World', {'datacoding': 'unicode'})
2929

3030
http_client.request.assert_called_once_with('messages', 'POST', {'datacoding': 'unicode', 'originator': 'MessageBird', 'body': 'Hello World', 'recipients': '31612345678,31687654321' })
31+
32+
def test_message_delete(self):
33+
http_client = Mock()
34+
http_client.request.return_value = '{}'
35+
36+
Client('', http_client).message_delete('message-id')
37+
38+
http_client.request.assert_called_once_with('messages/message-id', 'DELETE', None)
39+
40+
def test_message_delete_invalid(self):
41+
http_client = Mock()
42+
http_client.request.return_value = '{"errors": [{"code": 20, "description": "message not found", "parameter": null}]}'
43+
44+
with self.assertRaises(ErrorException):
45+
Client('', http_client).message_delete('non-existent-message-id')
46+
47+
http_client.request.assert_called_once_with('messages/non-existent-message-id', 'DELETE', None)

0 commit comments

Comments
 (0)