diff options
author | Matthias Dieter Wallnöfer <mdw@samba.org> | 2010-11-12 19:49:47 +0100 |
---|---|---|
committer | Matthias Dieter Wallnöfer <mdw@samba.org> | 2010-11-12 19:39:06 +0000 |
commit | 37bd3133049eba7ad26aeb74864e732c6efe70e5 (patch) | |
tree | 342f6757dcc980e724ff68f16cea04e849d23659 /source4/dsdb/tests | |
parent | 584a2d125ec564ffaa019aba53a2d3b29d4c09c3 (diff) | |
download | samba-37bd3133049eba7ad26aeb74864e732c6efe70e5.tar.gz samba-37bd3133049eba7ad26aeb74864e732c6efe70e5.tar.bz2 samba-37bd3133049eba7ad26aeb74864e732c6efe70e5.zip |
s4:objectclass LDB module - we should not simply ignore additional "objectClass" attribute changes
There first one we perform all other tentatives are terminated with
ERR_ATTRIBUTE_OR_VALUE_EXISTS (tested against Windows).
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Fri Nov 12 19:39:07 UTC 2010 on sn-devel-104
Diffstat (limited to 'source4/dsdb/tests')
-rwxr-xr-x | source4/dsdb/tests/python/ldap.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source4/dsdb/tests/python/ldap.py b/source4/dsdb/tests/python/ldap.py index 26a0d720c5..0ac57d5247 100755 --- a/source4/dsdb/tests/python/ldap.py +++ b/source4/dsdb/tests/python/ldap.py @@ -310,6 +310,19 @@ 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) + # We cannot remove all object classes by an empty replace m = Message() m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn) |