python3: encoding variations in tests.test_idp_saml2
This commit is contained in:
parent
c69824f54f
commit
67c038d8fe
|
@ -27,6 +27,7 @@ from django.core.urlresolvers import reverse
|
|||
from django.core.files import File
|
||||
from django.utils import six
|
||||
from django.utils.translation import gettext as _
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.six.moves.urllib import parse as urlparse
|
||||
|
||||
from authentic2.compat import Base64Error
|
||||
|
@ -80,7 +81,7 @@ class SamlBaseTestCase(Authentic2TestCase):
|
|||
self.assertEqual(response['Content-type'], 'text/xml',
|
||||
msg='metadata endpoint did not return an XML '
|
||||
'document')
|
||||
self.assertIn('IDPSSODescriptor', response.content,
|
||||
self.assertIn('IDPSSODescriptor', force_text(response.content),
|
||||
msg='metadata endpoint does not contain an '
|
||||
'IDPSSODescriptor element')
|
||||
return response.content
|
||||
|
@ -90,7 +91,8 @@ class SamlBaseTestCase(Authentic2TestCase):
|
|||
idp_meta = self.get_idp_metadata()
|
||||
server = lasso.Server.newFromBuffers(sp_meta)
|
||||
server.signatureMethod = lasso.SIGNATURE_METHOD_RSA_SHA256
|
||||
server.addProviderFromBuffer(lasso.PROVIDER_ROLE_IDP, idp_meta)
|
||||
server.addProviderFromBuffer(
|
||||
lasso.PROVIDER_ROLE_IDP, force_text(idp_meta))
|
||||
return server
|
||||
|
||||
def setup(self, default_name_id_format='persistent'):
|
||||
|
@ -116,7 +118,7 @@ class SamlBaseTestCase(Authentic2TestCase):
|
|||
last_name=self.last_name)
|
||||
self.code_attribute.set_value(self.user, '1234', verified=True)
|
||||
self.mobile_attribute.set_value(self.user, '5678', verified=True)
|
||||
self.avatar_attribute.set_value(self.user, File(open('tests/200x200.jpg')))
|
||||
self.avatar_attribute.set_value(self.user, File(open('tests/200x200.jpg', 'rb')))
|
||||
self.user.set_password(self.password)
|
||||
self.user.save()
|
||||
self.default_ou = OrganizationalUnit.objects.get()
|
||||
|
@ -290,8 +292,9 @@ class SamlSSOTestCase(SamlBaseTestCase):
|
|||
response = client.get(url)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response['Content-Type'].split(';')[0], 'text/html')
|
||||
self.assertInHTML(u'<button class="cancel-button" name="cancel" formnovalidate>%s</button>' % _('Cancel'), response.content,
|
||||
count=1)
|
||||
self.assertInHTML(
|
||||
u'<button class="cancel-button" name="cancel" formnovalidate>%s</button>' % _('Cancel'),
|
||||
force_text(response.content), count=1)
|
||||
if cancel:
|
||||
response = client.post(url, {
|
||||
'cancel': 1,
|
||||
|
@ -329,7 +332,7 @@ class SamlSSOTestCase(SamlBaseTestCase):
|
|||
'password': self.password,
|
||||
'login-password-submit': 1})
|
||||
response = client.get(response['Location'])
|
||||
assert 'https://whatever.com/loser/' in response.content
|
||||
assert b'https://whatever.com/loser/' in response.content
|
||||
# User with the authorized role
|
||||
self.user.roles.add(self.role_authorized)
|
||||
response = client.post(url, {
|
||||
|
@ -337,7 +340,7 @@ class SamlSSOTestCase(SamlBaseTestCase):
|
|||
'password': self.password,
|
||||
'login-password-submit': 1})
|
||||
response = client.get(response['Location'])
|
||||
assert 'SAMLResponse' in response.content
|
||||
assert b'SAMLResponse' in response.content
|
||||
else:
|
||||
response = client.post(url, {
|
||||
'username': self.email,
|
||||
|
@ -379,12 +382,12 @@ class SamlSSOTestCase(SamlBaseTestCase):
|
|||
self.assertEqual(login.assertion.subject.nameID.format,
|
||||
lasso.SAML2_NAME_IDENTIFIER_FORMAT_UNSPECIFIED)
|
||||
self.assertEqual(login.assertion.subject.nameID.content,
|
||||
self.user.username.encode('utf-8'))
|
||||
force_text(self.user.username.encode('utf-8')))
|
||||
elif self.default_sp_options_idp_policy.default_name_id_format == 'uuid':
|
||||
self.assertEqual(login.assertion.subject.nameID.format,
|
||||
lasso.SAML2_NAME_IDENTIFIER_FORMAT_UNSPECIFIED)
|
||||
self.assertEqual(login.assertion.subject.nameID.content,
|
||||
self.user.uuid.encode('utf-8'))
|
||||
force_text(self.user.uuid.encode('utf-8')))
|
||||
elif format == lasso.SAML2_NAME_IDENTIFIER_FORMAT_PERSISTENT:
|
||||
federation = saml_models.LibertyFederation.objects.get()
|
||||
constraints += (
|
||||
|
|
Loading…
Reference in New Issue