Skip to content

Commit 0d5411d

Browse files
Keith CroxfordKeith Croxford
authored andcommitted
added delete capabilities to the SDK. Tests also added
1 parent bcb9b03 commit 0d5411d

2 files changed

Lines changed: 22 additions & 1 deletion

File tree

messagebird/client.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ def call_create(self, source, destination, callFlow, webhook):
171171

172172
params = locals()
173173
del (params['self'])
174-
return Call().load(self.request('calls', 'POST', params, VOICE_TYPE))
174+
return Call().load(self.request('calls/', 'POST', params, VOICE_TYPE))
175175

176176
def call_delete(self, id):
177177
"""Delete an existing call object."""
@@ -447,6 +447,10 @@ def voice_recording_view(self, call_id, leg_id, recording_id):
447447
recording_response['data'][0]['_links'] = recording_links
448448
return VoiceRecording().load(recording_response['data'][0])
449449

450+
def voice_recording_delete(self, call_id, leg_id, recording_id):
451+
uri = self.generate_voice_calls_url(call_id=call_id, leg_id=leg_id) + '/' + str(recording_id)
452+
recording_response = self.request(uri, 'DELETE', None , VOICE_TYPE)
453+
450454
def voice_recording_download(self, call_id, leg_id, recording_id):
451455
uri = self.generate_voice_calls_url(call_id=call_id, leg_id=leg_id) + '/' + str(recording_id)
452456
recording_response = self.request(uri, 'GET')

tests/test_voice_recording.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,23 @@ def test_voice_recording_list(self):
7272
self.assertEqual(2, len(item._links))
7373
self.assertIsInstance(str(voice_recordings), str)
7474

75+
def test_voice_recording_delete(self):
76+
http_client = Mock()
77+
http_client.request.return_value = ''
78+
call_id = '12348765-4321-0987-6543-210987654321',
79+
leg_id = '87654321-0987-6543-2109-876543210987'
80+
recording_id = '12345678-9012-3456-7890-123456789012'
81+
Client('', http_client).voice_recording_delete(call_id,
82+
leg_id,
83+
recording_id)
84+
http_client.request.assert_called_once_with(
85+
'https://voice.messagebird.com/calls/%s/legs/%s/recordings/%s' % (
86+
call_id,
87+
leg_id,
88+
recording_id
89+
) , 'DELETE', None)
90+
91+
7592
def test_voice_recording_download(self):
7693
http_client = Mock()
7794
http_client.request.return_value = '{"data":null,"errors":[{"message":"No recording found for ID `00000000-0000-0000-0000-000000000000`.","code":13}],"pagination":{"totalCount":0,"pageCount":0,"currentPage":0,"perPage":0}}'

0 commit comments

Comments
 (0)