コード例 #1
0
    def test_ValidUsername(self):
        validator = v.ValidUsername()

        self.assertRaises(formencode.Invalid, validator.to_python, 'default')
        self.assertRaises(formencode.Invalid, validator.to_python, 'new_user')
        self.assertRaises(formencode.Invalid, validator.to_python, '.,')
        self.assertRaises(formencode.Invalid, validator.to_python,
                          TEST_USER_ADMIN_LOGIN)
        self.assertEqual('test', validator.to_python('test'))

        validator = v.ValidUsername(edit=True, old_data={'user_id': 1})
コード例 #2
0
def test_ValidUsername():
    validator = v.ValidUsername()

    pytest.raises(formencode.Invalid, validator.to_python, 'default')
    pytest.raises(formencode.Invalid, validator.to_python, 'new_user')
    pytest.raises(formencode.Invalid, validator.to_python, '.,')
    pytest.raises(
        formencode.Invalid, validator.to_python, TEST_USER_ADMIN_LOGIN)
    assert 'test' == validator.to_python('test')

    validator = v.ValidUsername(edit=True, old_data={'user_id': 1})
コード例 #3
0
    class _UserForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = True
        username = All(v.UnicodeString(strip=True, min=1, not_empty=True),
                       v.ValidUsername(edit, old_data))
        if edit:
            new_password = All(
                v.ValidPassword(),
                v.UnicodeString(strip=False, min=6, not_empty=False))
            password_confirmation = All(
                v.ValidPassword(),
                v.UnicodeString(strip=False, min=6, not_empty=False),
            )
            admin = v.StringBoolean(if_missing=False)
        else:
            password = All(v.ValidPassword(),
                           v.UnicodeString(strip=False, min=6, not_empty=True))
            password_confirmation = All(
                v.ValidPassword(),
                v.UnicodeString(strip=False, min=6, not_empty=False))

        active = v.StringBoolean(if_missing=False)
        firstname = v.UnicodeString(strip=True, min=1, not_empty=False)
        lastname = v.UnicodeString(strip=True, min=1, not_empty=False)
        email = All(v.Email(not_empty=True), v.UniqSystemEmail(old_data))

        chained_validators = [v.ValidPasswordsMatch()]
コード例 #4
0
    def test_create_err(self):
        self.log_user()
        username = '******'
        password = ''
        name = 'name'
        lastname = 'lastname'
        email = 'errmail.com'

        response = self.app.post(
            url('users'), {
                'username': username,
                'password': password,
                'name': name,
                'active': False,
                'lastname': lastname,
                'email': email
            })

        msg = validators.ValidUsername(False,
                                       {})._messages['system_invalid_username']
        msg = h.html_escape(msg % {'username': '******'})
        response.mustcontain("""<span class="error-message">%s</span>""" % msg)
        response.mustcontain(
            """<span class="error-message">Please enter a value</span>""")
        response.mustcontain(
            """<span class="error-message">An email address must contain a single @</span>"""
        )

        def get_user():
            self.Session.query(User).filter(User.username == username).one()

        self.assertRaises(NoResultFound, get_user), 'found user in database'
コード例 #5
0
    class _UserForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = True
        username = All(v.UnicodeString(strip=True, min=1, not_empty=True),
                       v.ValidUsername(edit, old_data))
        if edit:
            new_password = All(
                v.ValidPassword(),
                v.UnicodeString(strip=False, min=6, not_empty=False))
            password_confirmation = All(
                v.ValidPassword(),
                v.UnicodeString(strip=False, min=6, not_empty=False),
            )
            admin = v.StringBoolean(if_missing=False)
        else:
            password = All(v.ValidPassword(),
                           v.UnicodeString(strip=False, min=6, not_empty=True))
            password_confirmation = All(
                v.ValidPassword(),
                v.UnicodeString(strip=False, min=6, not_empty=False))

        password_change = v.StringBoolean(if_missing=False)
        create_repo_group = v.StringBoolean(if_missing=False)

        active = v.StringBoolean(if_missing=False)
        firstname = v.UnicodeString(strip=True, min=1, not_empty=False)
        lastname = v.UnicodeString(strip=True, min=1, not_empty=False)
        email = All(v.Email(not_empty=True), v.UniqSystemEmail(old_data))
        extern_name = v.UnicodeString(strip=True)
        extern_type = v.UnicodeString(strip=True)
        language = v.OneOf(available_languages,
                           hideList=False,
                           testValueList=True,
                           if_missing=None)
        chained_validators = [v.ValidPasswordsMatch()]
