Univention Bugzilla – Attachment 8025 Details for
Bug 42313
ucsschool-import: remove illegal characters from username
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
doctests
42313.patch (text/plain), 2.68 KB, created by
Florian Best
on 2016-09-21 15:47:39 CEST
(
hide
)
Description:
doctests
Filename:
MIME Type:
Creator:
Florian Best
Created:
2016-09-21 15:47:39 CEST
Size:
2.68 KB
patch
obsolete
>diff --git a/ucs-school-import/modules/ucsschool/importer/utils/username_handler.py b/ucs-school-import/modules/ucsschool/importer/utils/username_handler.py >index 5f07ab5..7de2acd 100644 >--- a/ucs-school-import/modules/ucsschool/importer/utils/username_handler.py >+++ b/ucs-school-import/modules/ucsschool/importer/utils/username_handler.py >@@ -1,3 +1,4 @@ >+#!/usr/bin/python2.7 > # -*- coding: utf-8 -*- > # > # Univention UCS@school >@@ -96,6 +97,43 @@ class UsernameHandler(object): > > :param name: str: username, possibly a template > :return: str: unique username >+ >+ >>> UsernameHandler(20).format_username('Max.Mustermann') >+ 'Max.Mustermann' >+ >>> UsernameHandler(20).format_username('.') # doctest: +IGNORE_EXCEPTION_DETAIL >+ Traceback (most recent call last): >+ ... >+ FormatError: >+ >>> UsernameHandler(20).format_username('.Max.Mustermann.') >+ 'Max.Mustermann' >+ >>> UsernameHandler(4).format_username('Max.Mustermann') >+ 'M' >+ >>> for c in '\x01\x00\x03\x02\x05\x04\x07\x06\t\x08\x0b\n\r\x0c\x0f\x0e\x11\x10\x13\x12\x15\x14\x17\x16\x19\x18\x1b\x1a\x1d\x1c\x1f\x1e! #"%$\'&)(+*-,/;:=<?>@[]\\_^`{}|\x7f~': >+ ... assert 'Max' == UsernameHandler(20).format_username('Ma%sx' % (c,)) >+ ... >+ >>> UsernameHandler(20).format_username('Max.Mustermann12.4567890') >+ 'Max.Mustermann12' >+ >>> for c in '.1032547698ACBEDGFIHKJMLONQPSRUTWVYXZacbedgfihkjmlonqpsrutwvyxz': >+ ... assert 'Ma%sx' % (c,) == UsernameHandler(20).format_username('Ma%sx' % (c,)) >+ ... >+ >>> UsernameHandler(20).format_username('Max[Muster]Mann') >+ 'MaxMusterMann' >+ >>> UsernameHandler(20).format_username('Max[ALWAYSCOUNTER].Mustermann') >+ 'Max1.Mustermann' >+ >>> UsernameHandler(20).format_username('Max[ALWAYSCOUNTER].Mustermann') >+ 'Max2.Mustermann' >+ >>> UsernameHandler(20).format_username('Max[ALWAYSCOUNTER].Mustermann') >+ 'Max3.Mustermann' >+ >>> UsernameHandler(20).format_username('Max[COUNTER2].Mustermann') >+ 'Max4.Mustermann' >+ >>> UsernameHandler(20).format_username('Maria[ALWAYSCOUNTER].Musterfrau') >+ 'Maria1.Musterfrau' >+ >>> UsernameHandler(20).format_username('Moritz[COUNTER2]') >+ 'Moritz' >+ >>> UsernameHandler(20).format_username('Moritz[COUNTER2]') >+ 'Moritz2' >+ >>> for i, c in enumerate('\x01\x00\x03\x02\x05\x04\x07\x06\t\x08\x0b\n\r\x0c\x0f\x0e\x11\x10\x13\x12\x15\x14\x17\x16\x19\x18\x1b\x1a\x1d\x1c\x1f\x1e! #"%$\'&)(+*-,/;:=<?>@\\_^`{}|\x7f~', 1): >+ ... assert 'Foo%d' % (i) == UsernameHandler(20).format_username('Fo%so[ALWAYSCOUNTER]' % (c,)) > """ > assert isinstance(name, basestring) > ori_name = name >@@ -205,3 +243,8 @@ class UsernameHandler(object): > num = first_time > self.add_to_ldap(name_base, "2") > return num >+ >+ >+if __name__ == '__main__': >+ import doctest >+ doctest.testmod()
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 42313
: 8025 |
8026