def test_use_uuid_as_userid_enabled(self): """Test generating a user id if the use_uuid_as_userid setting is enabled. """ self.security_settings.use_uuid_as_userid = True form = BaseRegistrationForm(self.portal, {}) data = {} user_id = form.generate_user_id(data) self.assertEqual(data.get('user_id'), user_id) self.assertEqual(len(data.get('user_id')), len(uuid_userid_generator())) data = { 'username': '******', 'fullname': 'Joe User', 'email': '*****@*****.**' } user_id = form.generate_user_id(data) self.assertNotEqual(user_id, 'joe') self.assertEqual(data.get('user_id'), user_id) self.assertEqual(len(user_id), len(uuid_userid_generator())) # Calling it twice should give a different result, as every # call to the uuid generator should be unique. self.assertNotEqual(form.generate_user_id(data), form.generate_user_id(data))
def test_use_uuid_as_userid_enabled(self): """Test generating a user id if the use_uuid_as_userid setting is enabled. """ self.security_settings.use_uuid_as_userid = True form = BaseRegistrationForm(self.portal, {}) data = {} user_id = form.generate_user_id(data) self.assertEqual(data.get('user_id'), user_id) self.assertEqual(len(data.get('user_id')), len(uuid_userid_generator())) data = {'username': '******', 'fullname': 'Joe User', 'email': '*****@*****.**'} user_id = form.generate_user_id(data) self.assertNotEqual(user_id, 'joe') self.assertEqual(data.get('user_id'), user_id) self.assertEqual(len(user_id), len(uuid_userid_generator())) # Calling it twice should give a different result, as every # call to the uuid generator should be unique. self.assertNotEqual(form.generate_user_id(data), form.generate_user_id(data))
def test_default(self): """Test generating user_id with no custom user id generator and the default security settings. """ form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), '') self.assertEqual(data.get('user_id'), '') # An explicit username is taken by default. data = { 'username': '******', 'fullname': 'Joe User', 'email': '*****@*****.**' } self.assertEqual(form.generate_user_id(data), 'joe') self.assertEqual(data.get('user_id'), 'joe') # When no username is there, we try a normalized fullname. data = {'fullname': 'Joe User', 'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), 'joe-user') self.assertEqual(data.get('user_id'), 'joe-user') # With no fullname, we take the email. data = {'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), '*****@*****.**') self.assertEqual(data.get('user_id'), '*****@*****.**')
def test_default(self): """Test generating user_id with no custom user id generator and the default security settings. """ form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), '') self.assertEqual(data.get('user_id'), '') # An explicit username is taken by default. data = {'username': '******', 'fullname': 'Joe User', 'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), 'joe') self.assertEqual(data.get('user_id'), 'joe') # When no username is there, we try a normalized fullname. data = {'fullname': 'Joe User', 'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), 'joe-user') self.assertEqual(data.get('user_id'), 'joe-user') # With no fullname, we take the email. data = {'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), '*****@*****.**') self.assertEqual(data.get('user_id'), '*****@*****.**')
def test_generate_uuid_user_id(self): self.assertTrue(self.ptool.site_properties.getProperty("use_uuid_as_userid")) form = BaseRegistrationForm(self.portal, {}) data = {"username": "******", "fullname": "Joe User", "email": "*****@*****.**"} user_id = form.generate_user_id(data) self.assertNotEqual(user_id, "joe") self.assertEqual(data.get("user_id"), user_id) self.assertEqual(len(user_id), len(uuid_userid_generator())) # Calling it twice should give a different result, as every # call to the uuid generator should be unique. self.assertNotEqual(form.generate_user_id(data), form.generate_user_id(data))
def test_generate_uuid_user_id(self): form = BaseRegistrationForm(self.portal, {}) data = {'username': '******', 'fullname': 'Joe User', 'email': '*****@*****.**'} user_id = form.generate_user_id(data) self.assertNotEqual(user_id, 'joe') self.assertEqual(data.get('user_id'), user_id) self.assertEqual(len(user_id), len(uuid_userid_generator())) # Calling it twice should give a different result, as every # call to the uuid generator should be unique. self.assertNotEqual(form.generate_user_id(data), form.generate_user_id(data))
def test_use_email_as_login_no_fullname_uppercase_email(self): """"Test generating a user id if the use_email_as_login setting is enabled and full name is not provided, with an uppercase e-mail. """ self.security_settings.use_email_as_login = True form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), '') self.assertEqual(data.get('user_id'), '') data = {'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), '*****@*****.**') self.assertEqual(data.get('user_id'), '*****@*****.**')
def test_use_email_as_login_has_fullname(self): """"Test generating a user id if the use_email_as_login setting is enabled and full name is provided. """ self.security_settings.use_email_as_login = True form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), '') self.assertEqual(data.get('user_id'), '') data = {'fullname': 'Joe User', 'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), 'joe-user') self.assertEqual(data.get('user_id'), 'joe-user')
def test_use_email_as_login_no_fullname_uppercase_email(self): """"Test generating a user id if the use_email_as_login setting is enabled and full name is not provided, with an uppercase e-mail. """ self.security_settings.use_email_as_login = True form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), '') self.assertEqual(data.get('user_id'), '') data = {'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), '*****@*****.**') self.assertEqual(data.get('user_id'), '*****@*****.**')
def test_use_email_as_login_has_fullname(self): """"Test generating a user id if the use_email_as_login setting is enabled and full name is provided. """ self.security_settings.use_email_as_login = True form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), '') self.assertEqual(data.get('user_id'), '') data = {'fullname': 'Joe User', 'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), 'joe-user') self.assertEqual(data.get('user_id'), 'joe-user')
def test_generate_user_id_email(self): # It is easy to force the email as user id. def email_getter(data): return data.get("email") sm = getSiteManager(context=self.portal) sm.registerUtility(email_getter, provided=IUserIdGenerator) form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), "") self.assertEqual(data.get("user_id"), "") data = {"username": "******", "fullname": "Joe User", "email": "*****@*****.**"} self.assertEqual(form.generate_user_id(data), "*****@*****.**") self.assertEqual(data.get("user_id"), "*****@*****.**")
def test_generate_user_id_simplistic(self): # Test a simplistic user id generator. def one_generator(data): return "one" sm = getSiteManager(context=self.portal) sm.registerUtility(one_generator, provided=IUserIdGenerator) form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), "one") self.assertEqual(data.get("user_id"), "one") data = {"username": "******", "fullname": "Joe User", "email": "*****@*****.**"} self.assertEqual(form.generate_user_id(data), "one") self.assertEqual(data.get("user_id"), "one")
def test_generate_user_id_email(self): # It is easy to force the email as user id. def email_getter(data): return data.get('email') sm = getSiteManager(context=self.portal) sm.registerUtility(email_getter, provided=IUserIdGenerator) form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), '') self.assertEqual(data.get('user_id'), '') data = {'username': '******', 'fullname': 'Joe User', 'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), '*****@*****.**') self.assertEqual(data.get('user_id'), '*****@*****.**')
def test_generate_user_id_simplistic(self): # Test a simplistic user id generator. def one_generator(data): return 'one' sm = getSiteManager(context=self.portal) sm.registerUtility(one_generator, provided=IUserIdGenerator) form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), 'one') self.assertEqual(data.get('user_id'), 'one') data = {'username': '******', 'fullname': 'Joe User', 'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), 'one') self.assertEqual(data.get('user_id'), 'one')
def test_generate_user_id_with_uuid(self): sm = getSiteManager(context=self.portal) sm.registerUtility(uuid_userid_generator, provided=IUserIdGenerator) form = BaseRegistrationForm(self.portal, {}) data = {} user_id = form.generate_user_id(data) self.assertEqual(data.get("user_id"), user_id) self.assertEqual(len(data.get("user_id")), len(uuid_userid_generator())) data = {"username": "******", "fullname": "Joe User", "email": "*****@*****.**"} user_id = form.generate_user_id(data) self.assertNotEqual(user_id, "joe") self.assertEqual(data.get("user_id"), user_id) self.assertEqual(len(user_id), len(uuid_userid_generator())) # Calling it twice should give a different result, as every # call to the uuid generator should be unique. self.assertNotEqual(form.generate_user_id(data), form.generate_user_id(data))
def test_standard_generate_user_id(self): form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), "") self.assertEqual(data.get("user_id"), "") # An explicit username is taken by default. data = {"username": "******", "fullname": "Joe User", "email": "*****@*****.**"} self.assertEqual(form.generate_user_id(data), "joe") self.assertEqual(data.get("user_id"), "joe") # When no username is there, we try a normalized fullname. data = {"fullname": "Joe User", "email": "*****@*****.**"} self.assertEqual(form.generate_user_id(data), "joe-user") self.assertEqual(data.get("user_id"), "joe-user") # With no fullname, we take the email. data = {"email": "*****@*****.**"} self.assertEqual(form.generate_user_id(data), "*****@*****.**") self.assertEqual(data.get("user_id"), "*****@*****.**")
def test_custom_generator(self): """Test if a custom user id generator overrides the default behavior. """ def one_generator(data): return 'one' sm = getSiteManager(context=self.portal) sm.registerUtility(one_generator, provided=IUserIdGenerator) form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), 'one') self.assertEqual(data.get('user_id'), 'one') data = {'username': '******', 'fullname': 'Joe User', 'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), 'one') self.assertEqual(data.get('user_id'), 'one')
def test_custom_generator(self): """Test if a custom user id generator overrides the default behavior. """ def one_generator(data): return 'one' sm = getSiteManager(context=self.portal) sm.registerUtility(one_generator, provided=IUserIdGenerator) form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), 'one') self.assertEqual(data.get('user_id'), 'one') data = { 'username': '******', 'fullname': 'Joe User', 'email': '*****@*****.**' } self.assertEqual(form.generate_user_id(data), 'one') self.assertEqual(data.get('user_id'), 'one')
def test_standard_generate_user_id(self): form = BaseRegistrationForm(self.portal, {}) data = {} self.assertEqual(form.generate_user_id(data), '') self.assertEqual(data.get('user_id'), '') # An explicit username is taken by default. data = {'username': '******', 'fullname': 'Joe User', 'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), 'joe') self.assertEqual(data.get('user_id'), 'joe') # When no username is there, we try a normalized fullname. data = {'fullname': 'Joe User', 'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), 'joe-user') self.assertEqual(data.get('user_id'), 'joe-user') # With no fullname, we take the email. data = {'email': '*****@*****.**'} self.assertEqual(form.generate_user_id(data), '*****@*****.**') self.assertEqual(data.get('user_id'), '*****@*****.**')