# 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()
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):
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)
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"""
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))