##// END OF EJS Templates
added warning on sqlite when using migration....
added warning on sqlite when using migration. Sqlite prior to 3.7 series are known to not support some migration changes like table renames. Thus are failing.

File last commit:

r1749:8ecc6b82 beta
r1835:971ce5e2 beta
Show More
test_admin_settings.py
212 lines | 10.0 KiB | text/x-python | PythonLexer
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 # -*- coding: utf-8 -*-
fixed test that broke admin email address
r754 from rhodecode.lib.auth import get_crypt_password, check_password
refactoring of models names for repoGroup permissions
r1633 from rhodecode.model.db import User, RhodeCodeSetting
renamed project to rhodecode
r547 from rhodecode.tests import *
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):
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 response = self.app.get(url('formatted_admin_edit_setting',
setting_id=1, format='xml'))
renamed project to rhodecode
r547
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
))
Added CheckSessionFlash into init....
r1382 self.checkSessionFlash(response, 'Updated application settings')
refactoring of models names for repoGroup permissions
r1633 self.assertEqual(RhodeCodeSetting
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 .get_app_settings()['rhodecode_ga_code'], new_ga_code)
updated tests for application settings
r893
response = response.follow()
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 self.assertTrue("""_gaq.push(['_setAccount', '%s']);""" % new_ga_code
in response.body)
updated tests for application settings
r893
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
))
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 self.assertTrue('Updated application settings' in
response.session['flash'][0][1])
refactoring of models names for repoGroup permissions
r1633 self.assertEqual(RhodeCodeSetting
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 .get_app_settings()['rhodecode_ga_code'], new_ga_code)
updated tests for application settings
r893
response = response.follow()
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 self.assertTrue("""_gaq.push(['_setAccount', '%s']);""" % new_ga_code
not in response.body)
updated tests for application settings
r893
def test_title_change(self):
self.log_user()
old_title = 'RhodeCode'
new_title = old_title + '_changed'
old_realm = 'RhodeCode authentication'
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366
for new_title in ['Changed', 'Żółwik', old_title]:
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=''
))
updated tests for application settings
r893
Added CheckSessionFlash into init....
r1382 self.checkSessionFlash(response, 'Updated application settings')
refactoring of models names for repoGroup permissions
r1633 self.assertEqual(RhodeCodeSetting
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 .get_app_settings()['rhodecode_title'],
new_title.decode('utf-8'))
updated tests for application settings
r893
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 response = response.follow()
self.assertTrue("""<h1><a href="/">%s</a></h1>""" % new_title
in response.body)
updated tests for application settings
r893
renamed project to rhodecode
r547 def test_my_account(self):
self.log_user()
response = self.app.get(url('admin_settings_my_account'))
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366
self.assertTrue('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'
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 response = self.app.post(url('admin_settings_my_account_update'),
params=dict(_method='put',
username='test_admin',
new_password=new_password,
implements #237 added password confirmation for my account and admin edit user.
r1597 password_confirmation = new_password,
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 password='',
name=new_name,
lastname=new_lastname,
email=new_email,))
renamed project to rhodecode
r547 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'
commit less models...
r1749 user = self.Session.query(User).filter(User.username == 'test_admin').one()
renamed project to rhodecode
r547 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,
implements #237 added password confirmation for my account and admin edit user.
r1597 password_confirmation = old_password,
fixed test that broke admin email address
r754 password='',
name=old_name,
lastname=old_lastname,
email=old_email,))
response.follow()
Added CheckSessionFlash into init....
r1382 self.checkSessionFlash(response,
'Your account was updated successfully')
commit less models...
r1749 user = self.Session.query(User).filter(User.username == 'test_admin').one()
fixed test that broke admin email address
r754 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',
implements #237 added password confirmation for my account and admin edit user.
r1597 password_confirmation = 'test122',
renamed project to rhodecode
r547 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',
implements #237 added password confirmation for my account and admin edit user.
r1597 password_confirmation = 'test122',
renamed project to rhodecode
r547 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'