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'), '*****@*****.**')
Esempio n. 10
0
    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"), "*****@*****.**")
Esempio n. 17
0
    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'), '*****@*****.**')