コード例 #1
0
 def test_modify_and_rename(self):
     with self.client.connect(True) as conn:
         entry = LDAPEntry("cn=async_test,%s" % self.basedn)
         entry['objectclass'] = [
             'top', 'inetOrgPerson', 'person', 'organizationalPerson'
         ]
         entry['sn'] = "async_test"
         oldname = "cn=async_test,%s" % self.basedn
         newname = "cn=async_test2,%s" % self.basedn
         res = conn.search(newname, 0)
         if res:
             res[0].delete()
         try:
             conn.add(entry)
         except bonsai.errors.AlreadyExists:
             conn.delete(entry.dn)
             conn.add(entry)
         except:
             self.fail("Unexcepected error.")
         entry['sn'] = "async_test2"
         entry.modify()
         entry.rename(newname)
         res = conn.search(entry.dn, 0, attrlist=['sn'])
         self.assertEqual(entry['sn'], res[0]['sn'])
         res = conn.search(oldname, 0)
         self.assertEqual(res, [])
         conn.delete(entry.dn)
コード例 #2
0
 def test_modify_and_rename(self):
     with self.client.connect(True) as conn:
         entry = LDAPEntry("cn=async_test,%s" % self.basedn)
         entry['objectclass'] = ['top', 'inetOrgPerson', 'person',
                                 'organizationalPerson']
         entry['sn'] = "async_test"
         oldname = "cn=async_test,%s" % self.basedn
         newname = "cn=async_test2,%s" % self.basedn
         res = conn.search(newname, 0)
         if res:
             res[0].delete()
         try:
             conn.add(entry)
         except bonsai.errors.AlreadyExists:
             conn.delete(entry.dn)
             conn.add(entry)
         except:
             self.fail("Unexcepected error.")
         entry['sn'] = "async_test2"
         entry.modify()
         entry.rename(newname)
         res = conn.search(entry.dn, 0, attrlist=['sn'])
         self.assertEqual(entry['sn'], res[0]['sn'])
         res = conn.search(oldname, 0)
         self.assertEqual(res, [])
         conn.delete(entry.dn)
コード例 #3
0
ファイル: test_gevent.py プロジェクト: tck42/bonsai
def test_modify_and_rename(gclient, basedn):
    """ Test modifying and renaming LDAP entry. """
    with gclient.connect(True) as conn:
        entry = LDAPEntry("cn=async_test,%s" % basedn)
        entry["objectclass"] = [
            "top",
            "inetOrgPerson",
            "person",
            "organizationalPerson",
        ]
        entry["sn"] = "async_test"
        oldname = "cn=async_test,%s" % basedn
        newname = "cn=async_test2,%s" % basedn
        res = conn.search(newname, 0)
        if res:
            res[0].delete()
        try:
            conn.add(entry)
        except bonsai.errors.AlreadyExists:
            conn.delete(entry.dn)
            conn.add(entry)
        except:
            pytest.fail("Unexpected error.")
        entry["sn"] = "async_test2"
        entry.modify()
        entry.rename(newname)
        res = conn.search(entry.dn, 0, attrlist=["sn"])
        assert entry["sn"] == res[0]["sn"]
        res = conn.search(oldname, 0)
        assert res == []
        conn.delete(entry.dn)
コード例 #4
0
ファイル: test_gevent.py プロジェクト: Noirello/bonsai
def test_modify_and_rename(gclient, basedn):
    """ Test modifying and renaming LDAP entry. """
    with gclient.connect(True) as conn:
        entry = LDAPEntry("cn=async_test,%s" % basedn)
        entry["objectclass"] = [
            "top",
            "inetOrgPerson",
            "person",
            "organizationalPerson",
        ]
        entry["sn"] = "async_test"
        oldname = "cn=async_test,%s" % basedn
        newname = "cn=async_test2,%s" % basedn
        res = conn.search(newname, 0)
        if res:
            res[0].delete()
        try:
            conn.add(entry)
        except bonsai.errors.AlreadyExists:
            conn.delete(entry.dn)
            conn.add(entry)
        except:
            pytest.fail("Unexpected error.")
        entry["sn"] = "async_test2"
        entry.modify()
        entry.rename(newname)
        res = conn.search(entry.dn, 0, attrlist=["sn"])
        assert entry["sn"] == res[0]["sn"]
        res = conn.search(oldname, 0)
        assert res == []
        conn.delete(entry.dn)
コード例 #5
0
 def test_rename(self):
     """ Test LDAPEntry's rename LDAP operation. """
     entry = LDAPEntry("cn=test,%s" % self.basedn)
     self.client.set_credentials(*self.creds)
     with self.client.connect() as conn:
         self._add_for_renaming(conn, entry)
         entry.rename("cn=test2,%s" % self.basedn)
         self.assertEqual(str(entry.dn), "cn=test2,%s" % self.basedn)
         obj = conn.search("cn=test,%s" % self.basedn, 0)
         self.assertEqual(obj, [])
         obj = conn.search("cn=test2,%s" % self.basedn, 0)[0]
         self.assertEqual(entry.dn, obj.dn)
         entry.delete()
コード例 #6
0
 def test_rename(self):
     """ Test LDAPEntry's rename LDAP operation. """
     entry = LDAPEntry("cn=test,%s" % self.basedn)
     self.client.set_credentials(*self.creds)
     with self.client.connect() as conn:
         self._add_for_renaming(conn, entry)
         entry.rename("cn=test2,%s" % self.basedn)
         self.assertEqual(str(entry.dn), "cn=test2,%s" % self.basedn)
         obj = conn.search("cn=test,%s" % self.basedn, 0)
         self.assertEqual(obj, [])
         obj = conn.search("cn=test2,%s" % self.basedn, 0)[0]
         self.assertEqual(entry.dn, obj.dn)
         entry.delete()
