summaryrefslogtreecommitdiff
path: root/source4/dsdb/tests
diff options
context:
space:
mode:
authorMatthias Dieter Wallnöfer <mdw@samba.org>2010-11-12 19:49:47 +0100
committerMatthias Dieter Wallnöfer <mdw@samba.org>2010-11-12 19:39:06 +0000
commit37bd3133049eba7ad26aeb74864e732c6efe70e5 (patch)
tree342f6757dcc980e724ff68f16cea04e849d23659 /source4/dsdb/tests
parent584a2d125ec564ffaa019aba53a2d3b29d4c09c3 (diff)
downloadsamba-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-xsource4/dsdb/tests/python/ldap.py13
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)