From 113a9c1806863f9794c3a611ed4c4d910c3bf11b Mon Sep 17 00:00:00 2001 From: Matthias Dieter Wallnöfer Date: Sat, 13 Nov 2010 12:25:40 +0100 Subject: s4:objectclass LDB module - multiple "objectClass" change elements are unfortunately still allowed The test message has been compressed - therefore I've now used "modify_ldif". --- source4/dsdb/tests/python/ldap.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'source4/dsdb/tests/python/ldap.py') diff --git a/source4/dsdb/tests/python/ldap.py b/source4/dsdb/tests/python/ldap.py index 0ac57d5247..00cc450109 100755 --- a/source4/dsdb/tests/python/ldap.py +++ b/source4/dsdb/tests/python/ldap.py @@ -310,18 +310,15 @@ class BasicTests(unittest.TestCase): except LdbError, (num, _): self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION) - # More than one change operation is not allowed - m = Message() - m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn) - m["objectClass"] = MessageElement("bootableDevice", FLAG_MOD_DELETE, - "objectClass") - m["objectClass"] = MessageElement("bootableDevice", FLAG_MOD_ADD, - "objectClass") - try: - ldb.modify(m) - self.fail() - except LdbError, (num, _): - self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS) + # More than one change operation is allowed + ldb.modify_ldif(""" +dn: cn=ldaptestuser,cn=users, """ + self.base_dn + """ +changetype: modify +delete: objectClass +objectClass: bootableDevice +add: objectClass +objectClass: bootableDevice +""") # We cannot remove all object classes by an empty replace m = Message() -- cgit