python3: accept byte content from django.template.response.TemplateResponse (#40012)

This commit is contained in:
Nicolas Roche 2020-02-19 16:44:22 +01:00
parent 9ef19058c8
commit 926b32ed80
1 changed files with 10 additions and 8 deletions

View File

@ -11,6 +11,8 @@ import socket
import threading
from django.core.exceptions import ValidationError
from django.utils.encoding import force_text
from hobo.emails.validators import validate_email_address
@ -98,28 +100,28 @@ def test_invalid_address(client, admin_user):
client.post('/login/', {'username': 'admin', 'password': 'password'})
response = client.post('/emails/', {'default_from_email': 'foobar'})
assert response.status_code == 200
assert 'Enter a valid email address' in response.content
assert 'Enter a valid email address' in force_text(response.content)
def test_unkown_address(client, admin_user, dns_resolver, smtp_server):
client.post('/login/', {'username': 'admin', 'password': 'password'})
response = client.post('/emails/', {'default_from_email': 'john.doe@unknown.com'})
assert response.status_code == 200
assert 'Email address not found' in response.content
assert 'Email address not found' in force_text(response.content)
def test_kown_address_nospf(client, admin_user, dns_resolver, smtp_server):
client.post('/login/', {'username': 'admin', 'password': 'password'})
response = client.post('/emails/', {'default_from_email': 'john.doe@example.com'}, follow=True)
assert response.status_code == 200
assert 'Emails settings have been updated. It will take a few seconds to be effective.' in response.content
assert 'Emails settings have been updated. It will take a few seconds to be effective.' in force_text(response.content)
def test_spf_allow_all_mail(client, admin_user, dns_resolver, smtp_server, settings):
client.post('/login/', {'username': 'admin', 'password': 'password'})
response = client.post('/emails/', {'default_from_email': 'john.doe@example-spf-allow-all.com'}, follow=True)
assert response.status_code == 200
assert 'Emails settings have been updated. It will take a few seconds to be effective.' in response.content
assert 'Emails settings have been updated. It will take a few seconds to be effective.' in force_text(response.content)
def test_invalid_spf(client, admin_user, dns_resolver, smtp_server, settings):
@ -127,7 +129,7 @@ def test_invalid_spf(client, admin_user, dns_resolver, smtp_server, settings):
client.post('/login/', {'username': 'admin', 'password': 'password'})
response = client.post('/emails/', {'default_from_email': 'john.doe@example-invalid-spf.com'})
assert response.status_code == 200
assert 'No suitable SPF record found' in response.content
assert 'No suitable SPF record found' in force_text(response.content)
def test_strict_nospf(client, admin_user, dns_resolver, smtp_server, monkeypatch, settings):
@ -136,7 +138,7 @@ def test_strict_nospf(client, admin_user, dns_resolver, smtp_server, monkeypatch
client.post('/login/', {'username': 'admin', 'password': 'password'})
response = client.post('/emails/', {'default_from_email': 'john.doe@example.com'}, follow=True)
assert response.status_code == 200
assert 'No suitable SPF record found' in response.content
assert 'No suitable SPF record found' in force_text(response.content)
def test_valid_spf(client, admin_user, dns_resolver, smtp_server, settings):
@ -144,7 +146,7 @@ def test_valid_spf(client, admin_user, dns_resolver, smtp_server, settings):
client.post('/login/', {'username': 'admin', 'password': 'password'})
response = client.post('/emails/', {'default_from_email': 'john.doe@example-spf.com'}, follow=True)
assert response.status_code == 200
assert 'Emails settings have been updated. It will take a few seconds to be effective.' in response.content
assert 'Emails settings have been updated. It will take a few seconds to be effective.' in force_text(response.content)
def test_no_spf_validation(client, admin_user, dns_resolver, smtp_server, settings):
@ -152,4 +154,4 @@ def test_no_spf_validation(client, admin_user, dns_resolver, smtp_server, settin
client.post('/login/', {'username': 'admin', 'password': 'password'})
response = client.post('/emails/', {'default_from_email': 'john.doe@example-invalid-spf.com'}, follow=True)
assert response.status_code == 200
assert 'Emails settings have been updated. It will take a few seconds to be effective.' in response.content
assert 'Emails settings have been updated. It will take a few seconds to be effective.' in force_text(response.content)