s4-tests: Refactored acl.py to use DsdbTestCase.
[nivanova/samba.git] / source4 / dsdb / tests / python / acl.py
index 14800053c98e51b1da91e499d708246387d49e10..009abd85255a531d2315a29b9133e586f0436b98 100755 (executable)
@@ -56,17 +56,7 @@ creds.set_gensec_features(creds.get_gensec_features() | gensec.FEATURE_SEAL)
 # Tests start here
 #
 
-class AclTests(samba.tests.TestCase):
-
-    def delete_force(self, ldb, dn):
-        try:
-            ldb.delete(dn)
-        except LdbError, (num, _):
-            self.assertEquals(num, ERR_NO_SUCH_OBJECT)
-
-    def find_domain_sid(self, ldb):
-        res = ldb.search(base=self.base_dn, expression="(objectClass=*)", scope=SCOPE_BASE)
-        return ndr_unpack(security.dom_sid,res[0]["objectSid"][0])
+class AclTests(samba.tests.DsdbTestCase):
 
     def setUp(self):
         super(AclTests, self).setUp()
@@ -221,23 +211,6 @@ url: www.example.com
         self.create_active_user(self.ldb_admin, self.get_user_dn(username))
         self.ldb_admin.enable_account("(sAMAccountName=" + username + ")")
 
-    def set_dsheuristics(self, dsheuristics):
-        m = Message()
-        m.dn = Dn(self.ldb_admin, "CN=Directory Service, CN=Windows NT, CN=Services, "
-                  + self.configuration_dn)
-        if dsheuristics is not None:
-            m["dSHeuristics"] = MessageElement(dsheuristics, FLAG_MOD_REPLACE,
-                                               "dSHeuristics")
-        else:
-            m["dSHeuristics"] = MessageElement([], FLAG_MOD_DELETE, "dsHeuristics")
-        self.ldb_admin.modify(m)
-
-    def set_minPwdAge(self, value):
-        m = Message()
-        m.dn = Dn(self.ldb_admin, self.base_dn)
-        m["minPwdAge"] = MessageElement(value, FLAG_MOD_REPLACE, "minPwdAge")
-        self.ldb_admin.modify(m)
-
 #tests on ldap add operations
 class AclAddTests(AclTests):
 
@@ -807,7 +780,7 @@ class AclSearchTests(AclTests):
 
     def test_search_anonymous3(self):
         """Set dsHeuristics and repeat"""
-        self.set_dsheuristics("0000002")
+        self.set_dsheuristics(self.ldb_admin, "0000002")
         self.create_ou(self.ldb_admin, "OU=test_search_ou1," + self.base_dn)
         mod = "(A;CI;LC;;;AN)"
         self.dacl_add_ace("OU=test_search_ou1," + self.base_dn, mod)
@@ -823,7 +796,7 @@ class AclSearchTests(AclTests):
         self.assertEquals(len(res), 1)
         self.assertTrue("dn" in res[0])
         self.assertTrue(res[0]["dn"] == Dn(self.ldb_admin, self.configuration_dn))
-        self.set_dsheuristics(self.dsheuristics)
+        self.set_dsheuristics(self.ldb_admin, self.dsheuristics)
 
     def test_search1(self):
         """Make sure users can see us if given LC to user and group"""
@@ -1345,15 +1318,15 @@ class AclCARTests(AclTests):
         self.minPwdAge = res[0]["minPwdAge"][0]
 
         # Set the "dSHeuristics" to have the tests run against Windows Server
-        self.set_dsheuristics("000000001")
+        self.set_dsheuristics(self.ldb_admin, "000000001")
 # Set minPwdAge to 0
-        self.set_minPwdAge("0")
+        self.set_minPwdAge(self.ldb_admin, "0")
 
     def tearDown(self):
         super(AclCARTests, self).tearDown()
         #restore original values
-        self.set_dsheuristics(self.dsheuristics)
-        self.set_minPwdAge(self.minPwdAge)
+        self.set_dsheuristics(self.ldb_admin,self.dsheuristics)
+        self.set_minPwdAge(self.ldb_admin, self.minPwdAge)
         self.delete_force(self.ldb_admin, self.get_user_dn(self.user_with_wp))
         self.delete_force(self.ldb_admin, self.get_user_dn(self.user_with_pc))