Skip to content

Commit a00b2f0

Browse files
committed
Merge branch 'release/3.0.0'
2 parents e23b187 + 5296ce9 commit a00b2f0

File tree

5 files changed

+28
-19
lines changed

5 files changed

+28
-19
lines changed

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
include VERSION

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ response.id
7171

7272
# you can optionally pass in a callback url that we'll POST to when the
7373
# batch is complete.
74-
response = client.batch(emails, callback_url='https://emailable.com/')
74+
response = client.batch(emails, {'callback_url': 'https://emailable.com/'})
7575
```
7676

7777
#### Get the status / results of a batch

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.1.0
1+
3.0.0

emailable/client.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,11 @@ def verify(self, email, smtp=True, accept_all=False, timeout=None):
2424
url = self.base_url + 'verify'
2525
return self.__request('get', url, options)
2626

27-
def batch(self, emails, callback_url=None, simulate=None):
27+
def batch(self, emails, params={}):
2828
options = {
2929
'params': {
30-
'api_key': self.api_key,
31-
'url': callback_url,
32-
'simulate': simulate
30+
**{'api_key': self.api_key},
31+
**params
3332
},
3433
'json': {
3534
'emails': emails

tests/test_client.py

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
class TestClient(TestCase):
66
def setUp(self):
77
self.client = emailable.Client('test_7aff7fc0142c65f86a00')
8-
self.response = self.client.verify('[email protected]')
9-
time.sleep(0.25)
8+
time.sleep(0.5)
109

1110
def test_invalid_api_key(self):
1211
client = emailable.Client('test_7aff7fc0141c65f86a00')
@@ -25,7 +24,8 @@ def test_missing_api_key(self):
2524
)
2625

2726
def test_verify_returns_response(self):
28-
self.assertIsInstance(self.response, emailable.Response)
27+
response = self.client.verify('[email protected]')
28+
self.assertIsInstance(response, emailable.Response)
2929

3030
def test_verification_role(self):
3131
response = self.client.verify('[email protected]')
@@ -36,26 +36,35 @@ def test_verification_deliverable(self):
3636
self.assertEqual(response.state, 'deliverable')
3737

3838
def test_verification_tag(self):
39-
self.assertEqual(self.response.tag, 'tag')
39+
response = self.client.verify('[email protected]')
40+
self.assertEqual(response.tag, 'tag')
4041

4142
def test_verification_name_and_gender(self):
43+
response = self.client.verify('[email protected]')
4244
# name and gender checks only get run for certain verification states
43-
if self.response.state in ['deliverable', 'risky', 'unknown']:
44-
self.assertEqual(self.response.first_name, 'John')
45-
self.assertEqual(self.response.last_name, 'Doe')
46-
self.assertEqual(self.response.full_name, 'John Doe')
47-
self.assertEqual(self.response.gender, 'male')
45+
if response.state in ['deliverable', 'risky', 'unknown']:
46+
self.assertEqual(response.first_name, 'John')
47+
self.assertEqual(response.last_name, 'Doe')
48+
self.assertEqual(response.full_name, 'John Doe')
49+
self.assertEqual(response.gender, 'male')
4850
else:
49-
self.assertIsNone(self.response.first_name)
50-
self.assertIsNone(self.response.last_name)
51-
self.assertIsNone(self.response.full_name)
52-
self.assertIsNone(self.response.gender)
51+
self.assertIsNone(response.first_name)
52+
self.assertIsNone(response.last_name)
53+
self.assertIsNone(response.full_name)
54+
self.assertIsNone(response.gender)
5355

5456
def test_batch_creation(self):
5557
response = self.client.batch(
5658
5759
)
5860
self.assertIsNotNone(response.id)
61+
62+
def test_batch_creation_with_params(self):
63+
with self.assertRaises(emailable.error.ClientError):
64+
self.client.batch(
65+
66+
{'callback_url': '[email protected]', 'simulate': 'generic_error'}
67+
)
5968

6069
def test_batch_status(self):
6170
response = self.client.batch(

0 commit comments

Comments
 (0)