Files
@ aaa7c3331186
Branch filter:
Location: kallithea/rhodecode/tests/functional/test_admin_auth_settings.py - annotation
aaa7c3331186
4.9 KiB
text/x-python
Rename paster command setup-rhodecode to setup-db
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 | from rhodecode.tests import *
from rhodecode.model.db import RhodeCodeSetting
class TestAuthSettingsController(TestController):
def _enable_plugins(self, plugins_list):
test_url = url(controller='admin/auth_settings',
action='auth_settings')
params={'auth_plugins': plugins_list,}
for plugin in plugins_list.split(','):
enable = plugin.partition('rhodecode.lib.auth_modules.')[-1]
params.update({'%s_enabled' % enable: True})
response = self.app.post(url=test_url, params=params)
return params
#self.checkSessionFlash(response, 'Auth settings updated successfully')
def test_index(self):
self.log_user()
response = self.app.get(url(controller='admin/auth_settings',
action='index'))
response.mustcontain('Authentication Plugins')
def test_ldap_save_settings(self):
self.log_user()
if ldap_lib_installed:
raise SkipTest('skipping due to missing ldap lib')
params = self._enable_plugins('rhodecode.lib.auth_modules.auth_rhodecode,rhodecode.lib.auth_modules.auth_ldap')
params.update({'auth_ldap_host': u'dc.example.com',
'auth_ldap_port': '999',
'auth_ldap_tls_kind': 'PLAIN',
'auth_ldap_tls_reqcert': 'NEVER',
'auth_ldap_dn_user': 'test_user',
'auth_ldap_dn_pass': 'test_pass',
'auth_ldap_base_dn': 'test_base_dn',
'auth_ldap_filter': 'test_filter',
'auth_ldap_search_scope': 'BASE',
'auth_ldap_attr_login': 'test_attr_login',
'auth_ldap_attr_firstname': 'ima',
'auth_ldap_attr_lastname': 'tester',
'auth_ldap_attr_email': 'test@example.com'})
test_url = url(controller='admin/auth_settings',
action='auth_settings')
response = self.app.post(url=test_url, params=params)
self.checkSessionFlash(response, 'Auth settings updated successfully')
new_settings = RhodeCodeSetting.get_auth_settings()
self.assertEqual(new_settings['auth_ldap_host'], u'dc.example.com',
'fail db write compare')
def test_ldap_error_form_wrong_port_number(self):
self.log_user()
if ldap_lib_installed:
raise SkipTest('skipping due to missing ldap lib')
params = self._enable_plugins('rhodecode.lib.auth_modules.auth_rhodecode,rhodecode.lib.auth_modules.auth_ldap')
params.update({'auth_ldap_host': '',
'auth_ldap_port': 'i-should-be-number', # bad port num
'auth_ldap_tls_kind': 'PLAIN',
'auth_ldap_tls_reqcert': 'NEVER',
'auth_ldap_dn_user': '',
'auth_ldap_dn_pass': '',
'auth_ldap_base_dn': '',
'auth_ldap_filter': '',
'auth_ldap_search_scope': 'BASE',
'auth_ldap_attr_login': '',
'auth_ldap_attr_firstname': '',
'auth_ldap_attr_lastname': '',
'auth_ldap_attr_email': ''})
test_url = url(controller='admin/auth_settings',
action='auth_settings')
response = self.app.post(url=test_url, params=params)
response.mustcontain("""<span class="error-message">"""
"""Please enter a number</span>""")
def test_ldap_error_form(self):
self.log_user()
if ldap_lib_installed:
raise SkipTest('skipping due to missing ldap lib')
params = self._enable_plugins('rhodecode.lib.auth_modules.auth_rhodecode,rhodecode.lib.auth_modules.auth_ldap')
params.update({'auth_ldap_host': 'Host',
'auth_ldap_port': '123',
'auth_ldap_tls_kind': 'PLAIN',
'auth_ldap_tls_reqcert': 'NEVER',
'auth_ldap_dn_user': '',
'auth_ldap_dn_pass': '',
'auth_ldap_base_dn': '',
'auth_ldap_filter': '',
'auth_ldap_search_scope': 'BASE',
'auth_ldap_attr_login': '', # <----- missing required input
'auth_ldap_attr_firstname': '',
'auth_ldap_attr_lastname': '',
'auth_ldap_attr_email': ''})
test_url = url(controller='admin/auth_settings',
action='auth_settings')
response = self.app.post(url=test_url, params=params)
response.mustcontain("""<span class="error-message">The LDAP Login"""
""" attribute of the CN must be specified""")
def test_ldap_login(self):
pass
def test_ldap_login_incorrect(self):
pass
|