python3: enforce text type on django's HttpResponse.content (#32450)

This commit is contained in:
Paul Marillonnet 2019-04-10 15:30:19 +02:00
parent f63bd36159
commit 1bbe769778
2 changed files with 8 additions and 6 deletions

View File

@ -28,6 +28,7 @@ from django.test.utils import override_settings
from django.core.serializers.json import DjangoJSONEncoder
from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType
from django.utils.encoding import force_text
from django.utils.translation import ugettext as _
from django.utils.six import text_type
from django.utils.six.moves.urllib import parse as urlparse
@ -515,7 +516,7 @@ class APITest(TestCase):
activation_url = get_link_from_mail(mail.outbox[-1])
response = client.get(activation_url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
assert utils.make_url(return_url, params={'token': token}) in response.content
assert utils.make_url(return_url, params={'token': token}) in force_text(response.content)
self.assertEqual(User.objects.count(), user_count + 1)
response = client.get(reverse('auth_homepage'))
self.assertContains(response, username)
@ -642,7 +643,7 @@ class APITest(TestCase):
activation_url = get_link_from_mail(activation_mail1)
response = client.get(activation_url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
assert utils.make_url(return_url, params={'token': token}) in response.content
assert utils.make_url(return_url, params={'token': token}) in force_text(response.content)
self.assertEqual(User.objects.count(), user_count + 1)
response = client.get(reverse('auth_homepage'))
self.assertContains(response, username)
@ -766,7 +767,7 @@ class APITest(TestCase):
activation_url = get_link_from_mail(activation_mail1)
response = client.get(activation_url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
assert utils.make_url(return_url, params={'token': token}) in response.content
assert utils.make_url(return_url, params={'token': token}) in force_text(response.content)
self.assertEqual(User.objects.count(), user_count + 1)
response = client.get(reverse('auth_homepage'))
self.assertContains(response, username)

View File

@ -17,6 +17,7 @@
from django.contrib.auth import get_user_model
from django.test.client import RequestFactory, Client
from django.test.utils import override_settings
from django.utils.encoding import force_text
from django.utils.six.moves.urllib import parse as urlparse
@ -85,7 +86,7 @@ class CasTests(Authentic2TestCase):
client = Client()
response = client.get('/idp/cas/login')
self.assertEqual(response.status_code, 400)
self.assertIn('no service', response.content)
self.assertIn('no service', force_text(response.content))
response = client.get('/idp/cas/login', {constants.SERVICE_PARAM: 'http://google.com/'})
self.assertRedirectsComplex(response, 'http://google.com/')
response = client.get('/idp/cas/login', {constants.SERVICE_PARAM: self.URL,
@ -110,7 +111,7 @@ class CasTests(Authentic2TestCase):
response = client.post(location, {'login-password-submit': '',
'username': self.LOGIN, 'password': self.PASSWORD}, follow=False)
response = client.get(response.url)
self.assertIn('https://casclient.com/loser/', response.content)
self.assertIn('https://casclient.com/loser/', force_text(response.content))
def test_role_access_control_granted(self):
client = Client()
@ -171,7 +172,7 @@ class CasTests(Authentic2TestCase):
ticket_id, constants.SERVICE_PARAM: self.URL})
self.assertEquals(response.status_code, 200)
self.assertEquals(response['content-type'], 'text/plain')
self.assertEquals(response.content, 'yes\n%s\n' % self.LOGIN)
self.assertEquals(force_text(response.content), 'yes\n%s\n' % self.LOGIN)
# Verify ticket has been deleted
with self.assertRaises(Ticket.DoesNotExist):
Ticket.objects.get()