コード例 #1
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)
コード例 #2
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)
コード例 #3
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)
コード例 #4
0
    def test_searching_for_user_by_uid_with_only_wildcard_from_branch(self):
        base_dn = 'ou=users,%s' % self.root_dn
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        results = connection.search_s(base_dn, filterstr='(uid=*)')

        self.assertEqual(len(results), 2)
コード例 #5
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_searching_for_non_matching_attributes(self):
     base_dn = 'uid=jradford,ou=users,%s' % self.root_dn
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     results = connection.search_s(base_dn, attrlist=['uid', 'ou'])
     
     self.assertEqual(results[0], (base_dn, {'uid': ['jradford']}))
コード例 #6
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)
コード例 #7
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)
コード例 #8
0
    def test_searching_for_everything_from_leaf_node(self):
        base_dn = 'uid=jradford,ou=users,%s' % self.root_dn
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        results = connection.search_s(base_dn)

        self.assertEqual(len(results), 1)
コード例 #9
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_modifications_fail_when_auth_required(self):
     backend._toggle_auth_required(self.ldapurl)
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     dn = 'uid=jradford,ou=users,%s' % self.root_dn
     mod_attrs = [( backend.MOD_ADD, 'testattr', 'TESTATTR' )]
     self.assertRaises(backend.STRONG_AUTH_REQUIRED, connection.modify_s, dn, mod_attrs)
コード例 #10
0
 def test_deletions_fail_when_auth_required(self):
     backend._toggle_auth_required(self.ldapurl)
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     dn = 'uid=jradford,ou=users,%s' % self.root_dn
     self.assertRaises(backend.STRONG_AUTH_REQUIRED, connection.delete_s,
                       dn)
コード例 #11
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_searching_for_user_by_uid_with_wildcard_at_start_and_end_from_root(self):
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     results = connection.search_s(self.root_dn, filterstr='(uid=*dfor*)')
     
     self.assertEqual(len(results), 1)
     self.assertEqual(results[0][0], 'uid=jradford,ou=users,dc=example,dc=com')
コード例 #12
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_searching_for_user_by_uid_with_only_wildcard_from_branch(self):
     base_dn = 'ou=users,%s' % self.root_dn
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     results = connection.search_s(base_dn, filterstr='(uid=*)')
     
     self.assertEqual(len(results), 2)
コード例 #13
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_searching_for_everything_from_leaf_node(self):
     base_dn = 'uid=jradford,ou=users,%s' % self.root_dn
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     results = connection.search_s(base_dn)
     
     self.assertEqual(len(results), 1)
コード例 #14
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')
コード例 #15
0
    def test_searching_for_non_matching_attributes(self):
        base_dn = 'uid=jradford,ou=users,%s' % self.root_dn
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        results = connection.search_s(base_dn, attrlist=['uid', 'ou'])

        self.assertEqual(results[0], (base_dn, {'uid': ['jradford']}))
コード例 #16
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)
コード例 #17
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)
コード例 #18
0
    def test_searching_for_user_by_uid_with_wildcard_at_start_from_root(self):
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        results = connection.search_s(self.root_dn, filterstr='(uid=*d)')

        self.assertEqual(len(results), 1)
        self.assertEqual(results[0][0],
                         'uid=jradford,ou=users,dc=example,dc=com')
コード例 #19
0
    def test_searching_for_only_dn_attribute(self):
        base_dn = 'uid=jradford,ou=users,%s' % self.root_dn
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        results = connection.search_s(base_dn, attrlist=['dn'])

        self.assertEqual(len(results), 1)
        self.assertEqual(results[0], (base_dn, {}))
コード例 #20
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_searching_for_only_dn_attribute(self):
     base_dn = 'uid=jradford,ou=users,%s' % self.root_dn
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     results = connection.search_s(base_dn, attrlist=['dn'])
     
     self.assertEqual(len(results), 1)
     self.assertEqual(results[0], (base_dn, {}))
コード例 #21
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_searching_for_user_by_uid_from_branch(self):
     base_dn = 'ou=users,%s' % self.root_dn
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     results = connection.search_s(base_dn, filterstr='(uid=jradford)')
     
     self.assertEqual(len(results), 1)
     self.assertEqual(results[0][0], 'uid=jradford,ou=users,dc=example,dc=com')
コード例 #22
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)
コード例 #23
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)
コード例 #24
0
 def test_modifications_fail_when_auth_required(self):
     backend._toggle_auth_required(self.ldapurl)
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     dn = 'uid=jradford,ou=users,%s' % self.root_dn
     mod_attrs = [(backend.MOD_ADD, 'testattr', 'TESTATTR')]
     self.assertRaises(backend.STRONG_AUTH_REQUIRED, connection.modify_s,
                       dn, mod_attrs)
