s4:ldap.py - test the new "systemFlags" constraint
authorMatthias Dieter Wallnöfer <mdw@samba.org>
Sat, 7 Aug 2010 09:59:57 +0000 (11:59 +0200)
committerMatthias Dieter Wallnöfer <mdw@samba.org>
Sat, 7 Aug 2010 12:22:42 +0000 (14:22 +0200)
source4/dsdb/tests/python/ldap.py

index 133ff584aca35be2e26e6868f7b98b8df0413b44..7cf02ea97d4621a2a8554d22bab731cef1421198 100755 (executable)
@@ -29,7 +29,7 @@ from ldb import FLAG_MOD_ADD, FLAG_MOD_REPLACE, FLAG_MOD_DELETE
 from samba import Ldb
 from samba.dsdb import (UF_NORMAL_ACCOUNT, UF_WORKSTATION_TRUST_ACCOUNT, 
     UF_PASSWD_NOTREQD, UF_ACCOUNTDISABLE, ATYPE_NORMAL_ACCOUNT,
-    ATYPE_WORKSTATION_TRUST)
+    ATYPE_WORKSTATION_TRUST, SYSTEM_FLAG_DOMAIN_DISALLOW_MOVE)
 
 from subunit.run import SubunitTestRunner
 import unittest
@@ -152,6 +152,16 @@ class BasicTests(unittest.TestCase):
         except LdbError, (num, _):
             self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
 
+        # Multi-valued "systemFlags"
+        try:
+            self.ldb.add({
+                "dn": "cn=ldaptestuser,cn=users," + self.base_dn,
+                "objectClass": "person",
+                "systemFlags": ["0", str(SYSTEM_FLAG_DOMAIN_DISALLOW_MOVE)] })
+            self.fail()
+        except LdbError, (num, _):
+            self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
+
         # We cannot instanciate from an abstract objectclass
         try:
             self.ldb.add({