コード例 #7
0
 def test_rename_error(self):
     """ Test LDAPEntry's rename error handling. """
     dname = bonsai.LDAPDN("cn=test,%s" % self.basedn)
     entry = LDAPEntry(dname)
     self.client.set_credentials(*self.creds)
     with self.client.connect() as conn:
         self._add_for_renaming(conn, entry)
         try:
             newdn = bonsai.LDAPDN("cn=test2,ou=invalid,%s" % self.basedn)
             entry.rename(newdn)
         except bonsai.LDAPError:
             self.assertEqual(entry.dn, dname)
         finally:
             conn.delete(dname)
コード例 #8
0
 def test_rename_error(self):
     """ Test LDAPEntry's rename error handling. """
     dname = bonsai.LDAPDN("cn=test,%s" % self.basedn)
     entry = LDAPEntry(dname)
     self.client.set_credentials(*self.creds)
     with self.client.connect() as conn:
         self._add_for_renaming(conn, entry)
         try:
             newdn = bonsai.LDAPDN("cn=test2,ou=invalid,%s" % self.basedn)
             entry.rename(newdn)
         except bonsai.LDAPError:
             self.assertEqual(entry.dn, dname)
         finally:
             conn.delete(dname)
コード例 #9
0
ファイル: test_tornado.py プロジェクト: tck42/bonsai
 def test_modify_and_rename(self):
     """ Test modifying and renaming an LDAP entry. """
     with (yield self.client.connect(True, ioloop=self.io_loop)) as conn:
         entry = LDAPEntry("cn=async_test,%s" % self.basedn)
         entry["objectclass"] = [
             "top",
             "inetOrgPerson",
             "person",
             "organizationalPerson",
         ]
         entry["sn"] = "async_test"
         oldname = "cn=async_test,%s" % self.basedn
         newname = "cn=async_test2,%s" % self.basedn
         res = yield conn.search(newname, 0)
         if res:
             yield res[0].delete()
         try:
             yield conn.add(entry)
         except bonsai.errors.AlreadyExists:
             yield conn.delete(entry.dn)
             yield conn.add(entry)
         except:
             self.fail("Unexpected error.")
         entry["sn"] = "async_test2"
         yield entry.modify()
         yield entry.rename(newname)
         res = yield conn.search(entry.dn, 0, attrlist=["sn"])
         assert entry["sn"] == res[0]["sn"]
         res = yield conn.search(oldname, 0)
         assert res == []
         yield conn.delete(entry.dn)
コード例 #10
0
 def test_modify_and_rename(self):
     """ Test modifying and renaming an LDAP entry. """
     with (yield self.client.connect(True, ioloop=self.io_loop)) as conn:
         entry = LDAPEntry("cn=async_test,%s" % self.basedn)
         entry['objectclass'] = [
             'top', 'inetOrgPerson', 'person', 'organizationalPerson'
         ]
         entry['sn'] = "async_test"
         oldname = "cn=async_test,%s" % self.basedn
         newname = "cn=async_test2,%s" % self.basedn
         res = yield conn.search(newname, 0)
         if res:
             yield res[0].delete()
         try:
             yield conn.add(entry)
         except bonsai.errors.AlreadyExists:
             yield conn.delete(entry.dn)
             yield conn.add(entry)
         except:
             self.fail("Unexpected error.")
         entry['sn'] = "async_test2"
         yield entry.modify()
         yield entry.rename(newname)
         res = yield conn.search(entry.dn, 0, attrlist=['sn'])
         self.assertEqual(entry['sn'], res[0]['sn'])
         res = yield conn.search(oldname, 0)
         self.assertEqual(res, [])
         yield conn.delete(entry.dn)
コード例 #11
0
def test_rename_error(client, basedn, test_entry):
    """ Test LDAPEntry's rename error handling. """
    dname = bonsai.LDAPDN("cn=test,%s" % basedn)
    entry = LDAPEntry(dname)
    with pytest.raises(ValueError):
        entry.rename("cn=test2")
    with client.connect() as conn:
        entry = test_entry(conn, dname)
        with pytest.raises(TypeError):
            entry.rename(0)
        with pytest.raises(TypeError):
            entry.rename(0, delete_old_rdn=0)
        try:
            newdn = bonsai.LDAPDN("cn=test2,ou=invalid,%s" % basedn)
            entry.rename(newdn)
        except bonsai.LDAPError:
            assert entry.dn == dname
    with pytest.raises(bonsai.errors.ClosedConnection):
        entry.rename("cn=test2")
コード例 #12
0
ファイル: test_ldapentry.py プロジェクト: Noirello/bonsai
def test_rename_error(client, basedn, test_entry):
    """ Test LDAPEntry's rename error handling. """
    dname = bonsai.LDAPDN("cn=test,%s" % basedn)
    entry = LDAPEntry(dname)
    with pytest.raises(ValueError):
        entry.rename("cn=test2")
    with client.connect() as conn:
        entry = test_entry(conn, dname)
        with pytest.raises(TypeError):
            entry.rename(0)
        with pytest.raises(TypeError):
            entry.rename(0, delete_old_rdn=0)
        try:
            newdn = bonsai.LDAPDN("cn=test2,ou=invalid,%s" % basedn)
            entry.rename(newdn)
        except bonsai.LDAPError:
            assert entry.dn == dname
    with pytest.raises(bonsai.errors.ClosedConnection):
        entry.rename("cn=test2")