コード例 #1
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: tools.py プロジェクト: IsayIsee/fakeldap-1
def populate(url, base, records):
    backend._addTreeItems(url, base)
    for dn, attrs in records:
        backend._addTreeItems(url, dn, attrs)
コード例 #34
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: tools.py プロジェクト: hcwebdev/fakeldap
def populate(url, base, records):
    backend._addTreeItems(url, base)
    for dn, attrs in records:
        backend._addTreeItems(url, dn, attrs)
コード例 #43
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: tools.py プロジェクト: IsayIsee/fakeldap-1
 def handle(self, dn, entry):
     backend._addTreeItems(self.url, dn, entry)
コード例 #45
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 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
ファイル: tools.py プロジェクト: IsayIsee/fakeldap-1
def populate_from_ldif(url, ldif_file, base=None):
    if base:
        backend._addTreeItems(url, base)

    parser = LDIFLoader(url, ldif_file)
    parser.parse()
コード例 #47
0
ファイル: tools.py プロジェクト: hcwebdev/fakeldap
def populate_from_ldif(url, ldif_file, base=None):
    if base:
        backend._addTreeItems(url, base)
    
    parser = LDIFLoader(url, ldif_file)
    parser.parse()
コード例 #48
0
ファイル: tools.py プロジェクト: hcwebdev/fakeldap
 def handle(self, dn, entry):
     backend._addTreeItems(self.url, dn, entry)