コード例 #25
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)
コード例 #26
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')
コード例 #27
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)
コード例 #28
0
ファイル: tools.py プロジェクト: IsayIsee/fakeldap-1
def exists(url, dn):
    connection = backend.initialize(url)
    try:
        if connection._search_s(dn, scope=backend.SCOPE_BASE):
            return True
    except backend.LDAPError:
        pass

    return False
コード例 #29
0
ファイル: tools.py プロジェクト: hcwebdev/fakeldap
def exists(url, dn):
    connection = backend.initialize(url)
    try:
        if connection._search_s(dn, scope=backend.SCOPE_BASE):
            return True
    except backend.LDAPError:
        pass
    
    return False
コード例 #30
0
ファイル: tools.py プロジェクト: hcwebdev/fakeldap
def check_password(url, dn, password):
    connection = backend.initialize(url)
    try:
        connection.simple_bind_s(dn, password)
        return True
    except backend.INVALID_CREDENTIALS:
        pass
    
    return False
コード例 #31
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)
コード例 #32
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_deleting_non_existant_node(self):
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     dn = 'uid=nonentity,ou=users,%s' % self.root_dn
     
     connection.delete_s(dn)
     results = connection.search_s(self.root_dn)
     
     self.assert_(len(results) == 4)
コード例 #33
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')
コード例 #34
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)
コード例 #35
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)
コード例 #36
0
    def test_deleting_non_existant_node(self):
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        dn = 'uid=nonentity,ou=users,%s' % self.root_dn

        connection.delete_s(dn)
        results = connection.search_s(self.root_dn)

        self.assert_(len(results) == 4)
コード例 #37
0
    def test_searching_for_user_by_uid_from_branch(self):
        base_dn = 'ou=users,%s' % self.root_dn
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        results = connection.search_s(base_dn, filterstr='(uid=jradford)')

        self.assertEqual(len(results), 1)
        self.assertEqual(results[0][0],
                         'uid=jradford,ou=users,dc=example,dc=com')
コード例 #38
0
ファイル: tools.py プロジェクト: IsayIsee/fakeldap-1
def check_password(url, dn, password):
    connection = backend.initialize(url)
    try:
        connection.simple_bind_s(dn, password)
        return True
    except backend.INVALID_CREDENTIALS:
        pass

    return False
コード例 #39
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_modifying_with_mod_delete_on_attrib_using_non_matching_value(self):
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     dn = 'uid=jradford,ou=users,%s' % self.root_dn
     mod_attrs = [( backend.MOD_DELETE, 'cn', 'non-existant' )]
     
     connection.modify_s(dn, mod_attrs)
     results = connection.search_s(dn)
     
     self.assert_(results[0][1].get('cn') == ['Jacob Radford'])
コード例 #40
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_modifying_with_mod_delete_on_attrib_with_single_value_using_None_value(self):
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     dn = 'uid=jradford,ou=users,%s' % self.root_dn
     mod_attrs = [( backend.MOD_DELETE, 'cn', None )]
     
     connection.modify_s(dn, mod_attrs)
     results = connection.search_s(dn)
     
     self.failIf(results[0][1].get('cn'))
コード例 #41
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_deleting_root_of_multiple_nodes(self):
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     dn = 'ou=users,%s' % self.root_dn
     
     connection.delete_s(dn)
     results = connection.search_s(self.root_dn)
     
     self.assert_(len(results) == 1)
     self.assertRaises(backend.NO_SUCH_OBJECT, connection.search_s, dn)
コード例 #42
0
    def test_deleting_root_of_multiple_nodes(self):
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        dn = 'ou=users,%s' % self.root_dn

        connection.delete_s(dn)
        results = connection.search_s(self.root_dn)

        self.assert_(len(results) == 1)
        self.assertRaises(backend.NO_SUCH_OBJECT, connection.search_s, dn)
コード例 #43
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)
コード例 #44
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)
コード例 #45
0
    def test_modifying_with_mod_add_using_arr_value(self):
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        dn = 'uid=jradford,ou=users,%s' % self.root_dn
        mod_attrs = [(backend.MOD_ADD, 'testattr', ['TESTATTR'])]

        connection.modify_s(dn, mod_attrs)
        results = connection.search_s(dn)

        self.assert_('TESTATTR' in results[0][1].get('testattr'))
コード例 #46
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_modifying_with_mod_add_using_arr_value(self):
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     dn = 'uid=jradford,ou=users,%s' % self.root_dn
     mod_attrs = [( backend.MOD_ADD, 'testattr', ['TESTATTR'] )]
     
     connection.modify_s(dn, mod_attrs)
     results = connection.search_s(dn)
     
     self.assert_('TESTATTR' in results[0][1].get('testattr'))
