Files
@ ff3f10a6a203
Branch filter:
Location: kallithea/rhodecode/tests/functional/test_admin_ldap_settings.py - annotation
ff3f10a6a203
3.1 KiB
text/x-python
pullrequest: just replace children of other_ref when other_repo changes
We were inserting a full select statement as innerHTML of a select and would
thus get nested select statements. IE did not render that correctly ... and
other browsers did strange things.
Instead we now create a in memory DOM object and move the optgroups. After
appending children to the selector we have to set selectedIndex on all
browsers.
We were inserting a full select statement as innerHTML of a select and would
thus get nested select statements. IE did not render that correctly ... and
other browsers did strange things.
Instead we now create a in memory DOM object and move the optgroups. After
appending children to the selector we have to set selectedIndex on all
browsers.
4bdcc08b04c4 2c0d35e336b5 605707b50d7c 3dedf3991d40 605707b50d7c 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 605707b50d7c 3dedf3991d40 4bdcc08b04c4 1361ddff4486 4bdcc08b04c4 4bdcc08b04c4 4bdcc08b04c4 c0335c1dee36 c0335c1dee36 c0335c1dee36 3dedf3991d40 c0335c1dee36 c0335c1dee36 3dedf3991d40 605707b50d7c 605707b50d7c cf51bbfb120e 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 2c0d35e336b5 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 c0335c1dee36 c0335c1dee36 3dedf3991d40 605707b50d7c 605707b50d7c cf51bbfb120e 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 3dedf3991d40 cf51bbfb120e 3dedf3991d40 3dedf3991d40 3dedf3991d40 cf51bbfb120e cf51bbfb120e cf51bbfb120e 3dedf3991d40 3dedf3991d40 c0335c1dee36 c0335c1dee36 c0335c1dee36 c0335c1dee36 c0335c1dee36 c0335c1dee36 | 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()
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
|