Skip to content

Commit 92ce5cc

Browse files
author
marcel corso gonzalez
authored
Merge pull request #56 from kcroxford-mb/ON-333-python-recording-delete
voice_recording_delete added
2 parents 2d76aba + ee3b28b commit 92ce5cc

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

messagebird/client.py

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

163163
params = locals()
164164
del (params['self'])
165-
return Call().load(self.request('calls', 'POST', params, VOICE_TYPE))
165+
return Call().load(self.request('calls/', 'POST', params, VOICE_TYPE))
166166

167167
def call_delete(self, id):
168168
"""Delete an existing call object."""
@@ -449,6 +449,10 @@ def voice_recording_view(self, call_id, leg_id, recording_id):
449449
recording_response['data'][0]['_links'] = recording_links
450450
return VoiceRecording().load(recording_response['data'][0])
451451

452+
def voice_recording_delete(self, call_id, leg_id, recording_id):
453+
uri = self.generate_voice_calls_url(call_id=call_id, leg_id=leg_id) + '/' + str(recording_id)
454+
recording_response = self.request(uri, 'DELETE', None, VOICE_TYPE)
455+
452456
def voice_recording_download(self, call_id, leg_id, recording_id):
453457
uri = self.generate_voice_calls_url(call_id=call_id, leg_id=leg_id) + '/' + str(recording_id)
454458
recording_response = self.request(uri, 'GET')

tests/test_call.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ def test_call_create(self):
149149

150150
call_creation_response = Client('', http_client).call_create(**params)
151151

152-
http_client.request.assert_called_once_with('calls', 'POST', params)
152+
http_client.request.assert_called_once_with('calls/', 'POST', params)
153153

154154
# check all api response data is outputted
155155
expected_data = self.create_expected_call_data_based_on_api_response(api_response)

tests/test_voice_recording.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,15 @@ def test_voice_recording_list(self):
6666
self.assertEqual(2, len(item._links))
6767
self.assertIsInstance(str(voice_recordings), str)
6868

69+
def test_voice_recording_delete(self):
70+
http_client = Mock()
71+
http_client.request.return_value = ''
72+
call_id = '12348765-4321-0987-6543-210987654321'
73+
leg_id = '87654321-0987-6543-2109-876543210987'
74+
recording_id = '12345678-9012-3456-7890-123456789012'
75+
Client('', http_client).voice_recording_delete(call_id, leg_id, recording_id)
76+
http_client.request.assert_called_once_with('https://voice.messagebird.com/calls/%s/legs/%s/recordings/%s' % (call_id, leg_id, recording_id), 'DELETE', None)
77+
6978
def test_voice_recording_download(self):
7079
http_client = Mock()
7180
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)