Skip to content

Commit f0bdf0e

Browse files
author
marcel corso gonzalez
authored
Merge pull request #54 from sokalauvalery/master
filter by status parameter added to list sms method
2 parents af22005 + 3f8ea2c commit f0bdf0e

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

messagebird/client.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,18 @@ def message(self, id):
193193
"""Retrieve the information of a specific message."""
194194
return Message().load(self.request('messages/' + str(id)))
195195

196-
def message_list(self, limit=20, offset=0):
197-
"""Retrieve a list of the most recent messages."""
196+
def message_list(self, limit=20, offset=0, status=None):
197+
"""Retrieve a list of the most recent messages.
198+
199+
Args:
200+
limit(int) : The page limit.
201+
offset(int) : The page to list.
202+
status(str) : Message status filter(scheduled, sent, buffered, delivered, expired or delivery_failed)
203+
Returns:
204+
MessageList(object) : The List of the message requested."""
198205
query = self._format_query(limit, offset)
206+
if status:
207+
query = query + "&status=" + status
199208
return MessageList().load(self.request('messages?' + query))
200209

201210
def message_create(self, originator, recipients, body, params=None):

tests/test_message.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,11 @@ def test_message_list(self):
6666
self.assertEqual(2, message_list.totalCount)
6767
self.assertEqual('https://rest.messagebird.com/messages/?offset=0', message_list.links.first)
6868
self.assertEqual('https://rest.messagebird.com/messages/first-message-id', message_list.items[0].href)
69+
70+
def test_scheduled_message_list(self):
71+
http_client = Mock()
72+
http_client.request.return_value = '{"offset": 0,"limit": 20,"count": 2,"totalCount": 2,"links": {"first": "https://rest.messagebird.com/messages/?offset=0","previous": null,"next": null,"last": "https://rest.messagebird.com/messages/?offset=0"},"items": []}'
73+
74+
message_list = Client('', http_client).message_list(20, 0, "scheduled")
75+
76+
http_client.request.assert_called_once_with('messages?limit=20&offset=0&status=scheduled', 'GET', None)

0 commit comments

Comments
 (0)