Add tests for ldaptasks functions
This commit adds tests for ldaptasks.set_ldap_user_password, ldaptasks.add_ldap_user_to_group and ldaptasks.remove_ldap_user_from_group.
This commit is contained in:
parent
23015af083
commit
67ccdbb7c8
1 changed files with 113 additions and 38 deletions
|
@ -10,7 +10,14 @@ from celery.exceptions import Reject
|
|||
|
||||
from mockldap import MockLdap
|
||||
|
||||
from ldaptasks.tasks import create_ldap_group, create_ldap_user
|
||||
from ldapentities.models import LdapUser
|
||||
from ldaptasks.tasks import (
|
||||
add_ldap_user_to_group,
|
||||
create_ldap_group,
|
||||
create_ldap_user,
|
||||
remove_ldap_user_from_group,
|
||||
set_ldap_user_password,
|
||||
)
|
||||
|
||||
|
||||
class LdapTaskTestCase(TestCase):
|
||||
|
@ -65,42 +72,35 @@ class LdapTaskTestCase(TestCase):
|
|||
def test_create_ldap_group(self):
|
||||
dn = create_ldap_group('test', 5000, 'test group')
|
||||
self.assertEqual('cn=test,%s' % settings.GROUP_BASE_DN, dn)
|
||||
self.assertEquals(
|
||||
self.ldapobj.methods_called(),
|
||||
['initialize', 'simple_bind_s', 'search_s', 'add_s']
|
||||
)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'add_s'
|
||||
])
|
||||
|
||||
def test_create_ldap_group_existing(self):
|
||||
dn = create_ldap_group('existing', 4711, 'existing test group')
|
||||
self.assertEqual('cn=existing,%s' % settings.GROUP_BASE_DN, dn)
|
||||
self.assertEquals(
|
||||
self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s',
|
||||
'search_s', 'search_s'
|
||||
]
|
||||
)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s', 'search_s',
|
||||
'search_s'
|
||||
])
|
||||
|
||||
def test_create_ldap_group_existing_modify(self):
|
||||
dn = create_ldap_group('existing', 4711, 'change existing test group')
|
||||
self.assertEqual('cn=existing,%s' % settings.GROUP_BASE_DN, dn)
|
||||
self.assertEquals(
|
||||
self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s',
|
||||
'search_s', 'search_s', 'modify_s'
|
||||
]
|
||||
)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s',
|
||||
'search_s', 'search_s', 'modify_s'
|
||||
])
|
||||
|
||||
def test_create_ldap_user(self):
|
||||
dn = create_ldap_user(
|
||||
'test', 5000, 4711, 'Test User', '/home/test', '/bin/bash',
|
||||
'secret')
|
||||
self.assertEqual('uid=test,%s' % settings.USER_BASE_DN, dn)
|
||||
self.assertEquals(
|
||||
self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s',
|
||||
'search_s', 'add_s', 'search_s', 'search_s', 'modify_s'
|
||||
]
|
||||
)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s', 'search_s',
|
||||
'add_s', 'search_s', 'search_s', 'modify_s'
|
||||
])
|
||||
|
||||
def test_create_ldap_user_invalid_group(self):
|
||||
with self.assertRaises(Reject):
|
||||
|
@ -108,21 +108,18 @@ class LdapTaskTestCase(TestCase):
|
|||
'test', 5000, 5000, 'Test User', '/home/test', '/bin/bash',
|
||||
'secret')
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s'
|
||||
]
|
||||
)
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s'
|
||||
])
|
||||
|
||||
def test_create_ldap_user_no_password(self):
|
||||
dn = create_ldap_user(
|
||||
'test', 5000, 4711, 'Test User', '/home/test', '/bin/bash',
|
||||
None)
|
||||
self.assertEqual('uid=test,%s' % settings.USER_BASE_DN, dn)
|
||||
self.assertEquals(
|
||||
self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s',
|
||||
'search_s', 'add_s', 'search_s', 'search_s', 'modify_s'
|
||||
]
|
||||
)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s', 'search_s',
|
||||
'add_s', 'search_s', 'search_s', 'modify_s'
|
||||
])
|
||||
|
||||
def test_create_ldap_user_existing(self):
|
||||
dn = create_ldap_user(
|
||||
|
@ -130,9 +127,87 @@ class LdapTaskTestCase(TestCase):
|
|||
'/bin/bash', 'secret'
|
||||
)
|
||||
self.assertEqual('uid=existing,%s' % settings.USER_BASE_DN, dn)
|
||||
self.assertEquals(
|
||||
self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s',
|
||||
'search_s', 'search_s', 'search_s', 'search_s', 'modify_s'
|
||||
]
|
||||
)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s', 'search_s',
|
||||
'search_s', 'search_s', 'search_s', 'modify_s'
|
||||
])
|
||||
|
||||
def test_set_ldap_user_password_existing(self):
|
||||
res = set_ldap_user_password('existing', 'newpassword')
|
||||
self.assertTrue(res)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s', 'search_s',
|
||||
'search_s', 'modify_s'
|
||||
])
|
||||
|
||||
def test_set_ldap_user_password_missing(self):
|
||||
res = set_ldap_user_password('missing', 'newpassword')
|
||||
self.assertFalse(res)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s'
|
||||
])
|
||||
|
||||
def test_add_ldap_user_to_group_existing(self):
|
||||
res = add_ldap_user_to_group('existing', 'existing')
|
||||
self.assertTrue(res)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s', 'search_s',
|
||||
'search_s'
|
||||
])
|
||||
|
||||
def test_add_ldap_user_to_group_new_user(self):
|
||||
create_ldap_group('test', 5000, 'test group')
|
||||
res = add_ldap_user_to_group('existing', 'test')
|
||||
self.assertTrue(res)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'add_s', 'search_s',
|
||||
'search_s', 'search_s', 'search_s', 'search_s', 'search_s',
|
||||
'modify_s'
|
||||
])
|
||||
|
||||
def test_add_ldap_user_to_group_no_group(self):
|
||||
res = add_ldap_user_to_group('existing', 'test')
|
||||
self.assertFalse(res)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s'
|
||||
])
|
||||
|
||||
def test_add_ldap_user_to_group_no_user(self):
|
||||
with self.assertRaises(LdapUser.DoesNotExist):
|
||||
add_ldap_user_to_group('test', 'existing')
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s', 'search_s'
|
||||
])
|
||||
|
||||
def test_remove_ldap_user_from_group_existing(self):
|
||||
res = remove_ldap_user_from_group('existing', 'existing')
|
||||
self.assertTrue(res)
|
||||
self.assertNotIn('memberUid', self.ldapobj.directory[
|
||||
'cn=existing,' + settings.GROUP_BASE_DN])
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s', 'search_s',
|
||||
'search_s', 'search_s', 'search_s', 'modify_s'
|
||||
])
|
||||
|
||||
def test_remove_ldap_user_from_group_not_in_group(self):
|
||||
create_ldap_group('test', 5000, 'test group')
|
||||
res = remove_ldap_user_from_group('existing', 'test')
|
||||
self.assertFalse(res)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'add_s', 'search_s',
|
||||
'search_s', 'search_s', 'search_s'
|
||||
])
|
||||
|
||||
def test_remove_ldap_user_from_group_no_group(self):
|
||||
res = remove_ldap_user_from_group('existing', 'test')
|
||||
self.assertFalse(res)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s'
|
||||
])
|
||||
|
||||
def test_remove_ldap_user_from_group_no_user(self):
|
||||
res = remove_ldap_user_from_group('test', 'existing')
|
||||
self.assertFalse(res)
|
||||
self.assertEqual(self.ldapobj.methods_called(), [
|
||||
'initialize', 'simple_bind_s', 'search_s', 'search_s', 'search_s'
|
||||
])
|
||||
|
|
Loading…
Reference in a new issue