from rhodecode.lib.auth import get_crypt_password, check_password from rhodecode.model.db import User from rhodecode.tests import * from rhodecode.model.settings import SettingsModel class TestAdminSettingsController(TestController): 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')) 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 """