##// END OF EJS Templates
Major rewrite of auth objects. Moved parts of filling user data into user model....
Major rewrite of auth objects. Moved parts of filling user data into user model. Rewrote AuthUser adding access by api key.

File last commit:

r893:ead7be02 beta
r1117:6eb5bb24 beta
Show More
test_admin_settings.py
194 lines | 9.6 KiB | text/x-python | PythonLexer
fixed test that broke admin email address
r754 from rhodecode.lib.auth import get_crypt_password, check_password
from rhodecode.model.db import User
renamed project to rhodecode
r547 from rhodecode.tests import *
updated tests for application settings
r893 from rhodecode.model.settings import SettingsModel
renamed project to rhodecode
r547
Refactor codes for scm model...
r691 class TestAdminSettingsController(TestController):
renamed project to rhodecode
r547
def test_index(self):
response = self.app.get(url('admin_settings'))
# Test response...
def test_index_as_xml(self):
response = self.app.get(url('formatted_admin_settings', format='xml'))
def test_create(self):
response = self.app.post(url('admin_settings'))
def test_new(self):
response = self.app.get(url('admin_new_setting'))
def test_new_as_xml(self):
response = self.app.get(url('formatted_admin_new_setting', format='xml'))
def test_update(self):
response = self.app.put(url('admin_setting', setting_id=1))
def test_update_browser_fakeout(self):
response = self.app.post(url('admin_setting', setting_id=1), params=dict(_method='put'))
def test_delete(self):
response = self.app.delete(url('admin_setting', setting_id=1))
def test_delete_browser_fakeout(self):
response = self.app.post(url('admin_setting', setting_id=1), params=dict(_method='delete'))
def test_show(self):
response = self.app.get(url('admin_setting', setting_id=1))
def test_show_as_xml(self):
response = self.app.get(url('formatted_admin_setting', setting_id=1, format='xml'))
def test_edit(self):
response = self.app.get(url('admin_edit_setting', setting_id=1))
def test_edit_as_xml(self):
response = self.app.get(url('formatted_admin_edit_setting', setting_id=1, format='xml'))
updated tests for application settings
r893
def test_ga_code_active(self):
self.log_user()
old_title = 'RhodeCode'
old_realm = 'RhodeCode authentication'
new_ga_code = 'ga-test-123456789'
response = self.app.post(url('admin_setting', setting_id='global'),
params=dict(
_method='put',
rhodecode_title=old_title,
rhodecode_realm=old_realm,
rhodecode_ga_code=new_ga_code
))
assert 'Updated application settings' in response.session['flash'][0][1], 'no flash message about success of change'
assert SettingsModel(self.sa).get_app_settings()['rhodecode_ga_code'] == new_ga_code, 'change not in database'
response = response.follow()
assert """_gaq.push(['_setAccount', '%s']);""" % new_ga_code in response.body
def test_ga_code_inactive(self):
self.log_user()
old_title = 'RhodeCode'
old_realm = 'RhodeCode authentication'
new_ga_code = ''
response = self.app.post(url('admin_setting', setting_id='global'),
params=dict(
_method='put',
rhodecode_title=old_title,
rhodecode_realm=old_realm,
rhodecode_ga_code=new_ga_code
))
assert 'Updated application settings' in response.session['flash'][0][1], 'no flash message about success of change'
assert SettingsModel(self.sa).get_app_settings()['rhodecode_ga_code'] == new_ga_code, 'change not in database'
response = response.follow()
assert """_gaq.push(['_setAccount', '%s']);""" % new_ga_code not in response.body
def test_title_change(self):
self.log_user()
old_title = 'RhodeCode'
new_title = old_title + '_changed'
old_realm = 'RhodeCode authentication'
response = self.app.post(url('admin_setting', setting_id='global'),
params=dict(
_method='put',
rhodecode_title=new_title,
rhodecode_realm=old_realm,
rhodecode_ga_code=''
))
assert 'Updated application settings' in response.session['flash'][0][1], 'no flash message about success of change'
assert SettingsModel(self.sa).get_app_settings()['rhodecode_title'] == new_title, 'change not in database'
response = response.follow()
assert """<h1><a href="/">%s</a></h1>""" % new_title in response.body
renamed project to rhodecode
r547 def test_my_account(self):
self.log_user()
response = self.app.get(url('admin_settings_my_account'))
print response
assert 'value="test_admin' in response.body
Refactor codes for scm model...
r691
renamed project to rhodecode
r547 def test_my_account_update(self):
self.log_user()
fixed test that broke admin email address
r754
renamed project to rhodecode
r547 new_email = 'new@mail.pl'
fixed test that broke admin email address
r754 new_name = 'NewName'
new_lastname = 'NewLastname'
new_password = 'test123'
renamed project to rhodecode
r547 response = self.app.post(url('admin_settings_my_account_update'), params=dict(
_method='put',
username='test_admin',
fixed test that broke admin email address
r754 new_password=new_password,
renamed project to rhodecode
r547 password='',
fixed test that broke admin email address
r754 name=new_name,
lastname=new_lastname,
renamed project to rhodecode
r547 email=new_email,))
response.follow()
Refactor codes for scm model...
r691
fixed broken test after latest changes
r782 assert 'Your account was updated successfully' in response.session['flash'][0][1], 'no flash message about success of change'
renamed project to rhodecode
r547 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)
fixed test that broke admin email address
r754 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)
Refactor codes for scm model...
r691
fixed test that broke admin email address
r754 #bring back the admin settings
old_email = 'test_admin@mail.com'
old_name = 'RhodeCode'
old_lastname = 'Admin'
old_password = 'test12'
Refactor codes for scm model...
r691
renamed project to rhodecode
r547 response = self.app.post(url('admin_settings_my_account_update'), params=dict(
_method='put',
username='test_admin',
fixed test that broke admin email address
r754 new_password=old_password,
password='',
name=old_name,
lastname=old_lastname,
email=old_email,))
response.follow()
fixed broken test after latest changes
r782 assert 'Your account was updated successfully' in response.session['flash'][0][1], 'no flash message about success of change'
fixed test that broke admin email address
r754 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)
Refactor codes for scm model...
r691
renamed project to rhodecode
r547 def test_my_account_update_err_email_exists(self):
self.log_user()
Refactor codes for scm model...
r691
renamed project to rhodecode
r547 new_email = 'test_regular@mail.com'#already exisitn email
response = self.app.post(url('admin_settings_my_account_update'), params=dict(
_method='put',
username='test_admin',
new_password='test12',
name='NewName',
lastname='NewLastname',
email=new_email,))
Refactor codes for scm model...
r691
fixed grammar in taken email error
r746 assert 'This e-mail address is already taken' in response.body, 'Missing error message about existing email'
Refactor codes for scm model...
r691
renamed project to rhodecode
r547 def test_my_account_update_err(self):
self.log_user('test_regular2', 'test12')
Refactor codes for scm model...
r691
renamed project to rhodecode
r547 new_email = 'newmail.pl'
response = self.app.post(url('admin_settings_my_account_update'), params=dict(
_method='put',
username='test_admin',
new_password='test12',
name='NewName',
lastname='NewLastname',
email=new_email,))
assert 'An email address must contain a single @' in response.body, 'Missing error message about wrong email'
assert 'This username already exists' in response.body, 'Missing error message about existing user'