##// END OF EJS Templates
fixed issue with h.person() function returned prematurly giving only email info from changeset metadata. Thanks to Stevan Radaković
fixed issue with h.person() function returned prematurly giving only email info from changeset metadata. Thanks to Stevan Radaković

File last commit:

r3674:ff2ea58d beta
r3740:ea2c948a beta
Show More
test_admin_ldap_settings.py
98 lines | 3.7 KiB | text/x-python | PythonLexer
/ rhodecode / tests / functional / test_admin_ldap_settings.py
from rhodecode.tests import *
from rhodecode.model.db import RhodeCodeSetting
class TestLdapSettingsController(TestController):
def test_index(self):
self.log_user()
response = self.app.get(url(controller='admin/ldap_settings',
action='index'))
response.mustcontain('LDAP administration')
def test_ldap_save_settings(self):
self.log_user()
if ldap_lib_installed:
raise SkipTest('skipping due to missing ldap lib')
test_url = url(controller='admin/ldap_settings',
action='ldap_settings')
response = self.app.post(url=test_url,
params={'ldap_host': u'dc.example.com',
'ldap_port': '999',
'ldap_tls_kind': 'PLAIN',
'ldap_tls_reqcert': 'NEVER',
'ldap_dn_user': 'test_user',
'ldap_dn_pass': 'test_pass',
'ldap_base_dn': 'test_base_dn',
'ldap_filter': 'test_filter',
'ldap_search_scope': 'BASE',
'ldap_attr_login': 'test_attr_login',
'ldap_attr_firstname': 'ima',
'ldap_attr_lastname': 'tester',
'ldap_attr_email': 'test@example.com' })
new_settings = RhodeCodeSetting.get_ldap_settings()
self.assertEqual(new_settings['ldap_host'], u'dc.example.com',
'fail db write compare')
self.checkSessionFlash(response,
'LDAP settings updated successfully')
def test_ldap_error_form_wrong_port_number(self):
self.log_user()
if ldap_lib_installed:
raise SkipTest('skipping due to missing ldap lib')
test_url = url(controller='admin/ldap_settings',
action='ldap_settings')
response = self.app.post(url=test_url,
params={'ldap_host': '',
'ldap_port': 'i-should-be-number', # bad port num
'ldap_tls_kind': 'PLAIN',
'ldap_tls_reqcert': 'NEVER',
'ldap_dn_user': '',
'ldap_dn_pass': '',
'ldap_base_dn': '',
'ldap_filter': '',
'ldap_search_scope': 'BASE',
'ldap_attr_login': '',
'ldap_attr_firstname': '',
'ldap_attr_lastname': '',
'ldap_attr_email': ''})
response.mustcontain("""<span class="error-message">"""
"""Please enter a number</span><br />""")
def test_ldap_error_form(self):
self.log_user()
if ldap_lib_installed:
raise SkipTest('skipping due to missing ldap lib')
test_url = url(controller='admin/ldap_settings',
action='ldap_settings')
response = self.app.post(url=test_url,
params={'ldap_host': 'Host',
'ldap_port': '123',
'ldap_tls_kind': 'PLAIN',
'ldap_tls_reqcert': 'NEVER',
'ldap_dn_user': '',
'ldap_dn_pass': '',
'ldap_base_dn': '',
'ldap_filter': '',
'ldap_search_scope': 'BASE',
'ldap_attr_login': '', # <----- missing required input
'ldap_attr_firstname': '',
'ldap_attr_lastname': '',
'ldap_attr_email': ''})
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