forked from apilayer/emailpie
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtests.py
71 lines (48 loc) · 1.98 KB
/
tests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
from gevent import monkey
monkey.patch_all()
import unittest
from emailpie import utils
from emailpie.spelling import correct
from emailpie.throttle import should_be_throttled, reset_throttle
class TestParse(unittest.TestCase):
def test_good_email(self):
validator = utils.EmailChecker('bryan@bryanhelmig.com')
errors = validator.validate()
self.assertFalse(errors)
def test_good_plus_email(self):
validator = utils.EmailChecker('bryan+merica@bryanhelmig.com')
errors = validator.validate()
self.assertFalse(errors)
def test_invalid_email(self):
validator = utils.EmailChecker('sdahjsdfh.asdofh')
errors = validator.validate()
self.assertTrue(errors)
def test_double_invalid_email(self):
validator = utils.EmailChecker('sdahjsdfh@@sssss')
errors = validator.validate()
self.assertTrue(errors)
def test_invalid_mx_email(self):
validator = utils.EmailChecker('bryan@example.com')
errors = validator.validate()
self.assertTrue(errors)
def test_invalid_domain(self):
validator = utils.EmailChecker('bryan@asdahsdfgasdfgyadfiuyadsfguy.com')
errors = validator.validate()
self.assertTrue(errors)
def test_mispelled_domain(self):
validator = utils.EmailChecker('bryan@gnail.con')
self.assertEquals('bryan@gmail.com', validator.didyoumean())
class SpellingTest(unittest.TestCase):
def test_simple_mispell(self):
self.assertEquals('gmail', correct('gnail'))
self.assertEquals('yahoo', correct('uahoo'))
self.assertEquals('sakjfh', correct('sakjfh'))
self.assertEquals('guess', correct('guess'))
class ThrottleTest(unittest.TestCase):
def test_throttle(self):
for x in range(100):
self.assertFalse(should_be_throttled('mykey'))
self.assertTrue(should_be_throttled('mykey', LIMIT=50))
reset_throttle('mykey')
if __name__ == '__main__':
unittest.main()