def test_my_account_update(self): self.log_user() new_email = '*****@*****.**' new_name = 'NewName' new_lastname = 'NewLastname' new_password = '******' response = self.app.post(url('admin_settings_my_account_update'), params=dict(_method='put', username='******', new_password=new_password, password_confirmation = new_password, password='', name=new_name, lastname=new_lastname, email=new_email,)) response.follow() assert 'Your account was updated successfully' in response.session['flash'][0][1], 'no flash message about success of change' user = self.sa.query(User).filter(User.username == 'test_admin').one() assert user.email == new_email , 'incorrect user email after update got %s vs %s' % (user.email, new_email) assert user.name == new_name, 'updated field mismatch %s vs %s' % (user.name, new_name) assert user.lastname == new_lastname, 'updated field mismatch %s vs %s' % (user.lastname, new_lastname) assert check_password(new_password, user.password) is True, 'password field mismatch %s vs %s' % (user.password, new_password) #bring back the admin settings old_email = '*****@*****.**' old_name = 'RhodeCode' old_lastname = 'Admin' old_password = '******' response = self.app.post(url('admin_settings_my_account_update'), params=dict( _method='put', username='******', new_password=old_password, password_confirmation = old_password, password='', name=old_name, lastname=old_lastname, email=old_email,)) response.follow() self.checkSessionFlash(response, 'Your account was updated successfully') user = self.sa.query(User).filter(User.username == 'test_admin').one() assert user.email == old_email , 'incorrect user email after update got %s vs %s' % (user.email, old_email) assert user.email == old_email , 'incorrect user email after update got %s vs %s' % (user.email, old_email) assert user.name == old_name, 'updated field mismatch %s vs %s' % (user.name, old_name) assert user.lastname == old_lastname, 'updated field mismatch %s vs %s' % (user.lastname, old_lastname) assert check_password(old_password, user.password) is True , 'password updated field mismatch %s vs %s' % (user.password, old_password)
def test_register_ok(self): username = '******' password = '******' email = '*****@*****.**' name = 'testname' lastname = 'testlastname' response = self.app.post( url(controller='login', action='register'), { 'username': username, 'password': password, 'password_confirmation': password, 'email': email, 'firstname': name, 'lastname': lastname, 'admin': True }) # This should be overriden self.assertEqual(response.status, '302 Found') self.checkSessionFlash( response, 'You have successfully registered into RhodeCode') ret = self.Session().query(User).filter( User.username == 'test_regular4').one() self.assertEqual(ret.username, username) self.assertEqual(check_password(password, ret.password), True) self.assertEqual(ret.email, email) self.assertEqual(ret.name, name) self.assertEqual(ret.lastname, lastname) self.assertNotEqual(ret.api_key, None) self.assertEqual(ret.admin, False)
def test_create(self): self.log_user() username = "******" password = "******" password_confirmation = password name = "name" lastname = "lastname" email = "*****@*****.**" response = self.app.post( url("users"), { "username": username, "password": password, "password_confirmation": password_confirmation, "firstname": name, "active": True, "lastname": lastname, "email": email, }, ) self.checkSessionFlash(response, """created user %s""" % (username)) new_user = self.Session.query(User).filter(User.username == username).one() self.assertEqual(new_user.username, username) self.assertEqual(check_password(password, new_user.password), True) self.assertEqual(new_user.name, name) self.assertEqual(new_user.lastname, lastname) self.assertEqual(new_user.email, email) response.follow() response = response.follow() response.mustcontain("""newtestuser""")
def test_create(self): self.log_user() username = '******' password = '******' name = 'name' lastname = 'lastname' email = '*****@*****.**' response = self.app.post(url('users'), {'username':username, 'password':password, 'name':name, 'active':True, 'lastname':lastname, 'email':email}) assert '''created user %s''' % (username) in response.session['flash'][0], 'No flash message about new user' new_user = self.sa.query(User).filter(User.username == username).one() assert new_user.username == username, 'wrong info about username' assert check_password(password, new_user.password) == True , 'wrong info about password' assert new_user.name == name, 'wrong info about name' assert new_user.lastname == lastname, 'wrong info about lastname' assert new_user.email == email, 'wrong info about email' response.follow() response = response.follow() assert """edit">newtestuser</a>""" in response.body
def test_create(self): self.log_user() username = '******' password = '******' password_confirmation = password name = 'name' lastname = 'lastname' email = '*****@*****.**' response = self.app.post( url('users'), { 'username': username, 'password': password, 'password_confirmation': password_confirmation, 'firstname': name, 'active': True, 'lastname': lastname, 'email': email }) self.checkSessionFlash(response, '''Created user %s''' % (username)) new_user = self.Session.query(User).\ filter(User.username == username).one() self.assertEqual(new_user.username, username) self.assertEqual(check_password(password, new_user.password), True) self.assertEqual(new_user.name, name) self.assertEqual(new_user.lastname, lastname) self.assertEqual(new_user.email, email) response.follow() response = response.follow() response.mustcontain("""newtestuser""")
def test_register_ok(self): username = '******' password = '******' email = '*****@*****.**' name = 'testname' lastname = 'testlastname' response = self.app.post(url(controller='login', action='register'), {'username': username, 'password': password, 'password_confirmation': password, 'email': email, 'firstname': name, 'lastname': lastname, 'admin': True}) # This should be overriden self.assertEqual(response.status, '302 Found') self.checkSessionFlash(response, 'You have successfully registered into RhodeCode') ret = self.Session().query(User).filter(User.username == 'test_regular4').one() self.assertEqual(ret.username, username) self.assertEqual(check_password(password, ret.password), True) self.assertEqual(ret.email, email) self.assertEqual(ret.name, name) self.assertEqual(ret.lastname, lastname) self.assertNotEqual(ret.api_key, None) self.assertEqual(ret.admin, False)
def test_create(self): self.log_user() username = '******' password = '******' password_confirmation = password name = 'name' lastname = 'lastname' email = '*****@*****.**' response = self.app.post(url('users'), {'username':username, 'password':password, 'password_confirmation':password_confirmation, 'name':name, 'active':True, 'lastname':lastname, 'email':email}) self.assertTrue('''created user %s''' % (username) in response.session['flash'][0]) new_user = self.Session.query(User).\ filter(User.username == username).one() self.assertEqual(new_user.username,username) self.assertEqual(check_password(password, new_user.password),True) self.assertEqual(new_user.name,name) self.assertEqual(new_user.lastname,lastname) self.assertEqual(new_user.email,email) response.follow() response = response.follow() self.assertTrue("""edit">newtestuser</a>""" in response.body)
def test_create(self): self.log_user() username = '******' password = '******' password_confirmation = password name = 'name' lastname = 'lastname' email = '*****@*****.**' response = self.app.post(url('users'), {'username': username, 'password': password, 'password_confirmation': password_confirmation, 'firstname': name, 'active': True, 'lastname': lastname, 'email': email}) self.checkSessionFlash(response, '''Created user %s''' % (username)) new_user = Session().query(User).\ filter(User.username == username).one() self.assertEqual(new_user.username, username) self.assertEqual(check_password(password, new_user.password), True) self.assertEqual(new_user.name, name) self.assertEqual(new_user.lastname, lastname) self.assertEqual(new_user.email, email) response.follow() response = response.follow() response.mustcontain("""newtestuser""")
def test_register_ok(self): username = "******" password = "******" email = "*****@*****.**" name = "testname" lastname = "testlastname" response = self.app.post( url(controller="login", action="register"), { "username": username, "password": password, "password_confirmation": password, "email": email, "firstname": name, "lastname": lastname, "admin": True, }, ) # This should be overriden self.assertEqual(response.status, "302 Found") self.checkSessionFlash(response, "You have successfully registered into rhodecode") ret = self.Session().query(User).filter(User.username == "test_regular4").one() self.assertEqual(ret.username, username) self.assertEqual(check_password(password, ret.password), True) self.assertEqual(ret.email, email) self.assertEqual(ret.name, name) self.assertEqual(ret.lastname, lastname) self.assertNotEqual(ret.api_key, None) self.assertEqual(ret.admin, False)
def test_create(self): self.log_user() username = '******' password = '******' password_confirmation = password name = 'name' lastname = 'lastname' email = '*****@*****.**' response = self.app.post( url('users'), { 'username': username, 'password': password, 'password_confirmation': password_confirmation, 'name': name, 'active': True, 'lastname': lastname, 'email': email }) self.assertTrue('''created user %s''' % (username) in response.session['flash'][0]) new_user = self.Session.query(User).\ filter(User.username == username).one() self.assertEqual(new_user.username, username) self.assertEqual(check_password(password, new_user.password), True) self.assertEqual(new_user.name, name) self.assertEqual(new_user.lastname, lastname) self.assertEqual(new_user.email, email) response.follow() response = response.follow() self.assertTrue("""edit">newtestuser</a>""" in response.body)
def test_register_ok(self): username = '******' password = '******' email = '*****@*****.**' name = 'testname' lastname = 'testlastname' response = self.app.post( register_url, { 'username': username, 'password': password, 'password_confirmation': password, 'email': email, 'firstname': name, 'lastname': lastname, 'admin': True }) # This should be overriden assert response.status == '302 Found' assert_session_flash( response, 'You have successfully registered with RhodeCode') ret = Session().query(User).filter( User.username == 'test_regular4').one() assert ret.username == username assert check_password(password, ret.password) assert ret.email == email assert ret.name == name assert ret.lastname == lastname assert ret.api_key is not None assert not ret.admin
def _password_change(new_user, password): # empty password if not new_user.password: return False # password check is only needed for RhodeCode internal auth calls # in case it's a plugin we don't care if not plugin: # first check if we gave crypted password back, and if it matches # it's not password change if new_user.password == password: return False password_match = check_password(password, new_user.password) if not password_match: return True return False
def test_api_create_user(self): username = '******' email = username + "@foo.com" id_, params = build_data( self.apikey, 'create_user', username=username, email=email, password='******') response = api_call(self.app, params) usr = UserModel().get_by_username(username) ret = { 'msg': 'created new user `%s`' % (username,), 'user': jsonify(usr.get_api_data(include_secrets=True)), } try: expected = ret assert check_password('example', usr.password) assert_ok(id_, expected, given=response.body) finally: fixture.destroy_user(usr.user_id)
def test_register_ok(self): username = '******' password = '******' email = '*****@*****.**' name = 'testname' lastname = 'testlastname' response = self.app.post(url(controller='login', action='register'), {'username':username, 'password':password, 'password_confirmation':password, 'email':email, 'name':name, 'lastname':lastname}) self.assertEqual(response.status , '302 Found') assert 'You have successfully registered into rhodecode' in response.session['flash'][0], 'No flash message about user registration' ret = self.sa.query(User).filter(User.username == 'test_regular4').one() assert ret.username == username , 'field mismatch %s %s' % (ret.username, username) assert check_password(password, ret.password) == True , 'password mismatch' assert ret.email == email , 'field mismatch %s %s' % (ret.email, email) assert ret.name == name , 'field mismatch %s %s' % (ret.name, name) assert ret.lastname == lastname , 'field mismatch %s %s' % (ret.lastname, lastname)
def test_check_password_accepts_unicode(password): result = auth.check_password(password.value, password.hashed) assert result
def test_my_account_update(self): self.log_user() new_email = '*****@*****.**' new_name = 'NewName' new_lastname = 'NewLastname' new_password = '******' response = self.app.post(url('admin_settings_my_account_update'), params=dict( _method='put', username='******', new_password=new_password, password_confirmation=new_password, password='', name=new_name, lastname=new_lastname, email=new_email, )) response.follow() assert 'Your account was updated successfully' in response.session[ 'flash'][0][1], 'no flash message about success of change' user = self.Session.query(User).filter( User.username == 'test_admin').one() assert user.email == new_email, 'incorrect user email after update got %s vs %s' % ( user.email, new_email) assert user.name == new_name, 'updated field mismatch %s vs %s' % ( user.name, new_name) assert user.lastname == new_lastname, 'updated field mismatch %s vs %s' % ( user.lastname, new_lastname) assert check_password( new_password, user.password) is True, 'password field mismatch %s vs %s' % ( user.password, new_password) #bring back the admin settings old_email = '*****@*****.**' old_name = 'RhodeCode' old_lastname = 'Admin' old_password = '******' response = self.app.post(url('admin_settings_my_account_update'), params=dict( _method='put', username='******', new_password=old_password, password_confirmation=old_password, password='', name=old_name, lastname=old_lastname, email=old_email, )) response.follow() self.checkSessionFlash(response, 'Your account was updated successfully') user = self.Session.query(User).filter( User.username == 'test_admin').one() assert user.email == old_email, 'incorrect user email after update got %s vs %s' % ( user.email, old_email) assert user.email == old_email, 'incorrect user email after update got %s vs %s' % ( user.email, old_email) assert user.name == old_name, 'updated field mismatch %s vs %s' % ( user.name, old_name) assert user.lastname == old_lastname, 'updated field mismatch %s vs %s' % ( user.lastname, old_lastname) assert check_password( old_password, user.password ) is True, 'password updated field mismatch %s vs %s' % (user.password, old_password)