コード例 #47
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_modifying_with_mod_add_to_preexisting_using_str_value(self):
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     dn = 'uid=jradford,ou=users,%s' % self.root_dn
     mod_attrs = [( backend.MOD_ADD, 'cn', 'TESTATTR' )]
     
     connection.modify_s(dn, mod_attrs)
     results = connection.search_s(dn)
     
     self.assert_('Jacob Radford' in results[0][1].get('cn'))
     self.assert_('TESTATTR' in results[0][1].get('cn'))
コード例 #48
0
    def test_modifying_with_mod_delete_on_attrib_with_single_value_using_None_value(
            self):
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        dn = 'uid=jradford,ou=users,%s' % self.root_dn
        mod_attrs = [(backend.MOD_DELETE, 'cn', None)]

        connection.modify_s(dn, mod_attrs)
        results = connection.search_s(dn)

        self.failIf(results[0][1].get('cn'))
コード例 #49
0
    def test_modifying_with_mod_delete_on_attrib_using_non_matching_value(
            self):
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        dn = 'uid=jradford,ou=users,%s' % self.root_dn
        mod_attrs = [(backend.MOD_DELETE, 'cn', 'non-existant')]

        connection.modify_s(dn, mod_attrs)
        results = connection.search_s(dn)

        self.assert_(results[0][1].get('cn') == ['Jacob Radford'])
コード例 #50
0
    def test_modifying_with_mod_replace_using_arr_value(self):
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        dn = 'uid=jradford,ou=users,%s' % self.root_dn
        mod_attrs = [(backend.MOD_REPLACE, 'cn', ['TESTATTR'])]

        connection.modify_s(dn, mod_attrs)
        results = connection.search_s(dn)

        self.failIf('Jacob Radford' in results[0][1].get('cn'))
        self.assert_('TESTATTR' in results[0][1].get('cn'))
コード例 #51
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)
コード例 #52
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_modifying_with_mod_replace_using_arr_value(self):
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     dn = 'uid=jradford,ou=users,%s' % self.root_dn
     mod_attrs = [( backend.MOD_REPLACE, 'cn', ['TESTATTR'] )]
     
     connection.modify_s(dn, mod_attrs)
     results = connection.search_s(dn)
     
     self.failIf('Jacob Radford' in results[0][1].get('cn'))
     self.assert_('TESTATTR' in results[0][1].get('cn'))
コード例 #53
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_modifying_with_mod_delete_on_attrib_with_multiple_values_using_matching_str_value(self):
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     dn = 'uid=jradford,ou=users,%s' % self.root_dn
     self.assert_(connection.search_s(dn)[0][1].get('objectClass') == ['person', 'inetOrgPerson'])
     mod_attrs = [( backend.MOD_DELETE, 'objectClass', 'inetOrgPerson' )]
     
     connection.modify_s(dn, mod_attrs)
     results = connection.search_s(dn)
     
     self.failIf(results[0][1].get('cn') == ['person'])
コード例 #54
0
    def test_modifying_with_mod_add_to_preexisting_using_str_value(self):
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        dn = 'uid=jradford,ou=users,%s' % self.root_dn
        mod_attrs = [(backend.MOD_ADD, 'cn', 'TESTATTR')]

        connection.modify_s(dn, mod_attrs)
        results = connection.search_s(dn)

        self.assert_('Jacob Radford' in results[0][1].get('cn'))
        self.assert_('TESTATTR' in results[0][1].get('cn'))
コード例 #55
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)
コード例 #56
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)
コード例 #57
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)
コード例 #58
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')
コード例 #59
0
    def test_modifying_with_mod_delete_on_attrib_with_multiple_values_using_matching_str_value(
            self):
        connection = backend.initialize(self.ldapurl)
        connection.simple_bind_s()
        dn = 'uid=jradford,ou=users,%s' % self.root_dn
        self.assert_(
            connection.search_s(dn)[0][1].get('objectClass') ==
            ['person', 'inetOrgPerson'])
        mod_attrs = [(backend.MOD_DELETE, 'objectClass', 'inetOrgPerson')]

        connection.modify_s(dn, mod_attrs)
        results = connection.search_s(dn)

        self.failIf(results[0][1].get('cn') == ['person'])
コード例 #60
0
ファイル: backend_tests.py プロジェクト: hcwebdev/fakeldap
 def test_moving_single_node(self):
     connection = backend.initialize(self.ldapurl)
     connection.simple_bind_s()
     dn = 'ou=groups,%s' % self.root_dn
     newrdn = 'ou=orgs'
     newdn = '%s,%s' % (newrdn, self.root_dn)
     
     connection.modrdn_s(dn, newrdn)
     results = connection.search_s(self.root_dn)
     new_record = connection.search_s(newdn)[0]
     
     self.assert_(len(results) == 4)
     self.assertRaises(backend.NO_SUCH_OBJECT, connection.search_s, dn)
     self.assertEqual(new_record[0], newdn)
     self.assertEqual(new_record[1]['ou'], ['orgs'])