95 |
95 |
|
96 |
96 |
|
97 |
97 |
def test_invalid_address(client, admin_user):
|
98 |
|
client.post('/login/', {'username': 'admin', 'password': 'password'})
|
|
98 |
client.post('/login/', {'username': 'admin', 'password': 'admin'})
|
99 |
99 |
response = client.post('/emails/', {'default_from_email': 'foobar'})
|
100 |
100 |
assert response.status_code == 200
|
101 |
101 |
assert 'Enter a valid email address' in response.content
|
102 |
102 |
|
103 |
103 |
|
104 |
104 |
def test_unkown_address(client, admin_user, dns_resolver, smtp_server):
|
105 |
|
client.post('/login/', {'username': 'admin', 'password': 'password'})
|
|
105 |
client.post('/login/', {'username': 'admin', 'password': 'admin'})
|
106 |
106 |
response = client.post('/emails/', {'default_from_email': 'john.doe@unknown.com'})
|
107 |
107 |
assert response.status_code == 200
|
108 |
108 |
assert 'Email address not found' in response.content
|
109 |
109 |
|
110 |
110 |
|
111 |
111 |
def test_kown_address_nospf(client, admin_user, dns_resolver, smtp_server):
|
112 |
|
client.post('/login/', {'username': 'admin', 'password': 'password'})
|
|
112 |
client.post('/login/', {'username': 'admin', 'password': 'admin'})
|
113 |
113 |
response = client.post('/emails/', {'default_from_email': 'john.doe@example.com'}, follow=True)
|
114 |
114 |
assert response.status_code == 200
|
115 |
115 |
assert 'Emails settings have been updated. It will take a few seconds to be effective.' in response.content
|
116 |
116 |
|
117 |
117 |
|
118 |
118 |
def test_spf_allow_all_mail(client, admin_user, dns_resolver, smtp_server, settings):
|
119 |
|
client.post('/login/', {'username': 'admin', 'password': 'password'})
|
|
119 |
client.post('/login/', {'username': 'admin', 'password': 'admin'})
|
120 |
120 |
response = client.post('/emails/', {'default_from_email': 'john.doe@example-spf-allow-all.com'}, follow=True)
|
121 |
121 |
assert response.status_code == 200
|
122 |
122 |
assert 'Emails settings have been updated. It will take a few seconds to be effective.' in response.content
|
... | ... | |
124 |
124 |
|
125 |
125 |
def test_invalid_spf(client, admin_user, dns_resolver, smtp_server, settings):
|
126 |
126 |
settings.ALLOWED_SPF_RECORDS = ['include:example.com']
|
127 |
|
client.post('/login/', {'username': 'admin', 'password': 'password'})
|
|
127 |
client.post('/login/', {'username': 'admin', 'password': 'admin'})
|
128 |
128 |
response = client.post('/emails/', {'default_from_email': 'john.doe@example-invalid-spf.com'})
|
129 |
129 |
assert response.status_code == 200
|
130 |
130 |
assert 'No suitable SPF record found' in response.content
|
... | ... | |
133 |
133 |
def test_strict_nospf(client, admin_user, dns_resolver, smtp_server, monkeypatch, settings):
|
134 |
134 |
settings.ALLOWED_SPF_RECORDS = ['include:allowed_mx.com']
|
135 |
135 |
monkeypatch.setattr('hobo.emails.validators.validate_email_spf.__defaults__', (True,))
|
136 |
|
client.post('/login/', {'username': 'admin', 'password': 'password'})
|
|
136 |
client.post('/login/', {'username': 'admin', 'password': 'admin'})
|
137 |
137 |
response = client.post('/emails/', {'default_from_email': 'john.doe@example.com'}, follow=True)
|
138 |
138 |
assert response.status_code == 200
|
139 |
139 |
assert 'No suitable SPF record found' in response.content
|
... | ... | |
141 |
141 |
|
142 |
142 |
def test_valid_spf(client, admin_user, dns_resolver, smtp_server, settings):
|
143 |
143 |
settings.ALLOWED_SPF_RECORDS = ['include:allowed_mx.com']
|
144 |
|
client.post('/login/', {'username': 'admin', 'password': 'password'})
|
|
144 |
client.post('/login/', {'username': 'admin', 'password': 'admin'})
|
145 |
145 |
response = client.post('/emails/', {'default_from_email': 'john.doe@example-spf.com'}, follow=True)
|
146 |
146 |
assert response.status_code == 200
|
147 |
147 |
assert 'Emails settings have been updated. It will take a few seconds to be effective.' in response.content
|
... | ... | |
149 |
149 |
|
150 |
150 |
def test_no_spf_validation(client, admin_user, dns_resolver, smtp_server, settings):
|
151 |
151 |
settings.ALLOWED_SPF_RECORDS = []
|
152 |
|
client.post('/login/', {'username': 'admin', 'password': 'password'})
|
|
152 |
client.post('/login/', {'username': 'admin', 'password': 'admin'})
|
153 |
153 |
response = client.post('/emails/', {'default_from_email': 'john.doe@example-invalid-spf.com'}, follow=True)
|
154 |
154 |
assert response.status_code == 200
|
155 |
155 |
assert 'Emails settings have been updated. It will take a few seconds to be effective.' in response.content
|