-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathtest_mail.py
98 lines (79 loc) · 3.28 KB
/
test_mail.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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
from flask import url_for
from tests.base import TestBaseCase
class MailTests(TestBaseCase):
def test_mail(self) -> None:
c = self.client
rv = c.post(
url_for('newsletter'),
data={'subject': 'test', 'body': 'test', 'recipient': []},
follow_redirects=True)
assert b'Newsletter send: 0' in rv.data
rv = c.post(
url_for('settings', category='mail'),
data={
'mail': True,
'mail_transport_username': 'whatever',
'mail_transport_host': 'localhost',
'mail_transport_port': '23',
'mail_from_email': '[email protected]',
'mail_from_name': 'Max Headroom',
'mail_recipients_feedback': '[email protected]'},
follow_redirects=True)
assert b'Max Headroom' in rv.data
rv = c.get(url_for('index_unsubscribe', code='666'))
assert b'invalid' in rv.data
rv = c.get(url_for('index_unsubscribe', code='123'))
assert b'You have successfully unsubscribed' in rv.data
rv = c.post(
url_for('admin_index'),
data={'receiver': '[email protected]'},
follow_redirects=True)
assert b'A test mail was sent' in rv.data
rv = c.get(url_for('newsletter'))
assert b'Newsletter' in rv.data
rv = c.post(
url_for('newsletter'),
data={
'subject': 'test',
'body': 'test',
'recipient': [self.alice_id]},
follow_redirects=True)
assert b'Newsletter send: 1' in rv.data
rv = c.get(url_for('index_feedback'))
assert b'Thank you' in rv.data
rv = c.post(
url_for('index_feedback'),
data={'subject': 'question', 'description': 'Why me?'},
follow_redirects=True)
assert b'Thank you for your feedback' in rv.data
rv = c.post(
url_for('user_insert'),
data={
'active': '',
'username': 'Ripley',
'email': '[email protected]',
'password': 'you_never_guess_this',
'password2': 'you_never_guess_this',
'group': 'admin',
'name': 'Ripley Weaver',
'real_name': '',
'description': '',
'send_info': True},
follow_redirects=True)
assert b'A user was created' in rv.data
rv = c.get(url_for('reset_password'))
assert b'Forgot your password?' not in rv.data
c.get(url_for('logout'))
rv = c.get(url_for('reset_confirm', code='6666'))
assert b'Invalid' in rv.data
rv = c.get(url_for('reset_confirm', code='123'), follow_redirects=True)
assert b'A new password was sent to' in rv.data
rv = c.get(url_for('reset_confirm', code='5678'))
assert b'expired' in rv.data
rv = c.post(
url_for('reset_password'),
data={'email': '[email protected]'},
follow_redirects=True)
assert b'password reset confirmation mail was send' in rv.data
rv = c.post(url_for('reset_password'), data={'email': '[email protected]'})
assert b'this email address is unknown to us' in rv.data