Пример #1
0
 def XXtest_bind_with_non_existant_user(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, dom)
     connection = backend.initialize(ldapurl)
     connection.add_s(*self.makeOU('dc=example,dc=com', 'users'))
     self.assertRaises(backend.NO_SUCH_OBJECT, connection.simple_bind_s, 'uid=noone,ou=users,dc=example,dc=com', 'password')
Пример #2
0
 def test_adding_items_to_tree(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     dn = 'uid=uid1,%s' % dom
     attrs = [('testattr','testattr1')]
     backend._addTreeItems(ldapurl, dom)
     c = backend.initialize(ldapurl)
     c.simple_bind_s()
     
     expected = {ldapurl: {
         'dc=com': {
             'dn': 'dc=com',
             'dc=example': {
                 'dn': 'dc=example,dc=com',
                 'uid=uid1': {
                     'dn': 'uid=uid1,dc=example,dc=com',
                     'uid': ['uid1'], 
                     'testattr': ['testattr1']
                 }
             }
         }
     }}
     
     c.add_s(dn, attrs)
     self.failUnlessEqual(backend.TREE, expected)
Пример #3
0
 def test_unbound_modifying_raises_error(self):
     dn, attrs = self.makeOU(self.dom, 'users')
     backend._addTreeItems(self.ldapurl, dn, attrs)
     mod_attrs = [(backend.MOD_ADD, 'testattr', 'TESTATTR')]
     connection = backend.initialize(self.ldapurl)
     self.assertRaises(backend.LDAPError, connection.modify_s, dn,
                       mod_attrs)
Пример #4
0
 def test_clearing_only_single_branch(self):
     backend._addTreeItems('ldap://ldap.example.com', 'dc=example,dc=com')
     backend._addTreeItems('ldap://ldap.example.org', 'dc=example,dc=org')
     backend._clearTree('ldap://ldap.example.org')
     self.assertEqual(backend.TREE, {
         'ldap://ldap.example.com': {'dc=com': {'dn': 'dc=com', 'dc=example': {'dn': 'dc=example,dc=com'}}},
         'ldap://ldap.example.org': {},
     })
Пример #5
0
 def test_bind_with_blank_password(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, dom)
     connection = backend.initialize(ldapurl)
     result = connection.simple_bind_s('noone', '')
     self.assert_(result)
     self.assert_(connection.bound)
Пример #6
0
 def test_bind_with_directory_manager(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, dom)
     connection = backend.initialize(ldapurl)
     result = connection.simple_bind_s('Manager', 'password')
     self.assert_(result)
     self.assert_(connection.bound)
Пример #7
0
 def setUp(self):
     self.ldapurl = 'ldap://ldap.example.com'
     self.root_dn = 'dc=example,dc=com'
     backend._addTreeItems(self.ldapurl, self.root_dn)
     backend._addTreeItems(self.ldapurl, *self.makeOU(self.root_dn, 'users'))
     backend._addTreeItems(self.ldapurl, *self.makeOU(self.root_dn, 'groups'))
     backend._addTreeItems(self.ldapurl, *self.makeUser('ou=users,%s' % self.root_dn, 'jradford', 'Jacob', 'Radford'))
     backend._addTreeItems(self.ldapurl, *self.makeUser('ou=users,%s' % self.root_dn, 'kwa0004', 'Karl', 'Ward'))
Пример #8
0
 def XXtest_bind_with_non_existant_user(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, dom)
     connection = backend.initialize(ldapurl)
     connection.add_s(*self.makeOU('dc=example,dc=com', 'users'))
     self.assertRaises(backend.NO_SUCH_OBJECT, connection.simple_bind_s,
                       'uid=noone,ou=users,dc=example,dc=com', 'password')
Пример #9
0
 def test_unbound_searching_always_returns_nothing(self):
     dn, attrs = self.makeOU(self.dom, 'users')
     backend._addTreeItems(self.ldapurl, dn, attrs)
     dn, attrs = self.makeUser('ou=users,%s' % self.dom, 'jradford', 'Jacob', 'Radford')
     backend._addTreeItems(self.ldapurl, dn, attrs)
     connection = backend.initialize(self.ldapurl)
     result = connection.search_s(self.dom)
     self.failIf(result)
Пример #10
0
 def test_bind_with_blank_password(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, dom)
     connection = backend.initialize(ldapurl)
     result = connection.simple_bind_s('noone', '')
     self.assert_(result)
     self.assert_(connection.bound)
Пример #11
0
 def test_bind_with_directory_manager(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, dom)
     connection = backend.initialize(ldapurl)
     result = connection.simple_bind_s('Manager', 'password')
     self.assert_(result)
     self.assert_(connection.bound)
Пример #12
0
 def test_unbound_searching_always_returns_nothing(self):
     dn, attrs = self.makeOU(self.dom, 'users')
     backend._addTreeItems(self.ldapurl, dn, attrs)
     dn, attrs = self.makeUser('ou=users,%s' % self.dom, 'jradford',
                               'Jacob', 'Radford')
     backend._addTreeItems(self.ldapurl, dn, attrs)
     connection = backend.initialize(self.ldapurl)
     result = connection.search_s(self.dom)
     self.failIf(result)
Пример #13
0
 def test_disconnecting(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, dom)
     connection = backend.initialize(ldapurl)
     connection.simple_bind_s()
     connection.search_s( dom )
     connection.unbind_s()
     self.assertRaises(backend.LDAPError, connection.search_s, dom)
Пример #14
0
 def XXtest_bind_with_user_but_wrong_pass(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, dom)
     connection = backend.initialize(ldapurl)
     connection.add_s(*self.makeOU('dc=example,dc=com', 'users'))
     connection.add_s(*self.makeUser('ou=users,dc=example,dc=com', 'jradford', 'Jacob', 'Radford'))
     
     self.assertRaises(backend.INVALID_CREDENTIALS, connection.simple_bind_s, 'uid=jradford,ou=users,dc=example,dc=com', 'badpassword')
Пример #15
0
 def test_disconnecting(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, dom)
     connection = backend.initialize(ldapurl)
     connection.simple_bind_s()
     connection.search_s(dom)
     connection.unbind_s()
     self.assertRaises(backend.LDAPError, connection.search_s, dom)
Пример #16
0
 def XXtest_bind_with_user(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, dom)
     connection = backend.initialize(ldapurl)
     connection.add_s(*self.makeOU('dc=example,dc=com', 'users'))
     connection.add_s(*self.makeUser('ou=users,dc=example,dc=com', 'jradford', 'Jacob', 'Radford'))
     result = connection.simple_bind_s('uid=jradford,ou=users,dc=example,dc=com', 'password')
     self.assert_(result)
Пример #17
0
    def test_attempted_add_to_non_existant_branch_raises_error(self):
        ldapurl = 'ldap://ldap.example.com'
        dom = 'dc=example,dc=com'
        dn = 'uid=uid1,ou=users,%s' % dom
        attrs = dict(testattr='testattr1')
        backend._addTreeItems(ldapurl, dom)
        c = backend.initialize(ldapurl)
        c.simple_bind_s()

        self.assertRaises(backend.NO_SUCH_OBJECT, c.add_s, dn, attrs)
Пример #18
0
 def test_attempted_add_to_non_existant_branch_raises_error(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     dn = 'uid=uid1,ou=users,%s' % dom
     attrs = dict(testattr='testattr1')
     backend._addTreeItems(ldapurl, dom)
     c = backend.initialize(ldapurl)
     c.simple_bind_s()
     
     self.assertRaises(backend.NO_SUCH_OBJECT, c.add_s, dn, attrs)
Пример #19
0
 def XXtest_bind_with_user(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, dom)
     connection = backend.initialize(ldapurl)
     connection.add_s(*self.makeOU('dc=example,dc=com', 'users'))
     connection.add_s(*self.makeUser('ou=users,dc=example,dc=com',
                                     'jradford', 'Jacob', 'Radford'))
     result = connection.simple_bind_s(
         'uid=jradford,ou=users,dc=example,dc=com', 'password')
     self.assert_(result)
Пример #20
0
    def test_attempted_add_of_duplicate_raises_error(self):
        ldapurl = 'ldap://ldap.example.com'
        dom = 'dc=example,dc=com'
        dn = 'uid=uid1,%s' % dom
        attrs = [('testattr', 'testattr1')]
        backend._addTreeItems(ldapurl, dom)
        c = backend.initialize(ldapurl)
        c.simple_bind_s()

        c.add_s(dn, attrs)
        self.assertRaises(backend.ALREADY_EXISTS, c.add_s, dn, attrs)
Пример #21
0
 def test_attempted_add_of_duplicate_raises_error(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     dn = 'uid=uid1,%s' % dom
     attrs = [('testattr','testattr1')]
     backend._addTreeItems(ldapurl, dom)
     c = backend.initialize(ldapurl)
     c.simple_bind_s()
     
     c.add_s(dn, attrs)
     self.assertRaises(backend.ALREADY_EXISTS, c.add_s, dn, attrs)
Пример #22
0
    def XXtest_bind_with_user_but_wrong_pass(self):
        ldapurl = 'ldap://ldap.example.com'
        dom = 'dc=example,dc=com'
        backend._addTreeItems(ldapurl, dom)
        connection = backend.initialize(ldapurl)
        connection.add_s(*self.makeOU('dc=example,dc=com', 'users'))
        connection.add_s(*self.makeUser('ou=users,dc=example,dc=com',
                                        'jradford', 'Jacob', 'Radford'))

        self.assertRaises(backend.INVALID_CREDENTIALS,
                          connection.simple_bind_s,
                          'uid=jradford,ou=users,dc=example,dc=com',
                          'badpassword')
Пример #23
0
 def test_connection_targets_separate_branch_of_tree(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     self.assertRaises(backend.LDAPError, backend.initialize, ldapurl)
     backend._addTreeItems(ldapurl, dom)
     connection = backend.initialize(ldapurl)
     self.assert_(connection)
     
     ldapurl = 'ldap://ldap.example.org'
     dom = 'dc=example,dc=org'
     self.assertRaises(backend.LDAPError, backend.initialize, ldapurl)
     backend._addTreeItems(ldapurl, dom)
     connection = backend.initialize(ldapurl)
     self.assert_(connection)
Пример #24
0
    def test_connection_targets_separate_branch_of_tree(self):
        ldapurl = 'ldap://ldap.example.com'
        dom = 'dc=example,dc=com'
        self.assertRaises(backend.LDAPError, backend.initialize, ldapurl)
        backend._addTreeItems(ldapurl, dom)
        connection = backend.initialize(ldapurl)
        self.assert_(connection)

        ldapurl = 'ldap://ldap.example.org'
        dom = 'dc=example,dc=org'
        self.assertRaises(backend.LDAPError, backend.initialize, ldapurl)
        backend._addTreeItems(ldapurl, dom)
        connection = backend.initialize(ldapurl)
        self.assert_(connection)
Пример #25
0
 def test_clearing_only_single_branch(self):
     backend._addTreeItems('ldap://ldap.example.com', 'dc=example,dc=com')
     backend._addTreeItems('ldap://ldap.example.org', 'dc=example,dc=org')
     backend._clearTree('ldap://ldap.example.org')
     self.assertEqual(
         backend.TREE, {
             'ldap://ldap.example.com': {
                 'dc=com': {
                     'dn': 'dc=com',
                     'dc=example': {
                         'dn': 'dc=example,dc=com'
                     }
                 }
             },
             'ldap://ldap.example.org': {},
         })
Пример #26
0
 def setUp(self):
     self.ldapurl = 'ldap://ldap.example.com'
     self.root_dn = 'dc=example,dc=com'
     backend._addTreeItems(self.ldapurl, self.root_dn)
     backend._addTreeItems(self.ldapurl,
                           *self.makeOU(self.root_dn, 'users'))
     backend._addTreeItems(self.ldapurl,
                           *self.makeOU(self.root_dn, 'groups'))
     backend._addTreeItems(
         self.ldapurl,
         *self.makeUser('ou=users,%s' % self.root_dn, 'jradford', 'Jacob',
                        'Radford'))
     backend._addTreeItems(
         self.ldapurl,
         *self.makeUser('ou=users,%s' % self.root_dn, 'kwa0004', 'Karl',
                        'Ward'))
Пример #27
0
 def test_adding_structural_items_to_tree_with_attributes(self):
     ldapurl = 'ldap://ldap.example.com'
     base = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, base)
     dn, attrs = self.makeOU(base, 'users')
     backend._addTreeItems(ldapurl, dn, attrs)
     expected = {'ldap://ldap.example.com': {
         'dc=com': {
             'dn': 'dc=com',
             'dc=example': {
                 'dn': 'dc=example,dc=com',
                 'ou=users': {
                     'dn': dn,
                     'ou': ['users'],
                     'objectclass': ['top', 'organizationalUnit'],
                 }
             }
         }
     }}
     self.failUnlessEqual(backend.TREE, expected)
Пример #28
0
 def test_adding_structural_items_to_tree(self):
     self.assertEqual(backend.TREE.has_key('ldap://ldap.example.com'), False)
     backend._addTreeItems('ldap://ldap.example.com', 'dc=example,dc=com')
     expected = {'ldap://ldap.example.com': {
         'dc=com': {
             'dn': 'dc=com',
             'dc=example': {'dn': 'dc=example,dc=com',}
         }
     }}
     self.failUnlessEqual(backend.TREE, expected)
     
     self.assertEqual(backend.TREE.has_key('ldap://ldap.example.org'), False)
     backend._addTreeItems('ldap://ldap.example.org', 'dc=example,dc=org')
     expected['ldap://ldap.example.org'] = {
         'dc=org': {
             'dn': 'dc=org',
             'dc=example': {'dn': 'dc=example,dc=org',}
         }
     }
     self.failUnlessEqual(backend.TREE, expected)
Пример #29
0
 def test_adding_structural_items_to_tree_with_attributes(self):
     ldapurl = 'ldap://ldap.example.com'
     base = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, base)
     dn, attrs = self.makeOU(base, 'users')
     backend._addTreeItems(ldapurl, dn, attrs)
     expected = {
         'ldap://ldap.example.com': {
             'dc=com': {
                 'dn': 'dc=com',
                 'dc=example': {
                     'dn': 'dc=example,dc=com',
                     'ou=users': {
                         'dn': dn,
                         'ou': ['users'],
                         'objectclass': ['top', 'organizationalUnit'],
                     }
                 }
             }
         }
     }
     self.failUnlessEqual(backend.TREE, expected)
Пример #30
0
 def test_inavlid_bind_removes_prior_bind(self):
     ldapurl = 'ldap://ldap.example.com'
     dom = 'dc=example,dc=com'
     backend._addTreeItems(ldapurl, dom)
     backend._addTreeItems(ldapurl, *self.makeOU('dc=example,dc=com', 'users'))
     backend._addTreeItems(ldapurl, *self.makeUser('ou=users,dc=example,dc=com', 'jradford', 'Jacob', 'Radford'))
     connection = backend.initialize(ldapurl)
     connection.simple_bind_s('Manager', 'password')
     
     self.assert_(connection.bound)
     self.assertRaises(backend.INVALID_CREDENTIALS, connection.simple_bind_s, 'uid=jradford,ou=users,dc=example,dc=com', 'badpassword')
     self.failIf(connection.bound)
Пример #31
0
    def test_inavlid_bind_removes_prior_bind(self):
        ldapurl = 'ldap://ldap.example.com'
        dom = 'dc=example,dc=com'
        backend._addTreeItems(ldapurl, dom)
        backend._addTreeItems(ldapurl,
                              *self.makeOU('dc=example,dc=com', 'users'))
        backend._addTreeItems(
            ldapurl,
            *self.makeUser('ou=users,dc=example,dc=com', 'jradford', 'Jacob',
                           'Radford'))
        connection = backend.initialize(ldapurl)
        connection.simple_bind_s('Manager', 'password')

        self.assert_(connection.bound)
        self.assertRaises(backend.INVALID_CREDENTIALS,
                          connection.simple_bind_s,
                          'uid=jradford,ou=users,dc=example,dc=com',
                          'badpassword')
        self.failIf(connection.bound)
Пример #32
0
 def test_unbound_moving_raises_error(self):
     dn, attrs = self.makeOU(self.dom, 'users')
     backend._addTreeItems(self.ldapurl, dn, attrs)
     newrdn = 'ou=people'
     connection = backend.initialize(self.ldapurl)
     self.assertRaises(backend.LDAPError, connection.modrdn_s, dn, newrdn)
Пример #33
0
def populate(url, base, records):
    backend._addTreeItems(url, base)
    for dn, attrs in records:
        backend._addTreeItems(url, dn, attrs)
Пример #34
0
 def test_clearing_entire_tree(self):
     backend._addTreeItems('ldap://ldap.example.com', 'dc=example,dc=com')
     backend._addTreeItems('ldap://ldap.example.org', 'dc=example,dc=org')
     backend._clearTree()
     self.assertEqual(backend.TREE, {})
Пример #35
0
 def setUp(self):
     super(FakeLDAPUnboundConnectionTestCase, self).setUp()
     self.ldapurl = 'ldap://ldap.example.com'
     self.dom = 'dc=example,dc=com'
     backend._addTreeItems(self.ldapurl, self.dom)
Пример #36
0
 def setUp(self):
     super(FakeLDAPUnboundConnectionTestCase, self).setUp()
     self.ldapurl = 'ldap://ldap.example.com'
     self.dom = 'dc=example,dc=com'
     backend._addTreeItems(self.ldapurl, self.dom)
Пример #37
0
 def test_clearing_entire_tree(self):
     backend._addTreeItems('ldap://ldap.example.com', 'dc=example,dc=com')
     backend._addTreeItems('ldap://ldap.example.org', 'dc=example,dc=org')
     backend._clearTree()
     self.assertEqual(backend.TREE, {})
Пример #38
0
 def test_unbound_moving_raises_error(self):
     dn, attrs = self.makeOU(self.dom, 'users')
     backend._addTreeItems(self.ldapurl, dn, attrs)
     newrdn = 'ou=people'
     connection = backend.initialize(self.ldapurl)
     self.assertRaises(backend.LDAPError, connection.modrdn_s, dn, newrdn)
Пример #39
0
 def test_connecting(self):
     ldapurl = 'ldap://ldap.example.com'
     backend._addTreeItems(ldapurl, 'dc=example,dc=com')
     connection = backend.initialize(ldapurl)
     self.assert_(connection)
Пример #40
0
 def test_unbound_deleting_raises_error(self):
     dn, attrs = self.makeOU(self.dom, 'users')
     backend._addTreeItems(self.ldapurl, dn, attrs)
     connection = backend.initialize(self.ldapurl)
     self.assertRaises(backend.LDAPError, connection.delete_s, dn)
Пример #41
0
 def test_connecting(self):
     ldapurl = 'ldap://ldap.example.com'
     backend._addTreeItems(ldapurl, 'dc=example,dc=com')
     connection = backend.initialize(ldapurl)
     self.assert_(connection)
Пример #42
0
def populate(url, base, records):
    backend._addTreeItems(url, base)
    for dn, attrs in records:
        backend._addTreeItems(url, dn, attrs)
Пример #43
0
 def test_unbound_deleting_raises_error(self):
     dn, attrs = self.makeOU(self.dom, 'users')
     backend._addTreeItems(self.ldapurl, dn, attrs)
     connection = backend.initialize(self.ldapurl)
     self.assertRaises(backend.LDAPError, connection.delete_s, dn)
Пример #44
0
 def handle(self, dn, entry):
     backend._addTreeItems(self.url, dn, entry)
Пример #45
0
 def test_unbound_modifying_raises_error(self):
     dn, attrs = self.makeOU(self.dom, 'users')
     backend._addTreeItems(self.ldapurl, dn, attrs)
     mod_attrs = [( backend.MOD_ADD, 'testattr', 'TESTATTR' )]
     connection = backend.initialize(self.ldapurl)
     self.assertRaises(backend.LDAPError, connection.modify_s, dn, mod_attrs)
Пример #46
0
def populate_from_ldif(url, ldif_file, base=None):
    if base:
        backend._addTreeItems(url, base)

    parser = LDIFLoader(url, ldif_file)
    parser.parse()
Пример #47
0
def populate_from_ldif(url, ldif_file, base=None):
    if base:
        backend._addTreeItems(url, base)
    
    parser = LDIFLoader(url, ldif_file)
    parser.parse()
Пример #48
0
 def handle(self, dn, entry):
     backend._addTreeItems(self.url, dn, entry)