Skip to content

Commit fb6d652

Browse files
authored
Merge pull request #38 from Multimo/fix/grow-1103-add-delete-method
added method to delete Validation objects
2 parents b679fb4 + a54ec0a commit fb6d652

File tree

3 files changed

+57
-1
lines changed

3 files changed

+57
-1
lines changed

examples/verify_delete.py

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import sys, os
2+
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
3+
4+
import messagebird
5+
6+
# ACCESS_KEY = ''
7+
# VERIFY_ID = ''
8+
9+
try:
10+
ACCESS_KEY
11+
except NameError:
12+
print('You need to set an ACCESS_KEY constant in this file')
13+
sys.exit(1)
14+
15+
try:
16+
VERIFY_ID
17+
except NameError:
18+
print('You need to set a VERIFY_ID constant in this file')
19+
sys.exit(1)
20+
21+
try:
22+
# Create a MessageBird client with the specified ACCESS_KEY.
23+
client = messagebird.Client(ACCESS_KEY)
24+
25+
# Delete a Verification object.
26+
client.verify_delete(VERIFY_ID)
27+
28+
except messagebird.client.ErrorException as e:
29+
print('\nAn error occured while requesting a Verify object:\n')
30+
31+
for error in e.errors:
32+
print(' code : %d' % error.code)
33+
print(' description : %s' % error.description)
34+
print(' parameter : %s\n' % error.parameter)

messagebird/client.py

+4
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,10 @@ def verify_verify(self, id, token):
183183
"""Verify the token of a specific verification."""
184184
return Verify().load(self.request('verify/' + str(id), params={'token': token}))
185185

186+
def verify_delete(self, id):
187+
"""Delete an existing verification object."""
188+
self.request_plain_text('verify/' + str(id), 'DELETE')
189+
186190
def contact(self, id):
187191
"""Retrieve the information of a specific contact."""
188192
return Contact().load(self.request('contacts/' + str(id)))

tests/test_verify.py

+19-1
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
@@ -38,3 +38,21 @@ def test_verify_verify(self):
3838
http_client.request.assert_called_once_with('verify/verify-id', 'GET', {'token': 'secret'})
3939

4040
self.assertEqual('verified', verify.status)
41+
42+
def test_verify_delete(self):
43+
http_client = Mock()
44+
http_client.request.return_value = ''
45+
46+
Client('', http_client).verify_delete('31612345678')
47+
48+
http_client.request.assert_called_once_with('verify/31612345678', 'DELETE', None)
49+
50+
def test_verify_delete_invalid(self):
51+
http_client = Mock()
52+
http_client.request.return_value = '{"errors": [{"code": 20,"description": "verification id not found","parameter": null}]}'
53+
54+
with self.assertRaises(ErrorException):
55+
Client('', http_client).verify_delete('non-existent-verify-id')
56+
57+
http_client.request.assert_called_once_with('verify/non-existent-verify-id', 'DELETE', None)
58+

0 commit comments

Comments
 (0)