コード例 #6
0
    def test_Message_extractor(self):
        validator = v.ValidUsername()
        self.assertRaises(formencode.Invalid, validator.to_python, 'default')

        class StateObj(object):
            pass

        self.assertRaises(formencode.Invalid, validator.to_python, 'default',
                          StateObj)
コード例 #7
0
ファイル: test_login.py プロジェクト: jeffjirsa/rhodecode
    def test_register_err_same_username(self):
        uname = 'test_admin'
        response = self.app.post(
            url(controller='login', action='register'), {
                'username': uname,
                'password': '******',
                'password_confirmation': 'test12',
                'email': '*****@*****.**',
                'firstname': 'test',
                'lastname': 'test'
            })

        msg = validators.ValidUsername()._messages['username_exists']
        msg = h.html_escape(msg % {'username': uname})
        response.mustcontain(msg)
コード例 #8
0
ファイル: test_login.py プロジェクト: jeffjirsa/rhodecode
    def test_register_err_case_sensitive(self):
        usr = '******'
        response = self.app.post(
            url(controller='login', action='register'), {
                'username': usr,
                'password': '******',
                'password_confirmation': 'test12',
                'email': 'goodmailm',
                'firstname': 'test',
                'lastname': 'test'
            })

        response.mustcontain('An email address must contain a single @')
        msg = validators.ValidUsername()._messages['username_exists']
        msg = h.html_escape(msg % {'username': usr})
        response.mustcontain(msg)
コード例 #9
0
    def test_register_err_case_sensitive(self):
        usr = '******'
        response = self.app.post(
            register_url, {
                'username': usr,
                'password': '******',
                'password_confirmation': 'test12',
                'email': 'goodmailm',
                'firstname': 'test',
                'lastname': 'test'
            })

        assertr = AssertResponse(response)
        msg = validators.ValidUsername()._messages['username_exists']
        msg = msg % {'username': usr}
        assertr.element_contains('#username+.error-message', msg)
コード例 #10
0
    def test_register_err_same_username(self):
        uname = 'test_admin'
        response = self.app.post(
            register_url, {
                'username': uname,
                'password': '******',
                'password_confirmation': 'test12',
                'email': '*****@*****.**',
                'firstname': 'test',
                'lastname': 'test'
            })

        assertr = AssertResponse(response)
        msg = validators.ValidUsername()._messages['username_exists']
        msg = msg % {'username': uname}
        assertr.element_contains('#username+.error-message', msg)
コード例 #11
0
    def test_my_account_update_err(self):
        self.log_user('test_regular2', 'test12')

        new_email = 'newmail.pl'
        response = self.app.post(url('my_account'),
                                 params={
                                     'username': '******',
                                     'new_password': '******',
                                     'password_confirmation': 'test122',
                                     'firstname': 'NewName',
                                     'lastname': 'NewLastname',
                                     'email': new_email,
                                     'csrf_token': self.csrf_token,
                                 })

        response.mustcontain('An email address must contain a single @')
        from rhodecode.model import validators
        msg = validators.ValidUsername(
            edit=False, old_data={})._messages['username_exists']
        msg = h.html_escape(msg % {'username': '******'})
        response.mustcontain(u"%s" % msg)
コード例 #12
0
    def test_my_account_update_err(self):
        self.log_user('test_regular2', 'test12')

        new_email = 'newmail.pl'
        response = self.app.post(url('admin_settings_my_account_update'),
                                 params=dict(
                                     _method='put',
                                     username='******',
                                     new_password='******',
                                     password_confirmation='test122',
                                     firstname='NewName',
                                     lastname='NewLastname',
                                     email=new_email,
                                 ))

        response.mustcontain('An email address must contain a single @')
        from rhodecode.model import validators
        msg = validators.ValidUsername(
            edit=False, old_data={})._messages['username_exists']
        msg = h.html_escape(msg % {'username': '******'})
        response.mustcontain(u"%s" % msg)