##// END OF EJS Templates
moved refresh of pull request overview to left, it's more intuitive to be there
moved refresh of pull request overview to left, it's more intuitive to be there

File last commit:

r1818:cf51bbfb beta
r2871:b54d1024 beta
Show More
test_admin_ldap_settings.py
88 lines | 3.1 KiB | text/x-python | PythonLexer
/ rhodecode / tests / functional / test_admin_ldap_settings.py
from rhodecode.tests import *
from rhodecode.model.db import RhodeCodeSetting
from nose.plugins.skip import SkipTest
skip_ldap_test = False
try:
import ldap
except ImportError:
# means that python-ldap is not installed
skip_ldap_test = True
pass
class TestLdapSettingsController(TestController):
def test_index(self):
self.log_user()
response = self.app.get(url(controller='admin/ldap_settings',
action='index'))
self.assertTrue('LDAP administration' in response.body)
def test_ldap_save_settings(self):
self.log_user()
if skip_ldap_test:
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()
print new_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(self):
self.log_user()
if skip_ldap_test:
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',
'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':'' })
self.assertTrue("""<span class="error-message">The LDAP Login"""
""" attribute of the CN must be specified""" in
response.body)
self.assertTrue("""<span class="error-message">Please """
"""enter a number</span>""" in response.body)
def test_ldap_login(self):
pass
def test_ldap_login_incorrect(self):
pass