misc: remove unicode prefixed strings (#53714)
This commit is contained in:
parent
adf8bf659b
commit
a265c6267e
|
@ -80,7 +80,7 @@ must be changed to:::
|
|||
|
||||
::
|
||||
|
||||
u'auth.user': {
|
||||
'auth.user': {
|
||||
'meta': {'object_name': 'User',
|
||||
|
||||
must be rewritten like that:::
|
||||
|
|
12
doc/conf.py
12
doc/conf.py
|
@ -48,8 +48,8 @@ source_suffix = '.rst'
|
|||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'Authentic 2'
|
||||
copyright = u'2012, 2011, 2010, Entr\'ouvert'
|
||||
project = 'Authentic 2'
|
||||
copyright = '2012, 2011, 2010, Entr\'ouvert'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
|
@ -189,7 +189,7 @@ latex_elements = {
|
|||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||
latex_documents = [
|
||||
('index', 'Authentic2.tex', u'Authentic2 Documentation', u'Entr\'ouvert', 'manual'),
|
||||
('index', 'Authentic2.tex', 'Authentic2 Documentation', 'Entr\'ouvert', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
|
@ -217,7 +217,7 @@ latex_logo = 'pictures/eo_logo.png'
|
|||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [('index', 'authentic2', u'Authentic2 Documentation', [u'Mikaël Ates'], 1)]
|
||||
man_pages = [('index', 'authentic2', 'Authentic2 Documentation', [u'Mikaël Ates'], 1)]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
# man_show_urls = False
|
||||
|
@ -232,8 +232,8 @@ texinfo_documents = [
|
|||
(
|
||||
'index',
|
||||
'Authentic2',
|
||||
u'Authentic2 Documentation',
|
||||
u'Mikaël Ates',
|
||||
'Authentic2 Documentation',
|
||||
'Mikaël Ates',
|
||||
'Authentic2',
|
||||
'One line description of project.',
|
||||
'Miscellaneous',
|
||||
|
|
|
@ -394,7 +394,7 @@ class RoleParenting(RoleParentingAbstractBase):
|
|||
verbose_name_plural = _('role parenting relations')
|
||||
|
||||
def __str__(self):
|
||||
return u'{0} {1}> {2}'.format(self.parent.name, '-' if self.direct else '~', self.child.name)
|
||||
return '{0} {1}> {2}'.format(self.parent.name, '-' if self.direct else '~', self.child.name)
|
||||
|
||||
|
||||
class RoleAttribute(models.Model):
|
||||
|
|
|
@ -446,7 +446,7 @@ class BaseUserSerializer(serializers.ModelSerializer):
|
|||
)
|
||||
except smtplib.SMTPException as e:
|
||||
logging.getLogger(__name__).error(
|
||||
u'registration mail could not be sent to user %s ' 'created through API: %s', instance, e
|
||||
'registration mail could not be sent to user %s ' 'created through API: %s', instance, e
|
||||
)
|
||||
return instance
|
||||
|
||||
|
|
|
@ -224,7 +224,7 @@ def profile_image_deserialize(name):
|
|||
|
||||
def profile_image_html_value(attribute, value):
|
||||
if value:
|
||||
fragment = u'<a href="%s"><img class="%s" src="%s"/></a>' % (value.url, attribute.name, value.url)
|
||||
fragment = '<a href="%s"><img class="%s" src="%s"/></a>' % (value.url, attribute.name, value.url)
|
||||
return html.mark_safe(fragment)
|
||||
return ''
|
||||
|
||||
|
@ -349,7 +349,7 @@ def get_choices():
|
|||
|
||||
|
||||
def only_digits(value):
|
||||
return u''.join(x for x in value if x in string.digits)
|
||||
return ''.join(x for x in value if x in string.digits)
|
||||
|
||||
|
||||
def validate_lun(value):
|
||||
|
|
|
@ -38,23 +38,23 @@ def get_attribute_names(instance, ctx):
|
|||
if field.name == 'ou':
|
||||
continue
|
||||
name = 'django_user_' + str(field.name)
|
||||
description = field.verbose_name + u' (%s)' % name
|
||||
description = field.verbose_name + ' (%s)' % name
|
||||
yield name, description
|
||||
|
||||
yield 'django_user_ou_uuid', _('OU UUIDs') + u' (django_user_ou_uuid)'
|
||||
yield 'django_user_ou_slug', _('OU slug') + u' (django_user_ou_slug)'
|
||||
yield 'django_user_ou_name', _('OU name') + u' (django_user_ou_name)'
|
||||
yield 'django_user_ou_uuid', _('OU UUIDs') + ' (django_user_ou_uuid)'
|
||||
yield 'django_user_ou_slug', _('OU slug') + ' (django_user_ou_slug)'
|
||||
yield 'django_user_ou_name', _('OU name') + ' (django_user_ou_name)'
|
||||
|
||||
for attribute in Attribute.objects.all():
|
||||
name = 'django_user_' + str(attribute.name)
|
||||
description = attribute.label + u' (%s)' % name
|
||||
description = attribute.label + ' (%s)' % name
|
||||
yield name, description
|
||||
group_label = User._meta.get_field('groups').verbose_name
|
||||
yield 'django_user_groups', group_label + u' (django_user_groups)'
|
||||
yield 'django_user_group_names', group_label + u' (django_user_group_names)'
|
||||
yield 'django_user_domain', _('User domain') + u' (django_user_domain)'
|
||||
yield 'django_user_identifier', _('User identifier') + u' (django_user_identifier)'
|
||||
yield 'django_user_full_name', _('Full name') + u' (django_user_full_name)'
|
||||
yield 'django_user_groups', group_label + ' (django_user_groups)'
|
||||
yield 'django_user_group_names', group_label + ' (django_user_group_names)'
|
||||
yield 'django_user_domain', _('User domain') + ' (django_user_domain)'
|
||||
yield 'django_user_identifier', _('User identifier') + ' (django_user_identifier)'
|
||||
yield 'django_user_full_name', _('Full name') + ' (django_user_full_name)'
|
||||
yield 'a2_role_slugs', _('Role slugs')
|
||||
yield 'a2_role_names', _('Role names')
|
||||
yield 'a2_role_uuids', _('Role UUIDs')
|
||||
|
|
|
@ -40,7 +40,7 @@ def get_attribute_names(instance, ctx):
|
|||
names.append(service_role_attribute.name)
|
||||
names.sort()
|
||||
for name in names:
|
||||
yield (name, u'%s (%s)' % (name, _('role attribute')))
|
||||
yield (name, '%s (%s)' % (name, _('role attribute')))
|
||||
|
||||
|
||||
def get_dependencies(instance, ctx):
|
||||
|
|
|
@ -886,7 +886,7 @@ class LDAPBackend(object):
|
|||
if ldap_attribute in attributes:
|
||||
value = attributes[ldap_attribute][0]
|
||||
else:
|
||||
value = u''
|
||||
value = ''
|
||||
if getattr(user, legacy_attribute) != value:
|
||||
setattr(user, legacy_attribute, value)
|
||||
user._changed = True
|
||||
|
@ -1175,7 +1175,7 @@ class LDAPBackend(object):
|
|||
attribute_mappings = map_text(block['attribute_mappings'])
|
||||
mandatory_attributes_values = map_text(block['mandatory_attributes_values'])
|
||||
try:
|
||||
results = conn.search_s(dn, ldap.SCOPE_BASE, u'(objectclass=*)', attributes)
|
||||
results = conn.search_s(dn, ldap.SCOPE_BASE, '(objectclass=*)', attributes)
|
||||
except ldap.LDAPError as e:
|
||||
log.error('unable to retrieve attributes of dn %r: %r', dn, e)
|
||||
return None
|
||||
|
@ -1258,7 +1258,7 @@ class LDAPBackend(object):
|
|||
item_value = {}
|
||||
for dn, attrs in results:
|
||||
log.debug(
|
||||
u'Object retrieved for extra attr %s with item %s : %s %s'
|
||||
'Object retrieved for extra attr %s with item %s : %s %s'
|
||||
% (extra_attribute_name, item, dn, attrs)
|
||||
)
|
||||
for key in ldap_attributes_mapping:
|
||||
|
@ -1306,7 +1306,7 @@ class LDAPBackend(object):
|
|||
else:
|
||||
decoded.append((attribute, force_text(value)))
|
||||
filters = [filter_format(u'(%s=%s)', (a, b)) for a, b in decoded]
|
||||
return u'(&{0})'.format(''.join(filters))
|
||||
return '(&{0})'.format(''.join(filters))
|
||||
|
||||
def build_external_id(self, external_id_tuple, attributes):
|
||||
"""Build the exernal id for the user, use attribute that eventually
|
||||
|
@ -1525,7 +1525,7 @@ class LDAPBackend(object):
|
|||
else:
|
||||
modlist = []
|
||||
if block['active_directory']:
|
||||
key = u'unicodePwd'
|
||||
key = 'unicodePwd'
|
||||
value = cls.ad_encoding(new_password)
|
||||
if old_password:
|
||||
modlist = [
|
||||
|
@ -1535,7 +1535,7 @@ class LDAPBackend(object):
|
|||
else:
|
||||
modlist = [(ldap.MOD_REPLACE, key, [value])]
|
||||
else:
|
||||
key = u'userPassword'
|
||||
key = 'userPassword'
|
||||
modlist = [(ldap.MOD_REPLACE, key, [new_password])]
|
||||
conn.modify_s(dn, modlist)
|
||||
log.debug('modified password for dn %r', dn)
|
||||
|
@ -1644,9 +1644,9 @@ class LDAPBackend(object):
|
|||
conn.simple_bind_s()
|
||||
return True, None
|
||||
except ldap.INVALID_CREDENTIALS:
|
||||
return False, u'invalid credentials'
|
||||
return False, 'invalid credentials'
|
||||
except ldap.INVALID_DN_SYNTAX:
|
||||
return False, u'invalid dn syntax %s' % who
|
||||
return False, 'invalid dn syntax %s' % who
|
||||
except ldap.CONNECT_ERROR:
|
||||
return False, 'connection error'
|
||||
except ldap.TIMEOUT:
|
||||
|
@ -1781,13 +1781,13 @@ class LDAPBackendPasswordLost(LDAPBackend):
|
|||
results = self.normalize_ldap_results(results)
|
||||
if not results:
|
||||
log.warning(
|
||||
u'unable to find user %r based on external id %s', user, external_id
|
||||
'unable to find user %r based on external id %s', user, external_id
|
||||
)
|
||||
continue
|
||||
dn = results[0][0]
|
||||
except ldap.LDAPError as e:
|
||||
log.warning(
|
||||
u'unable to find user %r based on external id %s: %r', user, external_id, e
|
||||
'unable to find user %r based on external id %s: %r', user, external_id, e
|
||||
)
|
||||
continue
|
||||
return self._return_user(dn, None, conn, block)
|
||||
|
|
|
@ -30,7 +30,7 @@ from .. import app_settings
|
|||
|
||||
def upn(username, realm):
|
||||
'''Build an UPN from a username and a realm'''
|
||||
return u'{0}@{1}'.format(username, realm)
|
||||
return '{0}@{1}'.format(username, realm)
|
||||
|
||||
|
||||
PROXY_USER_MODEL = None
|
||||
|
|
|
@ -61,7 +61,7 @@ def update_model(obj, d):
|
|||
for message in error_list(messages):
|
||||
errorlist.append(
|
||||
format_lazy(
|
||||
u'{}="{}": {}', obj.__class__._meta.get_field(key).verbose_name, value, message
|
||||
'{}="{}": {}', obj.__class__._meta.get_field(key).verbose_name, value, message
|
||||
)
|
||||
)
|
||||
raise ValidationError(errorlist)
|
||||
|
|
|
@ -200,7 +200,7 @@ class CacheDecoratorBase(object):
|
|||
if kw not in self.kwargs:
|
||||
continue
|
||||
parts.append(u'%s-%s' % (str(kw), str(arg)))
|
||||
return u'|'.join(parts)
|
||||
return '|'.join(parts)
|
||||
|
||||
|
||||
class SimpleDictionnaryCacheMixin(object):
|
||||
|
|
|
@ -41,7 +41,7 @@ logger = logging.getLogger('authentic2.disco.responder')
|
|||
|
||||
def error_page(request, message, logger):
|
||||
'''Customized disco service error page'''
|
||||
message = u'disco: ' + message
|
||||
message = 'disco: ' + message
|
||||
return base_error_page(request, message, logger)
|
||||
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ class ExponentialRetryTimeout(object):
|
|||
self.key_prefix = key_prefix
|
||||
|
||||
def key(self, keys):
|
||||
key = u'-'.join(str(key) for key in keys)
|
||||
key = '-'.join(str(key) for key in keys)
|
||||
key = key.encode('utf-8')
|
||||
return '%s%s' % (self.key_prefix or self.KEY_PREFIX, hashlib.md5(key).hexdigest())
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ class CheckPasswordField(CharField):
|
|||
def __init__(self, *args, **kwargs):
|
||||
kwargs[
|
||||
'help_text'
|
||||
] = u'''
|
||||
] = '''
|
||||
<span class="a2-password-check-equality-default">%(default)s</span>
|
||||
<span class="a2-password-check-equality-matched">%(match)s</span>
|
||||
<span class="a2-password-check-equality-unmatched">%(nomatch)s</span>
|
||||
|
|
|
@ -165,7 +165,7 @@ class PickerWidgetMixin(object):
|
|||
|
||||
help_text = self.help_text
|
||||
if not help_text:
|
||||
help_text = u'%s %s' % (_('Format:'), self.options['format'])
|
||||
help_text = '%s %s' % (_('Format:'), self.options['format'])
|
||||
|
||||
return mark_safe(
|
||||
self.render_template
|
||||
|
@ -267,7 +267,7 @@ class PasswordInput(BasePasswordInput):
|
|||
if attrs and app_settings.A2_PASSWORD_POLICY_SHOW_LAST_CHAR:
|
||||
_id = attrs.get('id')
|
||||
if _id:
|
||||
output += u'''\n<script>a2_password_show_last_char(%s);</script>''' % json.dumps(_id)
|
||||
output += '''\n<script>a2_password_show_last_char(%s);</script>''' % json.dumps(_id)
|
||||
return output
|
||||
|
||||
|
||||
|
@ -280,7 +280,7 @@ class NewPasswordInput(PasswordInput):
|
|||
if attrs:
|
||||
_id = attrs.get('id')
|
||||
if _id:
|
||||
output += u'''\n<script>a2_password_validate(%s);</script>''' % json.dumps(_id)
|
||||
output += '''\n<script>a2_password_validate(%s);</script>''' % json.dumps(_id)
|
||||
return output
|
||||
|
||||
|
||||
|
@ -296,7 +296,7 @@ class CheckPasswordInput(PasswordInput):
|
|||
_id = attrs.get('id')
|
||||
if _id and _id.endswith('2'):
|
||||
other_id = _id[:-1] + '1'
|
||||
output += u'''\n<script>a2_password_check_equality(%s, %s)</script>''' % (
|
||||
output += '''\n<script>a2_password_check_equality(%s, %s)</script>''' % (
|
||||
json.dumps(other_id),
|
||||
json.dumps(_id),
|
||||
)
|
||||
|
|
|
@ -486,8 +486,8 @@ def build_assertion(request, login, provider, nid_format='transient'):
|
|||
kwargs['entity_id'] = login.remoteProviderId
|
||||
kwargs['user'] = request.user
|
||||
logger.debug(
|
||||
u'sending nameID %(name_id_format)r: %(name_id_content)r to '
|
||||
u'%(entity_id)s for user %(user)s' % kwargs
|
||||
'sending nameID %(name_id_format)r: %(name_id_content)r to '
|
||||
'%(entity_id)s for user %(user)s' % kwargs
|
||||
)
|
||||
register_new_saml2_session(request, login)
|
||||
add_attributes(request, entity_id, assertion, provider, nid_format)
|
||||
|
@ -1231,14 +1231,14 @@ def build_session_dump(liberty_sessions):
|
|||
"""Build a session dump from a list of pairs
|
||||
(provider_id,assertion_content)"""
|
||||
session = [
|
||||
u'<Session xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"'
|
||||
u' xmlns="http://www.entrouvert.org/namespaces/lasso/0.0" Version="2">',
|
||||
'<Session xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"'
|
||||
' xmlns="http://www.entrouvert.org/namespaces/lasso/0.0" Version="2">',
|
||||
]
|
||||
for liberty_session in liberty_sessions:
|
||||
session.append(
|
||||
u'<NidAndSessionIndex ProviderID="{0.provider_id}" '
|
||||
u'AssertionID="xxx" '
|
||||
u'SessionIndex="{0.session_index}">'.format(liberty_session)
|
||||
'<NidAndSessionIndex ProviderID="{0.provider_id}" '
|
||||
'AssertionID="xxx" '
|
||||
'SessionIndex="{0.session_index}">'.format(liberty_session)
|
||||
)
|
||||
session.append(u'<saml:NameID Format="{0.name_id_format}" '.format(liberty_session))
|
||||
if liberty_session.name_id_qualifier:
|
||||
|
|
|
@ -347,7 +347,7 @@ class UserAddForm(UserChangePasswordForm, UserEditForm):
|
|||
)
|
||||
except smtplib.SMTPException as e:
|
||||
logger.error(
|
||||
u'registration mail could not be sent to user %s created through ' u'manager: %s', user, e
|
||||
'registration mail could not be sent to user %s created through ' 'manager: %s', user, e
|
||||
)
|
||||
return user
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ class ListWidget(Widget):
|
|||
raise NotImplementedError
|
||||
|
||||
def render(self, value, object):
|
||||
return u', '.join(str(v) for v in value.all())
|
||||
return ', '.join(str(v) for v in value.all())
|
||||
|
||||
|
||||
class UserResource(ModelResource):
|
||||
|
|
|
@ -712,7 +712,7 @@ class UserRolesView(HideOUColumnMixin, BaseSubTableView):
|
|||
|
||||
def get_search_form_kwargs(self):
|
||||
kwargs = super(UserRolesView, self).get_search_form_kwargs()
|
||||
kwargs['all_ou_label'] = u''
|
||||
kwargs['all_ou_label'] = ''
|
||||
kwargs['user'] = self.object
|
||||
kwargs['role_members_from_ou'] = app_settings.ROLE_MEMBERS_FROM_OU
|
||||
kwargs['show_all_ou'] = app_settings.SHOW_ALL_OU
|
||||
|
@ -818,7 +818,7 @@ class UserImportsView(MediaMixin, PermissionMixin, FormView):
|
|||
)
|
||||
ctx['help_columns'] = help_columns
|
||||
example_data = (
|
||||
u','.join(column['name'] + (' key' if column['key'] else '') for column in help_columns) + '\n'
|
||||
','.join(column['name'] + (' key' if column['key'] else '') for column in help_columns) + '\n'
|
||||
)
|
||||
example_url = 'data:text/csv;base64,%s' % base64.b64encode(example_data.encode('utf-8')).decode(
|
||||
'ascii'
|
||||
|
|
|
@ -35,7 +35,7 @@ def label_from_user(user):
|
|||
if labels:
|
||||
labels.append(u' - ')
|
||||
labels.append(user.username)
|
||||
return u''.join(labels)
|
||||
return ''.join(labels)
|
||||
|
||||
|
||||
@GlobalCache(timeout=10)
|
||||
|
|
|
@ -400,7 +400,7 @@ class ModelNameMixin(MediaMixin):
|
|||
def get_instance_name(self):
|
||||
if hasattr(self, 'get_object'):
|
||||
return str(self.get_object())
|
||||
return u''
|
||||
return ''
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
ctx = super(ModelNameMixin, self).get_context_data(**kwargs)
|
||||
|
|
|
@ -103,7 +103,7 @@ class SearchRoleWidgetMixin(SplitTermMixin):
|
|||
def label_from_instance(self, obj):
|
||||
label = str(obj)
|
||||
if obj.ou and utils.get_ou_count() > 1:
|
||||
label = u'{ou} - {obj}'.format(ou=obj.ou, obj=obj)
|
||||
label = '{ou} - {obj}'.format(ou=obj.ou, obj=obj)
|
||||
return label
|
||||
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ class UserExternalId(models.Model):
|
|||
updated = models.DateTimeField(auto_now=True, verbose_name=_('last update date'))
|
||||
|
||||
def __str__(self):
|
||||
return u'{0} is {1} on {2}'.format(self.user, self.external_id, self.source)
|
||||
return '{0} is {1} on {2}'.format(self.user, self.external_id, self.source)
|
||||
|
||||
def __repr__(self):
|
||||
return (
|
||||
|
|
|
@ -102,7 +102,7 @@ def update_metadata(modeladmin, request, queryset):
|
|||
try:
|
||||
provider.update_metadata()
|
||||
except ValidationError as e:
|
||||
params = {'name': provider, 'error_msg': u', '.join(e.messages)}
|
||||
params = {'name': provider, 'error_msg': ', '.join(e.messages)}
|
||||
messages.error(request, _('Updating SAML provider %(name)s failed: ' '%(error_msg)s') % params)
|
||||
else:
|
||||
count += 1
|
||||
|
@ -188,7 +188,7 @@ class LibertyFederationAdmin(admin.ModelAdmin):
|
|||
def format(self, obj):
|
||||
name_id_format = obj.name_id_format
|
||||
if name_id_format > 15:
|
||||
name_id_format = u'\u2026' + name_id_format[-12:]
|
||||
name_id_format = '\u2026' + name_id_format[-12:]
|
||||
return name_id_format
|
||||
|
||||
|
||||
|
|
|
@ -357,7 +357,7 @@ class SAMLAttribute(models.Model):
|
|||
yield (name, name_format, friendly_name, value)
|
||||
|
||||
def __str__(self):
|
||||
return u'%s %s %s' % (self.name, self.name_format_uri(), self.attribute_name)
|
||||
return '%s %s %s' % (self.name, self.name_format_uri(), self.attribute_name)
|
||||
|
||||
def natural_key(self):
|
||||
if not hasattr(self.provider, 'natural_key'):
|
||||
|
|
|
@ -341,9 +341,9 @@ def make_url(
|
|||
else:
|
||||
url_params.appendlist(key, value)
|
||||
if url_params:
|
||||
url += u'?%s' % url_params.urlencode(safe='/')
|
||||
url += '?%s' % url_params.urlencode(safe='/')
|
||||
if fragment:
|
||||
url += u'#%s' % fragment
|
||||
url += '#%s' % fragment
|
||||
if absolute:
|
||||
if request:
|
||||
url = request.build_absolute_uri(url)
|
||||
|
@ -946,7 +946,7 @@ def send_password_reset_mail(
|
|||
**kwargs,
|
||||
)
|
||||
logger.info(
|
||||
u'password reset request for user %s, email sent to %s ' 'with token %s', user, user.email, token.uuid
|
||||
'password reset request for user %s, email sent to %s ' 'with token %s', user, user.email, token.uuid
|
||||
)
|
||||
journal.record('user.password.reset.request', email=user.email, user=user)
|
||||
|
||||
|
|
|
@ -626,7 +626,7 @@ class LoggedInView(View):
|
|||
if not self.check_referrer():
|
||||
return HttpResponseForbidden()
|
||||
callback = request.GET.get('callback')
|
||||
content = u'{0}({1})'.format(callback, int(request.user.is_authenticated))
|
||||
content = '{0}({1})'.format(callback, int(request.user.is_authenticated))
|
||||
return HttpResponse(content, content_type='application/json')
|
||||
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ class Service(LogoutUrlAbstract, Service):
|
|||
url_validator(url)
|
||||
except ValidationError:
|
||||
raise ValidationError(_('%s is an invalid URL') % url)
|
||||
self.urls = u' '.join(urls)
|
||||
self.urls = ' '.join(urls)
|
||||
|
||||
def match_service(self, service_url):
|
||||
'''Verify that this service match an URL'''
|
||||
|
@ -86,7 +86,7 @@ class Attribute(models.Model):
|
|||
enabled = models.BooleanField(verbose_name=_('enabled'), default=True)
|
||||
|
||||
def __str__(self):
|
||||
return u'%s <- %s' % (self.slug, self.attribute_name)
|
||||
return '%s <- %s' % (self.slug, self.attribute_name)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('CAS attribute')
|
||||
|
|
|
@ -102,7 +102,7 @@ def scope_set(data):
|
|||
|
||||
def clean_words(data):
|
||||
'''Clean and order a list of words'''
|
||||
return u' '.join(sorted(x.strip() for x in data.split()))
|
||||
return ' '.join(sorted(x.strip() for x in data.split()))
|
||||
|
||||
|
||||
def url_domain(url):
|
||||
|
|
|
@ -159,9 +159,9 @@ class PermissionAbstractBase(models.Model):
|
|||
ct_ct = ContentType.objects.get_for_model(ContentType)
|
||||
if ct == ct_ct:
|
||||
target = ContentType.objects.get_for_id(self.target_id)
|
||||
s = u'{0} / {1}'.format(self.operation, target)
|
||||
s = '{0} / {1}'.format(self.operation, target)
|
||||
else:
|
||||
s = u'{0} / {1} / {2}'.format(self.operation, ct, self.target)
|
||||
s = '{0} / {1} / {2}'.format(self.operation, ct, self.target)
|
||||
if self.ou:
|
||||
s += _(u' (scope "{0}")').format(self.ou)
|
||||
return s
|
||||
|
|
|
@ -92,7 +92,7 @@ def test_admin_roles_startswith_a2(db):
|
|||
coin = Role.objects.create(name='Coin', slug='coin')
|
||||
coin.get_admin_role()
|
||||
for role in Role.objects.filter(admin_scope_ct__isnull=False):
|
||||
assert role.slug.startswith('_a2'), u'role %s slug must start with _a2: %s' % (role.name, role.slug)
|
||||
assert role.slug.startswith('_a2'), 'role %s slug must start with _a2: %s' % (role.name, role.slug)
|
||||
|
||||
|
||||
def test_admin_roles_update_slug(db):
|
||||
|
@ -262,19 +262,19 @@ def test_role_with_permission_export_json(db):
|
|||
assert permissions[0] == {
|
||||
'operation': {'slug': 'add'},
|
||||
'ou': {'uuid': ou.uuid, 'slug': ou.slug, 'name': ou.name},
|
||||
'target_ct': {'app_label': u'contenttypes', 'model': u'contenttype'},
|
||||
'target': {'model': u'libertyprovider', 'app_label': u'saml'},
|
||||
'target_ct': {'app_label': 'contenttypes', 'model': 'contenttype'},
|
||||
'target': {'model': 'libertyprovider', 'app_label': 'saml'},
|
||||
}
|
||||
assert permissions[1] == {
|
||||
'operation': {'slug': 'add'},
|
||||
'ou': None,
|
||||
'target_ct': {'app_label': u'a2_rbac', 'model': u'role'},
|
||||
'target_ct': {'app_label': 'a2_rbac', 'model': 'role'},
|
||||
'target': {
|
||||
'slug': u'other-role-slug',
|
||||
'slug': 'other-role-slug',
|
||||
'service': None,
|
||||
'uuid': other_role.uuid,
|
||||
'ou': {'slug': u'some-ou', 'uuid': some_ou.uuid, 'name': u'some ou'},
|
||||
'name': u'other role name',
|
||||
'ou': {'slug': 'some-ou', 'uuid': some_ou.uuid, 'name': 'some ou'},
|
||||
'name': 'other role name',
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -53,11 +53,11 @@ def test_string(db, app, admin, mailoutbox):
|
|||
assert response.pyquery.find('.form-field-error #id_nom_de_naissance')
|
||||
|
||||
form = response.form
|
||||
form.set('nom_de_naissance', u'Noël')
|
||||
form.set('nom_de_naissance', 'Noël')
|
||||
form.set('password1', '12345abcdA')
|
||||
form.set('password2', '12345abcdA')
|
||||
response = form.submit().follow()
|
||||
assert qs.get().attributes.nom_de_naissance == u'Noël'
|
||||
assert qs.get().attributes.nom_de_naissance == 'Noël'
|
||||
qs.delete()
|
||||
|
||||
app.authorization = ('Basic', (admin.username, admin.username))
|
||||
|
@ -71,10 +71,10 @@ def test_string(db, app, admin, mailoutbox):
|
|||
payload = {
|
||||
'first_name': 'John',
|
||||
'last_name': 'Doe',
|
||||
'nom_de_naissance': u'Noël',
|
||||
'nom_de_naissance': 'Noël',
|
||||
}
|
||||
app.post_json('/api/users/', params=payload, status=201)
|
||||
assert qs.get().attributes.nom_de_naissance == u'Noël'
|
||||
assert qs.get().attributes.nom_de_naissance == 'Noël'
|
||||
qs.delete()
|
||||
|
||||
|
||||
|
|
|
@ -616,11 +616,11 @@ def test_strategy_find_uuid(app, caplog, code, oidc_provider, oidc_provider_jwks
|
|||
user = User.objects.get()
|
||||
# verify user was not modified
|
||||
assert user.username == 'user'
|
||||
assert user.first_name == u'Jôhn'
|
||||
assert user.last_name == u'Dôe'
|
||||
assert user.first_name == 'Jôhn'
|
||||
assert user.last_name == 'Dôe'
|
||||
assert user.email == 'user@example.net'
|
||||
assert user.attributes.first_name == u'Jôhn'
|
||||
assert user.attributes.last_name == u'Dôe'
|
||||
assert user.attributes.first_name == 'Jôhn'
|
||||
assert user.attributes.last_name == 'Dôe'
|
||||
|
||||
response = app.get(reverse('account_management'))
|
||||
with utils.check_log(caplog, 'revoked token from OIDC'):
|
||||
|
|
|
@ -160,7 +160,7 @@ def test_clean_unused_account_always_alert(db, simple_user, mailoutbox, freezer)
|
|||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"deletion_delay,formatted", [(730, u'2\xa0years'), (500, u'1\xa0year'), (65, u'2\xa0months')]
|
||||
"deletion_delay,formatted", [(730, '2\xa0years'), (500, '1\xa0year'), (65, '2\xa0months')]
|
||||
)
|
||||
def test_clean_unused_account_human_duration_format(simple_user, mailoutbox, deletion_delay, formatted):
|
||||
simple_user.ou.clean_unused_accounts_alert = deletion_delay - 1
|
||||
|
|
|
@ -67,9 +67,9 @@ def test_deterministic_encryption():
|
|||
|
||||
|
||||
def test_hmac_url():
|
||||
key = u'é'
|
||||
key = 'é'
|
||||
url = 'https://example.invalid/'
|
||||
assert crypto.check_hmac_url(key, url, crypto.hmac_url(key, url))
|
||||
key = u'é'
|
||||
url = u'https://example.invalid/\u0000'
|
||||
key = 'é'
|
||||
url = 'https://example.invalid/\u0000'
|
||||
assert crypto.check_hmac_url(key, url, crypto.hmac_url(key, url))
|
||||
|
|
|
@ -28,7 +28,7 @@ class CustomDataType(str):
|
|||
@pytest.mark.parametrize(
|
||||
'value',
|
||||
[
|
||||
u'\xe9',
|
||||
'\xe9',
|
||||
b'\xc3\xa9',
|
||||
{1: 1, 2: 4, 3: 6, 4: 8, 5: 10},
|
||||
'Hello World',
|
||||
|
|
|
@ -325,7 +325,7 @@ def test_role_deserializer_permissions(db):
|
|||
other_role_dict['permisison'] = {
|
||||
"operation": {"slug": "admin"},
|
||||
"ou": {"slug": "default", "name": "Collectivit\u00e9 par d\u00e9faut"},
|
||||
'target_ct': {'app_label': u'a2_rbac', 'model': u'role'},
|
||||
'target_ct': {'app_label': 'a2_rbac', 'model': 'role'},
|
||||
"target": {
|
||||
"slug": "role-deux",
|
||||
"ou": {"slug": "default", "name": "Collectivit\u00e9 par d\u00e9faut"},
|
||||
|
@ -344,8 +344,8 @@ def test_role_deserializer_permissions(db):
|
|||
{
|
||||
'operation': {'slug': 'add'},
|
||||
'ou': None,
|
||||
'target_ct': {'app_label': u'a2_rbac', 'model': u'role'},
|
||||
'target': {"slug": u'other-role-slug', 'ou': {'slug': 'some-ou'}, 'service': None},
|
||||
'target_ct': {'app_label': 'a2_rbac', 'model': 'role'},
|
||||
'target': {"slug": 'other-role-slug', 'ou': {'slug': 'some-ou'}, 'service': None},
|
||||
}
|
||||
]
|
||||
|
||||
|
@ -382,7 +382,7 @@ def test_permission_on_role(db):
|
|||
{
|
||||
"operation": {"slug": "admin"},
|
||||
"ou": {"slug": "perm-ou", "name": "perm-ou"},
|
||||
'target_ct': {'app_label': u'a2_rbac', 'model': u'role'},
|
||||
'target_ct': {'app_label': 'a2_rbac', 'model': 'role'},
|
||||
"target": {
|
||||
"slug": "perm-role",
|
||||
"ou": {"slug": "perm-ou", "name": "perm ou"},
|
||||
|
|
|
@ -45,12 +45,12 @@ User = get_user_model()
|
|||
|
||||
pytestmark = pytest.mark.skipif(not has_slapd(), reason='slapd is not installed')
|
||||
|
||||
USERNAME = u'etienne.michu'
|
||||
USERNAME = 'etienne.michu'
|
||||
UID = 'etienne.michu'
|
||||
CN = 'Étienne Michu'
|
||||
DN = 'cn=%s,o=ôrga' % escape_dn_chars(CN)
|
||||
PASS = 'passé'
|
||||
UPASS = u'passé'
|
||||
UPASS = 'passé'
|
||||
EMAIL = 'etienne.michu@example.net'
|
||||
CARLICENSE = '123445ABC'
|
||||
|
||||
|
@ -209,7 +209,7 @@ def test_simple(slapd, settings, client, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'attributes': ['jpegPhoto'],
|
||||
}
|
||||
|
@ -221,8 +221,8 @@ def test_simple(slapd, settings, client, db):
|
|||
assert force_bytes('Étienne Michu') in result.content
|
||||
assert User.objects.count() == 1
|
||||
user = User.objects.get()
|
||||
assert user.username == u'%s@ldap' % USERNAME
|
||||
assert user.first_name == u'Étienne'
|
||||
assert user.username == '%s@ldap' % USERNAME
|
||||
assert user.first_name == 'Étienne'
|
||||
assert user.last_name == 'Michu'
|
||||
assert user.is_active is True
|
||||
assert user.is_superuser is False
|
||||
|
@ -237,7 +237,7 @@ def test_deactivate_orphaned_users(slapd, settings, client, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
}
|
||||
]
|
||||
|
@ -266,7 +266,7 @@ def test_simple_with_binddn(slapd, settings, client):
|
|||
'url': [slapd.ldap_url],
|
||||
'binddn': force_text(DN),
|
||||
'bindpw': PASS,
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
}
|
||||
]
|
||||
|
@ -277,8 +277,8 @@ def test_simple_with_binddn(slapd, settings, client):
|
|||
assert force_bytes('Étienne Michu') in result.content
|
||||
assert User.objects.count() == 1
|
||||
user = User.objects.get()
|
||||
assert user.username == u'%s@ldap' % USERNAME
|
||||
assert user.first_name == u'Étienne'
|
||||
assert user.username == '%s@ldap' % USERNAME
|
||||
assert user.first_name == 'Étienne'
|
||||
assert user.last_name == 'Michu'
|
||||
assert user.is_active is True
|
||||
assert user.is_superuser is False
|
||||
|
@ -293,7 +293,7 @@ def test_double_login(slapd, simple_user, settings, app, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'is_superuser': True,
|
||||
'is_staff': True,
|
||||
|
@ -307,7 +307,7 @@ def test_login_failure(slapd, simple_user, settings, app, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'is_superuser': True,
|
||||
'is_staff': True,
|
||||
|
@ -329,7 +329,7 @@ def test_keep_password_in_session(slapd, settings, client, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'keep_password_in_session': True,
|
||||
}
|
||||
|
@ -341,8 +341,8 @@ def test_keep_password_in_session(slapd, settings, client, db):
|
|||
assert force_bytes('Étienne Michu') in result.content
|
||||
assert User.objects.count() == 1
|
||||
user = User.objects.get()
|
||||
assert user.username == u'%s@ldap' % USERNAME
|
||||
assert user.first_name == u'Étienne'
|
||||
assert user.username == '%s@ldap' % USERNAME
|
||||
assert user.first_name == 'Étienne'
|
||||
assert user.last_name == 'Michu'
|
||||
assert user.ou == get_default_ou()
|
||||
assert not user.check_password(PASS)
|
||||
|
@ -357,7 +357,7 @@ def test_keep_password_true_or_false(slapd, settings, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'keep_password': True,
|
||||
}
|
||||
|
@ -381,7 +381,7 @@ def test_custom_ou(slapd, settings, client):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'ou_slug': 'test',
|
||||
}
|
||||
|
@ -393,9 +393,9 @@ def test_custom_ou(slapd, settings, client):
|
|||
assert force_bytes('Étienne Michu') in result.content
|
||||
assert User.objects.count() == 1
|
||||
user = User.objects.get()
|
||||
assert user.username == u'%s@ldap' % USERNAME
|
||||
assert user.first_name == u'Étienne'
|
||||
assert user.last_name == u'Michu'
|
||||
assert user.username == '%s@ldap' % USERNAME
|
||||
assert user.first_name == 'Étienne'
|
||||
assert user.last_name == 'Michu'
|
||||
assert user.ou == ou
|
||||
assert not user.check_password(PASS)
|
||||
|
||||
|
@ -404,7 +404,7 @@ def test_wrong_ou(slapd, settings, client, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'ou_slug': 'test',
|
||||
}
|
||||
|
@ -437,7 +437,7 @@ def test_group_mapping(slapd, settings, client, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'create_group': True,
|
||||
'group_mapping': [
|
||||
|
@ -450,7 +450,7 @@ def test_group_mapping(slapd, settings, client, db):
|
|||
'/login/', {'login-password-submit': '1', 'username': USERNAME, 'password': PASS}, follow=True
|
||||
)
|
||||
assert Group.objects.filter(name='Group1').count() == 1
|
||||
assert response.context['user'].username == u'%s@ldap' % USERNAME
|
||||
assert response.context['user'].username == '%s@ldap' % USERNAME
|
||||
assert response.context['user'].groups.count() == 1
|
||||
|
||||
|
||||
|
@ -460,7 +460,7 @@ def test_posix_group_mapping(slapd, settings, client, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'create_group': True,
|
||||
'group_mapping': [
|
||||
|
@ -474,7 +474,7 @@ def test_posix_group_mapping(slapd, settings, client, db):
|
|||
'/login/', {'login-password-submit': '1', 'username': USERNAME, 'password': PASS}, follow=True
|
||||
)
|
||||
assert Group.objects.filter(name='Group2').count() == 1
|
||||
assert response.context['user'].username == u'%s@ldap' % USERNAME
|
||||
assert response.context['user'].username == '%s@ldap' % USERNAME
|
||||
assert response.context['user'].groups.count() == 1
|
||||
|
||||
|
||||
|
@ -485,7 +485,7 @@ def test_group_to_role_mapping(slapd, settings, client, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
# memberOf is not defined on OpenLDAP so we use street for storing DN like
|
||||
# memberOf values
|
||||
|
@ -499,7 +499,7 @@ def test_group_to_role_mapping(slapd, settings, client, db):
|
|||
response = client.post(
|
||||
'/login/', {'login-password-submit': '1', 'username': USERNAME, 'password': PASS}, follow=True
|
||||
)
|
||||
assert response.context['user'].username == u'%s@ldap' % USERNAME
|
||||
assert response.context['user'].username == '%s@ldap' % USERNAME
|
||||
assert set(response.context['user'].roles.values_list('name', flat=True)) == set(['Role1', 'Role2'])
|
||||
|
||||
|
||||
|
@ -508,7 +508,7 @@ def test_posix_group_to_role_mapping(slapd, settings, client, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'group_to_role_mapping': [
|
||||
['cn=group2,o=ôrga', ['Role2']],
|
||||
|
@ -519,7 +519,7 @@ def test_posix_group_to_role_mapping(slapd, settings, client, db):
|
|||
response = client.post(
|
||||
'/login/', {'login-password-submit': '1', 'username': USERNAME, 'password': PASS}, follow=True
|
||||
)
|
||||
assert response.context['user'].username == u'%s@ldap' % USERNAME
|
||||
assert response.context['user'].username == '%s@ldap' % USERNAME
|
||||
assert response.context['user'].roles.count() == 1
|
||||
|
||||
|
||||
|
@ -528,7 +528,7 @@ def test_group_to_role_mapping_modify_disabled(slapd, settings, db, app, admin,
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'group_to_role_mapping': [
|
||||
['cn=group1,o=ôrga', ['Role3']],
|
||||
|
@ -580,7 +580,7 @@ def test_group_su(slapd, settings, client, db):
|
|||
'/login/', {'login-password-submit': '1', 'username': USERNAME, 'password': PASS}, follow=True
|
||||
)
|
||||
assert Group.objects.count() == 0
|
||||
assert response.context['user'].username == u'%s@ldap' % USERNAME
|
||||
assert response.context['user'].username == '%s@ldap' % USERNAME
|
||||
assert response.context['user'].is_superuser
|
||||
assert not response.context['user'].is_staff
|
||||
|
||||
|
@ -591,7 +591,7 @@ def test_group_staff(slapd, settings, client, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'groupstaff': [u'cn=group1,o=ôrga'],
|
||||
}
|
||||
|
@ -600,7 +600,7 @@ def test_group_staff(slapd, settings, client, db):
|
|||
'/login/', {'login-password-submit': '1', 'username': 'etienne.michu', 'password': PASS}, follow=True
|
||||
)
|
||||
assert Group.objects.count() == 0
|
||||
assert response.context['user'].username == u'%s@ldap' % USERNAME
|
||||
assert response.context['user'].username == '%s@ldap' % USERNAME
|
||||
assert response.context['user'].is_staff
|
||||
assert not response.context['user'].is_superuser
|
||||
|
||||
|
@ -614,7 +614,7 @@ def test_get_users(slapd, settings, db, monkeypatch, caplog):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'create_group': True,
|
||||
'group_mapping': [
|
||||
|
@ -699,7 +699,7 @@ def test_set_mandatory_roles(slapd, settings, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'create_group': True,
|
||||
'group_mapping': [
|
||||
|
@ -718,7 +718,7 @@ def test_nocreate_mandatory_roles(slapd, settings, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'create_group': True,
|
||||
'group_mapping': [
|
||||
|
@ -741,7 +741,7 @@ def test_from_slug_set_mandatory_roles(slapd, settings, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'create_group': True,
|
||||
'group_mapping': [
|
||||
|
@ -766,7 +766,7 @@ def test_multiple_slug_set_mandatory_roles(slapd, settings, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'create_group': True,
|
||||
'group_mapping': [
|
||||
|
@ -792,7 +792,7 @@ def test_multiple_name_set_mandatory_roles(slapd, settings, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'create_group': True,
|
||||
'group_mapping': [
|
||||
|
@ -825,7 +825,7 @@ def test_no_connect_with_user_credentials(slapd_strict_acl, db, settings, app):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'create_group': True,
|
||||
'group_mapping': [
|
||||
|
@ -892,7 +892,7 @@ def test_reset_password_ldap_user(slapd, settings, app, db):
|
|||
'url': [slapd.ldap_url],
|
||||
'binddn': force_text(slapd.root_bind_dn),
|
||||
'bindpw': force_text(slapd.root_bind_password),
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'attributes': ['uid', 'carLicense'],
|
||||
}
|
||||
|
@ -911,7 +911,7 @@ def test_user_cannot_change_password(slapd, settings, app, db):
|
|||
'url': [slapd.ldap_url],
|
||||
'binddn': force_text(slapd.root_bind_dn),
|
||||
'bindpw': force_text(slapd.root_bind_password),
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'user_can_change_password': False,
|
||||
}
|
||||
|
@ -942,7 +942,7 @@ def test_tls(db, tls_slapd, settings, client):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [tls_slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
}
|
||||
]
|
||||
|
@ -957,7 +957,7 @@ def test_tls(db, tls_slapd, settings, client):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [tls_slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': True,
|
||||
'cacertfile': cert_file,
|
||||
}
|
||||
|
@ -973,7 +973,7 @@ def test_tls(db, tls_slapd, settings, client):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [tls_slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': True,
|
||||
'cacertfile': cert_file,
|
||||
'certfile': cert_file,
|
||||
|
@ -992,7 +992,7 @@ def test_user_attributes(slapd, settings, client, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'user_attributes': [
|
||||
{
|
||||
|
@ -1018,23 +1018,23 @@ def test_user_attributes(slapd, settings, client, db):
|
|||
client.post(
|
||||
'/login/', {'login-password-submit': '1', 'username': USERNAME, 'password': PASS}, follow=True
|
||||
)
|
||||
username = u'%s@ldap' % USERNAME
|
||||
username = '%s@ldap' % USERNAME
|
||||
user = User.objects.get(username=username)
|
||||
assert user.attributes.locality == u'Paris'
|
||||
assert user.attributes.locality == 'Paris'
|
||||
client.session.flush()
|
||||
for i in range(5):
|
||||
client.post(
|
||||
'/login/',
|
||||
{
|
||||
'login-password-submit': '1',
|
||||
'username': u'mïchu%s' % i,
|
||||
'username': 'mïchu%s' % i,
|
||||
'password': PASS,
|
||||
},
|
||||
follow=True,
|
||||
)
|
||||
username = u'mïchu%s@ldap' % i
|
||||
username = 'mïchu%s@ldap' % i
|
||||
user = User.objects.get(username=username)
|
||||
assert user.attributes.locality == u'locality%s' % i
|
||||
assert user.attributes.locality == 'locality%s' % i
|
||||
client.session.flush()
|
||||
|
||||
|
||||
|
@ -1042,7 +1042,7 @@ def test_set_password(slapd, settings, db):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
}
|
||||
]
|
||||
|
@ -1059,7 +1059,7 @@ def test_login_ppolicy_pwdMaxFailure(slapd_ppolicy, settings, db, app):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd_ppolicy.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
}
|
||||
]
|
||||
|
@ -1148,7 +1148,7 @@ def test_authenticate_ppolicy_pwdMaxFailure(slapd_ppolicy, settings, db, caplog)
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd_ppolicy.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
}
|
||||
]
|
||||
|
@ -1167,7 +1167,7 @@ def test_do_not_use_controls(slapd_ppolicy, settings, db, caplog):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd_ppolicy.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'use_controls': False,
|
||||
}
|
||||
|
@ -1184,7 +1184,7 @@ def test_authenticate_ppolicy_pwdGraceAuthnLimit(slapd_ppolicy, settings, db, ca
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd_ppolicy.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
}
|
||||
]
|
||||
|
@ -1222,7 +1222,7 @@ pwdSafeModify: FALSE
|
|||
|
||||
user = authenticate(username=USERNAME, password=UPASS)
|
||||
assert user.check_password(UPASS)
|
||||
password = u'ogutOmyetew4'
|
||||
password = 'ogutOmyetew4'
|
||||
user.set_password(password)
|
||||
|
||||
time.sleep(pwdMaxAge * 3)
|
||||
|
@ -1240,7 +1240,7 @@ def test_authenticate_ppolicy_pwdExpireWarning(slapd_ppolicy, settings, db, capl
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd_ppolicy.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
}
|
||||
]
|
||||
|
@ -1277,7 +1277,7 @@ pwdSafeModify: FALSE
|
|||
|
||||
user = authenticate(username=USERNAME, password=UPASS)
|
||||
assert user.check_password(UPASS)
|
||||
password = u'ogutOmyetew4'
|
||||
password = 'ogutOmyetew4'
|
||||
user.set_password(password)
|
||||
|
||||
time.sleep(2)
|
||||
|
@ -1293,7 +1293,7 @@ def test_login_ppolicy_pwdExpireWarning(slapd_ppolicy, settings, app, db, caplog
|
|||
'url': [slapd_ppolicy.ldap_url],
|
||||
'binddn': force_text(slapd_ppolicy.root_bind_dn),
|
||||
'bindpw': force_text(slapd_ppolicy.root_bind_password),
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'attributes': ['carLicense'],
|
||||
}
|
||||
|
@ -1344,7 +1344,7 @@ def test_authenticate_ppolicy_pwdAllowUserChange(slapd_ppolicy, settings, db, ca
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd_ppolicy.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
}
|
||||
]
|
||||
|
@ -1386,7 +1386,7 @@ def test_ou_selector(slapd, settings, app, ou1):
|
|||
'url': [slapd.ldap_url],
|
||||
'binddn': force_text(DN),
|
||||
'bindpw': PASS,
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'ou_slug': ou1.slug,
|
||||
'use_tls': False,
|
||||
}
|
||||
|
@ -1417,7 +1417,7 @@ def test_ou_selector_default_ou(slapd, settings, app, ou1):
|
|||
'url': [slapd.ldap_url],
|
||||
'binddn': force_text(DN),
|
||||
'bindpw': PASS,
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
}
|
||||
]
|
||||
|
@ -1445,7 +1445,7 @@ def test_sync_ldap_users(slapd, settings, app, db, capsys):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'user_attributes': [
|
||||
{
|
||||
|
@ -1473,12 +1473,12 @@ def test_sync_ldap_users(slapd, settings, app, db, capsys):
|
|||
management.call_command('sync-ldap-users', verbosity=2)
|
||||
assert len(capsys.readouterr().out.splitlines()) == 7
|
||||
assert User.objects.count() == 6
|
||||
assert all(user.first_name == u'Étienne' for user in User.objects.all())
|
||||
assert all(user.attributes.first_name == u'Étienne' for user in User.objects.all())
|
||||
assert all(user.last_name == u'Michu' for user in User.objects.all())
|
||||
assert all(user.attributes.last_name == u'Michu' for user in User.objects.all())
|
||||
assert all(user.first_name == 'Étienne' for user in User.objects.all())
|
||||
assert all(user.attributes.first_name == 'Étienne' for user in User.objects.all())
|
||||
assert all(user.last_name == 'Michu' for user in User.objects.all())
|
||||
assert all(user.attributes.last_name == 'Michu' for user in User.objects.all())
|
||||
assert all(
|
||||
user.attributes.locality == u'Paris' or user.attributes.locality.startswith('locality')
|
||||
user.attributes.locality == 'Paris' or user.attributes.locality.startswith('locality')
|
||||
for user in User.objects.all()
|
||||
)
|
||||
assert all(
|
||||
|
@ -1497,7 +1497,7 @@ def test_alert_on_wrong_user_filter(slapd, settings, client, db, caplog):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'user_filter': '(&(objectClass=user)(sAMAccountName=*)', # wrong
|
||||
}
|
||||
|
@ -1512,7 +1512,7 @@ def test_get_attributes(slapd, settings, db, rf):
|
|||
settings.LDAP_AUTH_SETTINGS = [
|
||||
{
|
||||
'url': [slapd.ldap_url],
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'attributes': ['uid', 'carLicense'],
|
||||
}
|
||||
|
@ -1530,7 +1530,7 @@ def test_get_attributes(slapd, settings, db, rf):
|
|||
# simulate LDAP down
|
||||
slapd.stop()
|
||||
assert user.get_attributes(object(), {}) == {
|
||||
'dn': u'cn=étienne michu,o=\xf4rga',
|
||||
'dn': 'cn=étienne michu,o=\xf4rga',
|
||||
'givenname': [u'\xc9tienne'],
|
||||
'mail': [u'etienne.michu@example.net'],
|
||||
'sn': [u'Michu'],
|
||||
|
@ -1546,7 +1546,7 @@ def test_get_attributes(slapd, settings, db, rf):
|
|||
ldif = [(ldap.MOD_REPLACE, 'sn', [b'Micho'])]
|
||||
conn.modify_s(DN, ldif)
|
||||
assert user.get_attributes(object(), {}) == {
|
||||
'dn': u'cn=étienne michu,o=\xf4rga',
|
||||
'dn': 'cn=étienne michu,o=\xf4rga',
|
||||
'givenname': [u'\xc9tienne'],
|
||||
'mail': [u'etienne.michu@example.net'],
|
||||
'sn': [u'Micho'],
|
||||
|
@ -1661,7 +1661,7 @@ def test_switch_user_ldap_user(slapd, settings, app, db):
|
|||
'url': [slapd.ldap_url],
|
||||
'binddn': force_text(slapd.root_bind_dn),
|
||||
'bindpw': force_text(slapd.root_bind_password),
|
||||
'basedn': u'o=ôrga',
|
||||
'basedn': 'o=ôrga',
|
||||
'use_tls': False,
|
||||
'attributes': ['carLicense'],
|
||||
}
|
||||
|
|
|
@ -199,7 +199,7 @@ def test_ou_selector(app, settings, simple_user, ou1, ou2, user_ou1, role_ou1):
|
|||
assert response.pyquery.find('select#id_ou')
|
||||
assert len(response.pyquery.find('select#id_ou optgroup')) == 0
|
||||
assert set([elt.text for elt in response.pyquery.find('select#id_ou option')]) == set(
|
||||
[u'Default organizational unit', u'OU1', u'OU2', u'---------']
|
||||
[u'Default organizational unit', 'OU1', 'OU2', '---------']
|
||||
)
|
||||
# Check selector is required
|
||||
response.form.set('username', simple_user.username)
|
||||
|
@ -226,39 +226,39 @@ def test_ou_selector(app, settings, simple_user, ou1, ou2, user_ou1, role_ou1):
|
|||
assert response.pyquery.find('select#id_ou')
|
||||
assert len(response.pyquery.find('select#id_ou optgroup')) == 2
|
||||
assert set([elt.text for elt in response.pyquery.find('select#id_ou option')]) == set(
|
||||
[u'Default organizational unit', u'OU1', u'OU2', u'---------']
|
||||
[u'Default organizational unit', 'OU1', 'OU2', '---------']
|
||||
)
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == u'Default organizational unit'
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == 'Default organizational unit'
|
||||
|
||||
# Create a service
|
||||
service = models.Service.objects.create(name='Service', slug='service', ou=ou1)
|
||||
response = app.get('/login/')
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == u'Default organizational unit'
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == 'Default organizational unit'
|
||||
|
||||
# service is specified but not access-control is defined, default for user is selected
|
||||
response = app.get('/login/?service=service')
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == u'Default organizational unit'
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == 'Default organizational unit'
|
||||
|
||||
# service is specified, access control is defined but role is empty, default for user is selected
|
||||
service.authorized_roles.through.objects.create(service=service, role=role_ou1)
|
||||
response = app.get('/login/?service=service')
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == u'Default organizational unit'
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == 'Default organizational unit'
|
||||
|
||||
# user is added to role_ou1, default for user is still selected
|
||||
user_ou1.roles.add(role_ou1)
|
||||
response = app.get('/login/?service=service')
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == u'Default organizational unit'
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == 'Default organizational unit'
|
||||
|
||||
# Clear cookies, OU1 is selected
|
||||
app.cookiejar.clear()
|
||||
response = app.get('/login/?service=service')
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == u'OU1'
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == 'OU1'
|
||||
|
||||
# if we change the user's ou, then default selected OU changes
|
||||
user_ou1.ou = ou2
|
||||
user_ou1.save()
|
||||
response = app.get('/login/?service=service')
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == u'OU2'
|
||||
assert response.pyquery.find('select#id_ou option[selected]')[0].text == 'OU2'
|
||||
|
||||
|
||||
def test_login_test_cookie(app, simple_user):
|
||||
|
|
|
@ -373,7 +373,7 @@ def test_manager_one_ou(app, superuser, admin, simple_role, settings):
|
|||
assert 'search-ou' not in form.fields
|
||||
q = response.pyquery.remove_namespaces()
|
||||
assert len(q('table tbody tr')) == 1
|
||||
assert q('table tbody tr').text() == u'simple role'
|
||||
assert q('table tbody tr').text() == 'simple role'
|
||||
assert q('table tbody tr').attr('data-url') == '/manage/roles/%s/' % simple_role.pk
|
||||
|
||||
form.set('search-internals', True)
|
||||
|
@ -392,14 +392,14 @@ def test_manager_one_ou(app, superuser, admin, simple_role, settings):
|
|||
assert 'search-ou' not in response.form.fields
|
||||
q = response.pyquery.remove_namespaces()
|
||||
assert len(q('table tbody tr')) == 1
|
||||
assert q('table tbody td.name').text() == u'simple role'
|
||||
assert q('table tbody td.name').text() == 'simple role'
|
||||
|
||||
response.form.set('search-internals', True)
|
||||
response = response.form.submit()
|
||||
q = response.pyquery.remove_namespaces()
|
||||
assert len(q('table tbody tr')) == 6
|
||||
for elt in q('table tbody td.name a'):
|
||||
assert 'Manager' in elt.text or elt.text == u'simple role'
|
||||
assert 'Manager' in elt.text or elt.text == 'simple role'
|
||||
|
||||
test_user_listing(admin)
|
||||
app.session.flush()
|
||||
|
@ -436,7 +436,7 @@ def test_manager_many_ou(app, superuser, admin, simple_role, role_ou1, admin_ou1
|
|||
assert not checked or key == str(get_default_ou().pk)
|
||||
q = response.pyquery.remove_namespaces()
|
||||
assert len(q('table tbody tr')) == 1
|
||||
assert q('table tbody tr').text() == u'simple role'
|
||||
assert q('table tbody tr').text() == 'simple role'
|
||||
|
||||
response.form.set('search-ou', 'all')
|
||||
response = response.form.submit()
|
||||
|
@ -478,7 +478,7 @@ def test_manager_many_ou(app, superuser, admin, simple_role, role_ou1, admin_ou1
|
|||
q = response.pyquery.remove_namespaces()
|
||||
assert len(q('table tbody tr')) == 2
|
||||
names = [elt.text for elt in q('table tbody td.name a')]
|
||||
assert set(names) == {u'simple role', u'role_ou1'}
|
||||
assert set(names) == {u'simple role', 'role_ou1'}
|
||||
|
||||
response.form.set('search-ou', 'all')
|
||||
response.form.set('search-internals', True)
|
||||
|
@ -490,8 +490,8 @@ def test_manager_many_ou(app, superuser, admin, simple_role, role_ou1, admin_ou1
|
|||
'OU1' in elt.text
|
||||
or 'Default' in elt.text
|
||||
or 'Manager' in elt.text
|
||||
or elt.text == u'simple role'
|
||||
or elt.text == u'role_ou1'
|
||||
or elt.text == 'simple role'
|
||||
or elt.text == 'role_ou1'
|
||||
)
|
||||
|
||||
response.form.set('search-ou', 'none')
|
||||
|
@ -854,10 +854,10 @@ def test_roles_widget(admin, app, db):
|
|||
assert len(response.json['results']) == 3
|
||||
response = app.get(url, params={'field_id': field_id, 'term': 'Admin cass'})
|
||||
assert len(response.json['results']) == 1
|
||||
assert response.json['results'][0]['text'] == u'Cassis - Administrateur'
|
||||
assert response.json['results'][0]['text'] == 'Cassis - Administrateur'
|
||||
response = app.get(url, params={'field_id': field_id, 'term': force_str('Admin édou')})
|
||||
assert len(response.json['results']) == 1
|
||||
assert response.json['results'][0]['text'] == u'La Bédoule - Administrateur'
|
||||
assert response.json['results'][0]['text'] == 'La Bédoule - Administrateur'
|
||||
|
||||
|
||||
def test_roles_for_change_widget(admin, app, db):
|
||||
|
|
|
@ -366,8 +366,8 @@ def test_attribute_model(app, db, settings, mailoutbox):
|
|||
|
||||
response = app.get(reverse('account_management'))
|
||||
|
||||
assert u'Nom' in response.text
|
||||
assert u'Prénom' not in response.text
|
||||
assert 'Nom' in response.text
|
||||
assert 'Prénom' not in response.text
|
||||
|
||||
response = app.get(reverse('profile_edit'))
|
||||
assert 'profession' in response.form.fields
|
||||
|
@ -382,12 +382,12 @@ def test_attribute_model(app, db, settings, mailoutbox):
|
|||
|
||||
response = response.follow()
|
||||
|
||||
assert u'Nom' in response.text
|
||||
assert u'Doe' in response.text
|
||||
assert u'Profession' not in response.text
|
||||
assert u'pompier' not in response.text
|
||||
assert u'Prénom' not in response.text
|
||||
assert u'John' not in response.text
|
||||
assert 'Nom' in response.text
|
||||
assert 'Doe' in response.text
|
||||
assert 'Profession' not in response.text
|
||||
assert 'pompier' not in response.text
|
||||
assert 'Prénom' not in response.text
|
||||
assert 'John' not in response.text
|
||||
|
||||
|
||||
def test_registration_email_blacklist(app, settings, db):
|
||||
|
@ -414,10 +414,10 @@ def test_registration_bad_email(app, db, settings):
|
|||
response = app.post(reverse('registration_register'), params={'email': 'fred@0d..be'}, status=200)
|
||||
assert 'Enter a valid email address.' in response.context['form'].errors['email']
|
||||
|
||||
response = app.post(reverse('registration_register'), params={'email': u'ééééé'}, status=200)
|
||||
response = app.post(reverse('registration_register'), params={'email': 'ééééé'}, status=200)
|
||||
assert 'Enter a valid email address.' in response.context['form'].errors['email']
|
||||
|
||||
response = app.post(reverse('registration_register'), params={'email': u''}, status=200)
|
||||
response = app.post(reverse('registration_register'), params={'email': ''}, status=200)
|
||||
assert 'This field is required.' in response.context['form'].errors['email']
|
||||
|
||||
|
||||
|
|
|
@ -744,8 +744,8 @@ John,Doe,test2'''
|
|||
def test_manager_create_user_next(superuser_or_admin, app, ou1):
|
||||
login(app, superuser_or_admin, '/manage/')
|
||||
|
||||
next_url = u'/example.nowhere.null/'
|
||||
url = u'/manage/users/%s/add/?next=%s' % (ou1.pk, next_url)
|
||||
next_url = '/example.nowhere.null/'
|
||||
url = '/manage/users/%s/add/?next=%s' % (ou1.pk, next_url)
|
||||
response = app.get(url)
|
||||
|
||||
# cancel is not handled through form submission, it's a link
|
||||
|
@ -753,9 +753,9 @@ def test_manager_create_user_next(superuser_or_admin, app, ou1):
|
|||
assert response.pyquery.remove_namespaces()('a.cancel').attr('href') == '../..'
|
||||
assert response.pyquery.remove_namespaces()('input[name="next"]').attr('value') == next_url
|
||||
|
||||
next_url = u'/example.nowhere.null/$UUID/'
|
||||
cancel_url = u'/example.nowhere.cancel/'
|
||||
url = u'/manage/users/%s/add/?next=%s&cancel=%s' % (ou1.pk, next_url, cancel_url)
|
||||
next_url = '/example.nowhere.null/$UUID/'
|
||||
cancel_url = '/example.nowhere.cancel/'
|
||||
url = '/manage/users/%s/add/?next=%s&cancel=%s' % (ou1.pk, next_url, cancel_url)
|
||||
response = app.get(url)
|
||||
|
||||
assert response.pyquery.remove_namespaces()('a.cancel').attr('href') == cancel_url
|
||||
|
@ -809,8 +809,8 @@ Elliott,3'''
|
|||
|
||||
|
||||
def test_manager_create_user_next_form_error(superuser_or_admin, app, ou1):
|
||||
next_url = u'/example.nowhere.null/'
|
||||
url = u'/manage/users/%s/add/?next=%s' % (ou1.pk, next_url)
|
||||
next_url = '/example.nowhere.null/'
|
||||
url = '/manage/users/%s/add/?next=%s' % (ou1.pk, next_url)
|
||||
login(app, superuser_or_admin, '/manage/')
|
||||
response = app.get(url)
|
||||
form = response.form
|
||||
|
@ -822,8 +822,8 @@ def test_manager_create_user_next_form_error(superuser_or_admin, app, ou1):
|
|||
|
||||
|
||||
def test_manager_add_user_querystring(superuser_or_admin, app, ou1):
|
||||
querystring = u'stay_here=true'
|
||||
url = u'/manage/users/add/?%s' % querystring
|
||||
querystring = 'stay_here=true'
|
||||
url = '/manage/users/add/?%s' % querystring
|
||||
login(app, superuser_or_admin, '/manage/')
|
||||
response = app.get(url)
|
||||
|
||||
|
@ -831,8 +831,8 @@ def test_manager_add_user_querystring(superuser_or_admin, app, ou1):
|
|||
|
||||
|
||||
def test_manager_edit_user_next(app, simple_user, superuser_or_admin):
|
||||
next_url = u'/example.nowhere.null/'
|
||||
url = u'/manage/users/%s/edit/?next=%s' % (simple_user.pk, next_url)
|
||||
next_url = '/example.nowhere.null/'
|
||||
url = '/manage/users/%s/edit/?next=%s' % (simple_user.pk, next_url)
|
||||
login(app, superuser_or_admin, '/manage/')
|
||||
response = app.get(url)
|
||||
|
||||
|
@ -845,8 +845,8 @@ def test_manager_edit_user_next(app, simple_user, superuser_or_admin):
|
|||
|
||||
|
||||
def test_manager_edit_user_next_form_error(superuser_or_admin, app, ou1, simple_user):
|
||||
next_url = u'/example.nowhere.null/'
|
||||
url = u'/manage/users/%s/edit/?next=%s' % (simple_user.pk, next_url)
|
||||
next_url = '/example.nowhere.null/'
|
||||
url = '/manage/users/%s/edit/?next=%s' % (simple_user.pk, next_url)
|
||||
login(app, superuser_or_admin, '/manage/')
|
||||
response = app.get(url)
|
||||
form = response.form
|
||||
|
@ -873,7 +873,7 @@ def test_ou_hide_username(admin, app, db):
|
|||
some_ou = OU.objects.create(name=u'Some Ou', show_username=False)
|
||||
|
||||
login(app, admin, '/manage/')
|
||||
url = u'/manage/users/%s/add/' % some_ou.pk
|
||||
url = '/manage/users/%s/add/' % some_ou.pk
|
||||
response = app.get(url)
|
||||
q = response.pyquery.remove_namespaces()
|
||||
assert len(q('p[id="id_username_p"]')) == 0
|
||||
|
@ -893,7 +893,7 @@ def test_manager_edit_user_email_verified(app, simple_user, superuser_or_admin):
|
|||
simple_user.email_verified = True
|
||||
simple_user.save()
|
||||
|
||||
url = u'/manage/users/%s/edit/' % simple_user.pk
|
||||
url = '/manage/users/%s/edit/' % simple_user.pk
|
||||
login(app, superuser_or_admin, '/manage/')
|
||||
|
||||
user = User.objects.get(id=simple_user.id)
|
||||
|
@ -909,7 +909,7 @@ def test_manager_edit_user_email_verified(app, simple_user, superuser_or_admin):
|
|||
|
||||
|
||||
def test_manager_edit_user_address_autocomplete(app, simple_user, superuser_or_admin):
|
||||
url = u'/manage/users/%s/edit/' % simple_user.pk
|
||||
url = '/manage/users/%s/edit/' % simple_user.pk
|
||||
login(app, superuser_or_admin, '/manage/')
|
||||
|
||||
Attribute.objects.create(
|
||||
|
|
|
@ -261,7 +261,7 @@ def call_command(*args, **kwargs):
|
|||
def text_content(node):
|
||||
"""Extract text content from node and all its children. Equivalent to
|
||||
xmlNodeGetContent from libxml."""
|
||||
return u''.join(node.itertext()) if node is not None else ''
|
||||
return ''.join(node.itertext()) if node is not None else ''
|
||||
|
||||
|
||||
def assert_event(event_type_name, user=None, session=None, service=None, **data):
|
||||
|
|
Loading…
Reference in New Issue