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})
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})
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()]
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'
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()]
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)
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)
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)
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)
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)
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)
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)