[SCM] Samba Shared Repository - branch master updated
Nadezhda Ivanova
nivanova at samba.org
Wed Nov 24 17:29:02 MST 2010
The branch, master has been updated
via fc1da86 s4-tests: Modified speedtest.py to use samba.tests.delete_force
via 21aceb1 s4-tests: Modified sec_descriptor.py to use samba.tests.delete_force
via 9917525 s4-tests: Modified sam.py to use samba.tests.delete_force
via 0d99a5f s4-tests: Modified passwords.py to use samba.tests.delete_force
via 71af506 s4-tests: delete_force was unused, removed it.
via 5e7d99a s4-tests: Modified ldap_schema.py to use samba.tests.delete_force
via d21d3e7 s4-tests: Modified ldap.py to use samba.tests.delete_force
via 66aa40b s4-tests: Modified deletetest.py to use samba.tests.delete_force
via f42802e s4-tests: Modified bind.py to use samba.tests.delete_force
via d7731f6 s4-tests: Modified acly.py to use common delete_force instead of defining its own.
via db5bcb7 s4-tests: Added a common definition of delete_force.
from 64424bb s4-smbtorture: pick a better printer in RPC-SPOOLSS-ACCESS.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit fc1da86d403c654fc96a6b1410147fe93dee0a39
Author: Nadezhda Ivanova <nivanova at samba.org>
Date: Thu Nov 25 01:16:14 2010 +0200
s4-tests: Modified speedtest.py to use samba.tests.delete_force
Autobuild-User: Nadezhda Ivanova <nivanova at samba.org>
Autobuild-Date: Thu Nov 25 01:28:19 CET 2010 on sn-devel-104
commit 21aceb1374329b9738031d9d6143b2cb24c87f52
Author: Nadezhda Ivanova <nivanova at samba.org>
Date: Thu Nov 25 01:15:24 2010 +0200
s4-tests: Modified sec_descriptor.py to use samba.tests.delete_force
commit 9917525b96f7fe4b3e4fb310614499f093ed5ca8
Author: Nadezhda Ivanova <nivanova at samba.org>
Date: Thu Nov 25 01:14:58 2010 +0200
s4-tests: Modified sam.py to use samba.tests.delete_force
commit 0d99a5f27c13b1160777a570482d8481ae931375
Author: Nadezhda Ivanova <nivanova at samba.org>
Date: Thu Nov 25 01:13:47 2010 +0200
s4-tests: Modified passwords.py to use samba.tests.delete_force
commit 71af5069507ef60bd4b73ee3943716d55e833252
Author: Nadezhda Ivanova <nivanova at samba.org>
Date: Thu Nov 25 01:13:24 2010 +0200
s4-tests: delete_force was unused, removed it.
commit 5e7d99a5d84dfc723c9be26cb7617307aaa2fb23
Author: Nadezhda Ivanova <nivanova at samba.org>
Date: Thu Nov 25 01:12:42 2010 +0200
s4-tests: Modified ldap_schema.py to use samba.tests.delete_force
commit d21d3e7db8e9b05daa17ca0e84b1b7f82b55a80e
Author: Nadezhda Ivanova <nivanova at samba.org>
Date: Thu Nov 25 01:12:18 2010 +0200
s4-tests: Modified ldap.py to use samba.tests.delete_force
commit 66aa40b9d942664722f113f07d6024529da1fb14
Author: Nadezhda Ivanova <nivanova at samba.org>
Date: Thu Nov 25 01:11:57 2010 +0200
s4-tests: Modified deletetest.py to use samba.tests.delete_force
commit f42802e22fa0f0a2026036d540cd5f3341870557
Author: Nadezhda Ivanova <nivanova at samba.org>
Date: Thu Nov 25 01:11:29 2010 +0200
s4-tests: Modified bind.py to use samba.tests.delete_force
commit d7731f6f39eb4887a4f91a5b5dbc969b1b0596d2
Author: Nadezhda Ivanova <nivanova at samba.org>
Date: Wed Nov 24 17:48:56 2010 +0200
s4-tests: Modified acly.py to use common delete_force instead of defining its own.
commit db5bcb7115991bb1289cad471190fd73139ea53e
Author: Nadezhda Ivanova <nivanova at samba.org>
Date: Wed Nov 24 17:47:27 2010 +0200
s4-tests: Added a common definition of delete_force.
-----------------------------------------------------------------------
Summary of changes:
source4/auth/credentials/tests/bind.py | 9 +-
source4/dsdb/tests/python/acl.py | 115 +++++++-------
source4/dsdb/tests/python/deletetest.py | 32 ++--
source4/dsdb/tests/python/ldap.py | 181 +++++++++++-----------
source4/dsdb/tests/python/ldap_schema.py | 11 +-
source4/dsdb/tests/python/ldap_syntaxes.py | 5 -
source4/dsdb/tests/python/passwords.py | 19 +--
source4/dsdb/tests/python/sam.py | 139 ++++++++---------
source4/dsdb/tests/python/sec_descriptor.py | 137 ++++++++---------
source4/scripting/devel/speedtest.py | 11 +-
source4/scripting/python/samba/tests/__init__.py | 6 +
11 files changed, 311 insertions(+), 354 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/auth/credentials/tests/bind.py b/source4/auth/credentials/tests/bind.py
index c59e714..8c93319 100755
--- a/source4/auth/credentials/tests/bind.py
+++ b/source4/auth/credentials/tests/bind.py
@@ -26,6 +26,7 @@ from samba import gensec
from samba.samdb import SamDB
from samba.credentials import Credentials
import samba.tests
+from samba.tests import delete_force
from subunit.run import SubunitTestRunner
import unittest
@@ -70,18 +71,12 @@ class BindTests(samba.tests.TestCase):
self.password = "P at ssw0rd"
self.username = "BindTestUser_" + time.strftime("%s", time.gmtime())
- def delete_force(self, ldb, dn):
- try:
- ldb.delete(dn)
- except LdbError, (num, _):
- self.assertEquals(num, ERR_NO_SUCH_OBJECT)
-
def tearDown(self):
super(BindTests, self).tearDown()
def test_computer_account_bind(self):
# create a computer acocount for the test
- self.delete_force(ldb, self.computer_dn)
+ delete_force(ldb, self.computer_dn)
ldb.add_ldif("""
dn: """ + self.computer_dn + """
cn: CENTOS53
diff --git a/source4/dsdb/tests/python/acl.py b/source4/dsdb/tests/python/acl.py
index c45399a..691f358 100755
--- a/source4/dsdb/tests/python/acl.py
+++ b/source4/dsdb/tests/python/acl.py
@@ -29,6 +29,7 @@ from samba import gensec
from samba.samdb import SamDB
from samba.credentials import Credentials
import samba.tests
+from samba.tests import delete_force
from subunit.run import SubunitTestRunner
import unittest
@@ -58,12 +59,6 @@ creds.set_gensec_features(creds.get_gensec_features() | gensec.FEATURE_SEAL)
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])
@@ -175,15 +170,15 @@ class AclAddTests(AclTests):
def tearDown(self):
super(AclAddTests, self).tearDown()
- self.delete_force(self.ldb_admin, "CN=%s,%s,%s" %
+ delete_force(self.ldb_admin, "CN=%s,%s,%s" %
(self.test_user1, self.ou2, self.base_dn))
- self.delete_force(self.ldb_admin, "CN=%s,%s,%s" %
+ delete_force(self.ldb_admin, "CN=%s,%s,%s" %
(self.test_group1, self.ou2, self.base_dn))
- self.delete_force(self.ldb_admin, "%s,%s" % (self.ou2, self.base_dn))
- self.delete_force(self.ldb_admin, "%s,%s" % (self.ou1, self.base_dn))
- self.delete_force(self.ldb_admin, self.get_user_dn(self.usr_admin_owner))
- self.delete_force(self.ldb_admin, self.get_user_dn(self.usr_admin_not_owner))
- self.delete_force(self.ldb_admin, self.get_user_dn(self.regular_user))
+ delete_force(self.ldb_admin, "%s,%s" % (self.ou2, self.base_dn))
+ delete_force(self.ldb_admin, "%s,%s" % (self.ou1, self.base_dn))
+ delete_force(self.ldb_admin, self.get_user_dn(self.usr_admin_owner))
+ delete_force(self.ldb_admin, self.get_user_dn(self.usr_admin_not_owner))
+ delete_force(self.ldb_admin, self.get_user_dn(self.regular_user))
# Make sure top OU is deleted (and so everything under it)
def assert_top_ou_deleted(self):
@@ -300,15 +295,15 @@ class AclModifyTests(AclTests):
def tearDown(self):
super(AclModifyTests, self).tearDown()
- self.delete_force(self.ldb_admin, self.get_user_dn("test_modify_user1"))
- self.delete_force(self.ldb_admin, "CN=test_modify_group1,CN=Users," + self.base_dn)
- self.delete_force(self.ldb_admin, "CN=test_modify_group2,CN=Users," + self.base_dn)
- self.delete_force(self.ldb_admin, "CN=test_modify_group3,CN=Users," + self.base_dn)
- self.delete_force(self.ldb_admin, "OU=test_modify_ou1," + self.base_dn)
- 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_sm))
- self.delete_force(self.ldb_admin, self.get_user_dn(self.user_with_group_sm))
- self.delete_force(self.ldb_admin, self.get_user_dn("test_modify_user2"))
+ delete_force(self.ldb_admin, self.get_user_dn("test_modify_user1"))
+ delete_force(self.ldb_admin, "CN=test_modify_group1,CN=Users," + self.base_dn)
+ delete_force(self.ldb_admin, "CN=test_modify_group2,CN=Users," + self.base_dn)
+ delete_force(self.ldb_admin, "CN=test_modify_group3,CN=Users," + self.base_dn)
+ delete_force(self.ldb_admin, "OU=test_modify_ou1," + self.base_dn)
+ delete_force(self.ldb_admin, self.get_user_dn(self.user_with_wp))
+ delete_force(self.ldb_admin, self.get_user_dn(self.user_with_sm))
+ delete_force(self.ldb_admin, self.get_user_dn(self.user_with_group_sm))
+ delete_force(self.ldb_admin, self.get_user_dn("test_modify_user2"))
def test_modify_u1(self):
"""5 Modify one attribute if you have DS_WRITE_PROPERTY for it"""
@@ -340,7 +335,7 @@ displayName: test_changed"""
self.assertEqual(res[0]["displayName"][0], "test_changed")
# Third test object -- Organizational Unit
print "Testing modify on OU object"
- #self.delete_force(self.ldb_admin, "OU=test_modify_ou1," + self.base_dn)
+ #delete_force(self.ldb_admin, "OU=test_modify_ou1," + self.base_dn)
self.ldb_admin.create_ou("OU=test_modify_ou1," + self.base_dn)
self.dacl_add_ace("OU=test_modify_ou1," + self.base_dn, mod)
ldif = """
@@ -357,7 +352,7 @@ displayName: test_changed"""
mod = "(OA;;WP;bf967953-0de6-11d0-a285-00aa003049e2;;%s)" % str(self.user_sid)
# First test object -- User
print "Testing modify on User object"
- #self.delete_force(self.ldb_admin, self.get_user_dn("test_modify_user1"))
+ #delete_force(self.ldb_admin, self.get_user_dn("test_modify_user1"))
self.ldb_admin.newuser("test_modify_user1", self.user_pass)
self.dacl_add_ace(self.get_user_dn("test_modify_user1"), mod)
# Modify on attribute you have rights for
@@ -477,7 +472,7 @@ url: www.samba.org"""
# Second test object -- Organizational Unit
print "Testing modify on OU object"
- #self.delete_force(self.ldb_admin, "OU=test_modify_ou1," + self.base_dn)
+ #delete_force(self.ldb_admin, "OU=test_modify_ou1," + self.base_dn)
self.ldb_admin.create_ou("OU=test_modify_ou1," + self.base_dn)
# Modify on attribute you do not have rights for granted
ldif = """
@@ -666,18 +661,18 @@ class AclSearchTests(AclTests):
def tearDown(self):
super(AclSearchTests, self).tearDown()
- self.delete_force(self.ldb_admin, "OU=test_search_ou2,OU=test_search_ou1," + self.base_dn)
- self.delete_force(self.ldb_admin, "OU=test_search_ou1," + self.base_dn)
- self.delete_force(self.ldb_admin, "OU=ou6,OU=ou4,OU=ou2,OU=ou1," + self.base_dn)
- self.delete_force(self.ldb_admin, "OU=ou5,OU=ou3,OU=ou2,OU=ou1," + self.base_dn)
- self.delete_force(self.ldb_admin, "OU=ou4,OU=ou2,OU=ou1," + self.base_dn)
- self.delete_force(self.ldb_admin, "OU=ou3,OU=ou2,OU=ou1," + self.base_dn)
- self.delete_force(self.ldb_admin, "OU=ou2,OU=ou1," + self.base_dn)
- self.delete_force(self.ldb_admin, "OU=ou1," + self.base_dn)
- self.delete_force(self.ldb_admin, self.get_user_dn("search_u1"))
- self.delete_force(self.ldb_admin, self.get_user_dn("search_u2"))
- self.delete_force(self.ldb_admin, self.get_user_dn("search_u3"))
- self.delete_force(self.ldb_admin, self.get_user_dn("group1"))
+ delete_force(self.ldb_admin, "OU=test_search_ou2,OU=test_search_ou1," + self.base_dn)
+ delete_force(self.ldb_admin, "OU=test_search_ou1," + self.base_dn)
+ delete_force(self.ldb_admin, "OU=ou6,OU=ou4,OU=ou2,OU=ou1," + self.base_dn)
+ delete_force(self.ldb_admin, "OU=ou5,OU=ou3,OU=ou2,OU=ou1," + self.base_dn)
+ delete_force(self.ldb_admin, "OU=ou4,OU=ou2,OU=ou1," + self.base_dn)
+ delete_force(self.ldb_admin, "OU=ou3,OU=ou2,OU=ou1," + self.base_dn)
+ delete_force(self.ldb_admin, "OU=ou2,OU=ou1," + self.base_dn)
+ delete_force(self.ldb_admin, "OU=ou1," + self.base_dn)
+ delete_force(self.ldb_admin, self.get_user_dn("search_u1"))
+ delete_force(self.ldb_admin, self.get_user_dn("search_u2"))
+ delete_force(self.ldb_admin, self.get_user_dn("search_u3"))
+ delete_force(self.ldb_admin, self.get_user_dn("group1"))
def test_search_anonymous1(self):
"""Verify access of rootDSE with the correct request"""
@@ -982,8 +977,8 @@ class AclDeleteTests(AclTests):
def tearDown(self):
super(AclDeleteTests, self).tearDown()
- self.delete_force(self.ldb_admin, self.get_user_dn("test_delete_user1"))
- self.delete_force(self.ldb_admin, self.get_user_dn(self.regular_user))
+ delete_force(self.ldb_admin, self.get_user_dn("test_delete_user1"))
+ delete_force(self.ldb_admin, self.get_user_dn(self.regular_user))
def test_delete_u1(self):
"""User is prohibited by default to delete another User object"""
@@ -1044,22 +1039,22 @@ class AclRenameTests(AclTests):
def tearDown(self):
super(AclRenameTests, self).tearDown()
# Rename OU3
- self.delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser1, self.ou3, self.base_dn))
- self.delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser2, self.ou3, self.base_dn))
- self.delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser5, self.ou3, self.base_dn))
- self.delete_force(self.ldb_admin, "%s,%s" % (self.ou3, self.base_dn))
+ delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser1, self.ou3, self.base_dn))
+ delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser2, self.ou3, self.base_dn))
+ delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser5, self.ou3, self.base_dn))
+ delete_force(self.ldb_admin, "%s,%s" % (self.ou3, self.base_dn))
# Rename OU2
- self.delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser1, self.ou2, self.base_dn))
- self.delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser2, self.ou2, self.base_dn))
- self.delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser5, self.ou2, self.base_dn))
- self.delete_force(self.ldb_admin, "%s,%s" % (self.ou2, self.base_dn))
+ delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser1, self.ou2, self.base_dn))
+ delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser2, self.ou2, self.base_dn))
+ delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser5, self.ou2, self.base_dn))
+ delete_force(self.ldb_admin, "%s,%s" % (self.ou2, self.base_dn))
# Rename OU1
- self.delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser1, self.ou1, self.base_dn))
- self.delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser2, self.ou1, self.base_dn))
- self.delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser5, self.ou1, self.base_dn))
- self.delete_force(self.ldb_admin, "OU=test_rename_ou3,%s,%s" % (self.ou1, self.base_dn))
- self.delete_force(self.ldb_admin, "%s,%s" % (self.ou1, self.base_dn))
- self.delete_force(self.ldb_admin, self.get_user_dn(self.regular_user))
+ delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser1, self.ou1, self.base_dn))
+ delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser2, self.ou1, self.base_dn))
+ delete_force(self.ldb_admin, "CN=%s,%s,%s" % (self.testuser5, self.ou1, self.base_dn))
+ delete_force(self.ldb_admin, "OU=test_rename_ou3,%s,%s" % (self.ou1, self.base_dn))
+ delete_force(self.ldb_admin, "%s,%s" % (self.ou1, self.base_dn))
+ delete_force(self.ldb_admin, self.get_user_dn(self.regular_user))
def test_rename_u1(self):
"""Regular user fails to rename 'User object' within single OU"""
@@ -1271,8 +1266,8 @@ class AclCARTests(AclTests):
#restore original values
self.ldb_admin.set_dsheuristics(self.dsheuristics)
self.ldb_admin.set_minPwdAge(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))
+ delete_force(self.ldb_admin, self.get_user_dn(self.user_with_wp))
+ delete_force(self.ldb_admin, self.get_user_dn(self.user_with_pc))
def test_change_password1(self):
"""Try a password change operation without any CARs given"""
@@ -1553,11 +1548,11 @@ class AclExtendedTests(AclTests):
def tearDown(self):
super(AclExtendedTests, self).tearDown()
- self.delete_force(self.ldb_admin, self.get_user_dn(self.u1))
- self.delete_force(self.ldb_admin, self.get_user_dn(self.u2))
- self.delete_force(self.ldb_admin, self.get_user_dn(self.u3))
- self.delete_force(self.ldb_admin, "CN=ext_group1,OU=ext_ou1," + self.base_dn)
- self.delete_force(self.ldb_admin, "ou=ext_ou1," + self.base_dn)
+ delete_force(self.ldb_admin, self.get_user_dn(self.u1))
+ delete_force(self.ldb_admin, self.get_user_dn(self.u2))
+ delete_force(self.ldb_admin, self.get_user_dn(self.u3))
+ delete_force(self.ldb_admin, "CN=ext_group1,OU=ext_ou1," + self.base_dn)
+ delete_force(self.ldb_admin, "ou=ext_ou1," + self.base_dn)
def test_ntSecurityDescriptor(self):
#create empty ou
diff --git a/source4/dsdb/tests/python/deletetest.py b/source4/dsdb/tests/python/deletetest.py
index aec6b8c..4ed125d 100755
--- a/source4/dsdb/tests/python/deletetest.py
+++ b/source4/dsdb/tests/python/deletetest.py
@@ -17,6 +17,7 @@ from ldb import SCOPE_BASE, LdbError
from ldb import ERR_NO_SUCH_OBJECT, ERR_NOT_ALLOWED_ON_NON_LEAF
from ldb import ERR_UNWILLING_TO_PERFORM
from samba.samdb import SamDB
+from samba.tests import delete_force
from subunit.run import SubunitTestRunner
import unittest
@@ -41,11 +42,6 @@ creds = credopts.get_credentials(lp)
class BasicDeleteTests(unittest.TestCase):
- def delete_force(self, ldb, dn):
- try:
- ldb.delete(dn)
- except LdbError, (num, _):
- self.assertEquals(num, ERR_NO_SUCH_OBJECT)
def GUID_string(self, guid):
return self.ldb.schema_format_value("objectGUID", guid)
@@ -118,9 +114,9 @@ class BasicDeleteTests(unittest.TestCase):
print self.base_dn
- self.delete_force(self.ldb, "cn=entry1,cn=ldaptestcontainer," + self.base_dn)
- self.delete_force(self.ldb, "cn=entry2,cn=ldaptestcontainer," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestcontainer," + self.base_dn)
+ delete_force(self.ldb, "cn=entry1,cn=ldaptestcontainer," + self.base_dn)
+ delete_force(self.ldb, "cn=entry2,cn=ldaptestcontainer," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestcontainer," + self.base_dn)
ldb.add({
"dn": "cn=ldaptestcontainer," + self.base_dn,
@@ -159,9 +155,9 @@ class BasicDeleteTests(unittest.TestCase):
except LdbError, (num, _):
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
- self.delete_force(self.ldb, "cn=entry1,cn=ldaptestcontainer," + self.base_dn)
- self.delete_force(self.ldb, "cn=entry2,cn=ldaptestcontainer," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestcontainer," + self.base_dn)
+ delete_force(self.ldb, "cn=entry1,cn=ldaptestcontainer," + self.base_dn)
+ delete_force(self.ldb, "cn=entry2,cn=ldaptestcontainer," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestcontainer," + self.base_dn)
# Performs some protected object delete testing
@@ -258,13 +254,13 @@ class BasicDeleteTests(unittest.TestCase):
srv1="cn=Servers,cn=testsite1,cn=sites," + self.configuration_dn
srv2="cn=TESTSRV,cn=Servers,cn=testsite1,cn=sites," + self.configuration_dn
- self.delete_force(self.ldb, usr1)
- self.delete_force(self.ldb, usr2)
- self.delete_force(self.ldb, grp1)
- self.delete_force(self.ldb, ss1)
- self.delete_force(self.ldb, srv2)
- self.delete_force(self.ldb, srv1)
- self.delete_force(self.ldb, sit1)
+ delete_force(self.ldb, usr1)
+ delete_force(self.ldb, usr2)
+ delete_force(self.ldb, grp1)
+ delete_force(self.ldb, ss1)
+ delete_force(self.ldb, srv2)
+ delete_force(self.ldb, srv1)
+ delete_force(self.ldb, sit1)
ldb.add({
"dn": usr1,
diff --git a/source4/dsdb/tests/python/ldap.py b/source4/dsdb/tests/python/ldap.py
index 9caca7e..f11176b 100755
--- a/source4/dsdb/tests/python/ldap.py
+++ b/source4/dsdb/tests/python/ldap.py
@@ -40,6 +40,7 @@ import unittest
from samba.ndr import ndr_pack, ndr_unpack
from samba.dcerpc import security
+from samba.tests import delete_force
parser = optparse.OptionParser("ldap.py [options] <host>")
sambaopts = options.SambaOptions(parser)
@@ -61,12 +62,6 @@ creds = credopts.get_credentials(lp)
class BasicTests(unittest.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):
res = self.ldb.search(base=self.base_dn, expression="(objectClass=*)", scope=SCOPE_BASE)
return ndr_unpack( security.dom_sid,res[0]["objectSid"][0])
@@ -82,29 +77,29 @@ class BasicTests(unittest.TestCase):
print "baseDN: %s\n" % self.base_dn
- self.delete_force(self.ldb, "cn=posixuser,cn=users," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestuser2,cn=users," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestuser3,cn=users," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestuser4,cn=ldaptestcontainer," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestuser4,cn=ldaptestcontainer2," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestuser5,cn=users," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestgroup2,cn=users," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptest2computer,cn=computers," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestcomputer3,cn=computers," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestutf8user èùéìòà ,cn=users," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestutf8user2 èùéìòà ,cn=users," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestcontainer," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestcontainer2," + self.base_dn)
- self.delete_force(self.ldb, "cn=parentguidtest,cn=users," + self.base_dn)
- self.delete_force(self.ldb, "cn=parentguidtest,cn=testotherusers," + self.base_dn)
- self.delete_force(self.ldb, "cn=testotherusers," + self.base_dn)
- self.delete_force(self.ldb, "cn=ldaptestobject," + self.base_dn)
- self.delete_force(self.ldb, "description=xyz,cn=users," + self.base_dn)
- self.delete_force(self.ldb, "ou=testou,cn=users," + self.base_dn)
- self.delete_force(self.ldb, "cn=testsecret,cn=system," + self.base_dn)
+ delete_force(self.ldb, "cn=posixuser,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestuser2,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestuser3,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestuser4,cn=ldaptestcontainer," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestuser4,cn=ldaptestcontainer2," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestuser5,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestgroup2,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptest2computer,cn=computers," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestcomputer3,cn=computers," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestutf8user èùéìòà ,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestutf8user2 èùéìòà ,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestcontainer," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestcontainer2," + self.base_dn)
+ delete_force(self.ldb, "cn=parentguidtest,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=parentguidtest,cn=testotherusers," + self.base_dn)
+ delete_force(self.ldb, "cn=testotherusers," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestobject," + self.base_dn)
+ delete_force(self.ldb, "description=xyz,cn=users," + self.base_dn)
+ delete_force(self.ldb, "ou=testou,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=testsecret,cn=system," + self.base_dn)
def test_objectclasses(self):
"""Test objectClass behaviour"""
@@ -177,7 +172,7 @@ class BasicTests(unittest.TestCase):
self.assertTrue(len(res) == 1)
self.assertEquals(res[0]["systemFlags"][0], "0")
- self.delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
self.ldb.add({
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
@@ -365,7 +360,7 @@ objectClass: bootableDevice
"objectClass")
ldb.modify(m)
- self.delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
def test_system_only(self):
"""Test systemOnly objects"""
@@ -387,8 +382,8 @@ objectClass: bootableDevice
except LdbError, (num, _):
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
- self.delete_force(self.ldb, "cn=ldaptestobject," + self.base_dn)
- self.delete_force(self.ldb, "cn=testsecret,cn=system," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestobject," + self.base_dn)
+ delete_force(self.ldb, "cn=testsecret,cn=system," + self.base_dn)
try:
self.ldb.add({
@@ -413,7 +408,7 @@ objectClass: bootableDevice
except LdbError, (num, _):
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
- self.delete_force(self.ldb, "cn=ldaptestcontainer," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestcontainer," + self.base_dn)
# Proof if DC SAM object has "isCriticalSystemObject" set
res = self.ldb.search("", scope=SCOPE_BASE, attrs=["serverName"])
@@ -442,7 +437,7 @@ objectClass: bootableDevice
except LdbError, (num, _):
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
- self.delete_force(self.ldb, "cn=ldaptestgroup,cn=thisdoesnotexist123,"
+ delete_force(self.ldb, "cn=ldaptestgroup,cn=thisdoesnotexist123,"
+ self.base_dn)
try:
@@ -453,7 +448,7 @@ objectClass: bootableDevice
except LdbError, (num, _):
self.assertEquals(num, ERR_NAMING_VIOLATION)
- self.delete_force(self.ldb, "ou=testou,cn=users," + self.base_dn)
+ delete_force(self.ldb, "ou=testou,cn=users," + self.base_dn)
def test_invalid_attribute(self):
"""Test invalid attributes on schema/objectclasses"""
@@ -488,7 +483,7 @@ objectClass: bootableDevice
except LdbError, (num, _):
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
- self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
# attributes not in objectclasses and mandatory attributes missing test
# Use here a non-SAM entry since it doesn't have special triggers
@@ -555,7 +550,7 @@ objectClass: bootableDevice
except LdbError, (num, _):
self.assertEquals(num, ERR_OBJECT_CLASS_VIOLATION)
- self.delete_force(self.ldb, "cn=ldaptestobject," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestobject," + self.base_dn)
def test_single_valued_attributes(self):
"""Test single-valued attributes"""
@@ -600,7 +595,7 @@ objectClass: bootableDevice
except LdbError, (num, _):
self.assertEquals(num, ERR_ATTRIBUTE_OR_VALUE_EXISTS)
- self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
def test_attribute_ranges(self):
"""Test attribute ranges"""
@@ -655,7 +650,7 @@ objectClass: bootableDevice
m["sn"] = MessageElement("x", FLAG_MOD_REPLACE, "sn")
ldb.modify(m)
- self.delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
def test_empty_messages(self):
"""Test empty messages"""
@@ -676,7 +671,7 @@ objectClass: bootableDevice
except LdbError, (num, _):
self.assertEquals(num, ERR_UNWILLING_TO_PERFORM)
- self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
def test_empty_attributes(self):
"""Test empty attributes"""
@@ -721,7 +716,7 @@ objectClass: bootableDevice
except LdbError, (num, _):
self.assertEquals(num, ERR_NO_SUCH_ATTRIBUTE)
- self.delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
+ delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
def test_instanceType(self):
"""Tests the 'instanceType' attribute"""
@@ -790,7 +785,7 @@ objectClass: bootableDevice
except LdbError, (num, _):
--
Samba Shared Repository
More information about the samba-cvs
mailing list