[SCM] Samba Shared Repository - branch master updated
Matthias Dieter Wallnöfer
mdw at samba.org
Thu Nov 18 10:47:02 MST 2010
The branch, master has been updated
via fa1e866 Revert "s4:api.py - DN tests - test a bit more special DNs and merge the comparison tests"
via 4c666f3 s4:dsdb python tests - use "ldb.domain_dn"
from b7dab46 s4/operational: Fix swapped parameters for ldb_msg_copy_attr
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit fa1e8663bc9bcf511ae22c1199214a92f5db32a7
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date: Thu Nov 18 16:37:10 2010 +0100
Revert "s4:api.py - DN tests - test a bit more special DNs and merge the comparison tests"
This reverts commit 732ef9353dff56384e8bb01aa20d2a371cd995c2.
Jelmer doesn't like to have these tests there.
Autobuild-User: Matthias Dieter Wallnöfer <mdw at samba.org>
Autobuild-Date: Thu Nov 18 17:46:38 UTC 2010 on sn-devel-104
commit 4c666f3e0ada47c793ecdec0e5c3dd0441a69080
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date: Thu Nov 18 16:06:46 2010 +0100
s4:dsdb python tests - use "ldb.domain_dn"
By inspiration of Nadya's patches
-----------------------------------------------------------------------
Summary of changes:
source4/dsdb/tests/python/deletetest.py | 12 ++-----
source4/dsdb/tests/python/ldap.py | 11 ++----
source4/dsdb/tests/python/ldap_schema.py | 12 ++-----
source4/dsdb/tests/python/ldap_syntaxes.py | 8 +----
source4/dsdb/tests/python/passwords.py | 8 +----
source4/dsdb/tests/python/sam.py | 18 ++--------
source4/dsdb/tests/python/urgent_replication.py | 8 +----
source4/lib/ldb/tests/python/api.py | 45 +----------------------
8 files changed, 16 insertions(+), 106 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/dsdb/tests/python/deletetest.py b/source4/dsdb/tests/python/deletetest.py
index 8ed5281..7582d4b 100755
--- a/source4/dsdb/tests/python/deletetest.py
+++ b/source4/dsdb/tests/python/deletetest.py
@@ -16,7 +16,7 @@ from samba.auth import system_session
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 import Ldb
+from samba.samdb import SamDB
from subunit.run import SubunitTestRunner
import unittest
@@ -50,12 +50,6 @@ class BasicDeleteTests(unittest.TestCase):
def GUID_string(self, guid):
return self.ldb.schema_format_value("objectGUID", guid)
- def find_basedn(self, ldb):
- res = ldb.search(base="", expression="", scope=SCOPE_BASE,
- attrs=["defaultNamingContext"])
- self.assertEquals(len(res), 1)
- return res[0]["defaultNamingContext"][0]
-
def find_configurationdn(self, ldb):
res = ldb.search(base="", expression="", scope=SCOPE_BASE,
attrs=["configurationNamingContext"])
@@ -64,7 +58,7 @@ class BasicDeleteTests(unittest.TestCase):
def setUp(self):
self.ldb = ldb
- self.base_dn = self.find_basedn(ldb)
+ self.base_dn = ldb.domain_dn()
self.configuration_dn = self.find_configurationdn(ldb)
def search_guid(self, guid):
@@ -395,7 +389,7 @@ if not "://" in host:
else:
host = "ldap://%s" % host
-ldb = Ldb(host, credentials=creds, session_info=system_session(), lp=lp)
+ldb = SamDB(host, credentials=creds, session_info=system_session(), lp=lp)
runner = SubunitTestRunner()
rc = 0
diff --git a/source4/dsdb/tests/python/ldap.py b/source4/dsdb/tests/python/ldap.py
index 00cc450..fb191c6 100755
--- a/source4/dsdb/tests/python/ldap.py
+++ b/source4/dsdb/tests/python/ldap.py
@@ -27,6 +27,7 @@ from ldb import Message, MessageElement, Dn
from ldb import FLAG_MOD_ADD, FLAG_MOD_REPLACE, FLAG_MOD_DELETE
from ldb import timestring
from samba import Ldb
+from samba.samdb import SamDB
from samba.dsdb import (UF_NORMAL_ACCOUNT,
UF_WORKSTATION_TRUST_ACCOUNT,
UF_PASSWD_NOTREQD, UF_ACCOUNTDISABLE, ATYPE_NORMAL_ACCOUNT,
@@ -66,12 +67,6 @@ class BasicTests(unittest.TestCase):
except LdbError, (num, _):
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
- def find_basedn(self, ldb):
- res = ldb.search(base="", expression="", scope=SCOPE_BASE,
- attrs=["defaultNamingContext"])
- self.assertEquals(len(res), 1)
- return res[0]["defaultNamingContext"][0]
-
def find_configurationdn(self, ldb):
res = ldb.search(base="", expression="", scope=SCOPE_BASE, attrs=["configurationNamingContext"])
self.assertEquals(len(res), 1)
@@ -101,7 +96,7 @@ class BasicTests(unittest.TestCase):
super(BasicTests, self).setUp()
self.ldb = ldb
self.gc_ldb = gc_ldb
- self.base_dn = self.find_basedn(ldb)
+ self.base_dn = ldb.domain_dn()
self.configuration_dn = self.find_configurationdn(ldb)
self.schema_dn = self.find_schemadn(ldb)
self.domain_sid = self.find_domain_sid()
@@ -2638,7 +2633,7 @@ if not "://" in host:
else:
host = "ldap://%s" % host
-ldb = Ldb(host, credentials=creds, session_info=system_session(), lp=lp)
+ldb = SamDB(host, credentials=creds, session_info=system_session(), lp=lp)
if not "tdb://" in host:
gc_ldb = Ldb("%s:3268" % host, credentials=creds,
session_info=system_session(), lp=lp)
diff --git a/source4/dsdb/tests/python/ldap_schema.py b/source4/dsdb/tests/python/ldap_schema.py
index a296b8d..168cea3 100755
--- a/source4/dsdb/tests/python/ldap_schema.py
+++ b/source4/dsdb/tests/python/ldap_schema.py
@@ -22,7 +22,7 @@ from ldb import ERR_UNWILLING_TO_PERFORM
from ldb import ERR_CONSTRAINT_VIOLATION
from ldb import Message, MessageElement, Dn
from ldb import FLAG_MOD_REPLACE
-from samba import Ldb
+from samba.samdb import SamDB
from samba.dsdb import DS_DOMAIN_FUNCTION_2003
from subunit.run import SubunitTestRunner
@@ -60,17 +60,11 @@ class SchemaTests(unittest.TestCase):
self.assertEquals(len(res), 1)
return res[0]["schemaNamingContext"][0]
- def find_basedn(self, ldb):
- res = ldb.search(base="", expression="", scope=SCOPE_BASE,
- attrs=["defaultNamingContext"])
- self.assertEquals(len(res), 1)
- return res[0]["defaultNamingContext"][0]
-
def setUp(self):
super(SchemaTests, self).setUp()
self.ldb = ldb
+ self.base_dn = ldb.domain_dn()
self.schema_dn = self.find_schemadn(ldb)
- self.base_dn = self.find_basedn(ldb)
def test_generated_schema(self):
"""Testing we can read the generated schema via LDAP"""
@@ -583,7 +577,7 @@ if host.startswith("ldap://"):
# user 'paged_search' module when connecting remotely
ldb_options = ["modules:paged_searches"]
-ldb = Ldb(host, credentials=creds, session_info=system_session(), lp=lp, options=ldb_options)
+ldb = SamDB(host, credentials=creds, session_info=system_session(), lp=lp, options=ldb_options)
runner = SubunitTestRunner()
rc = 0
diff --git a/source4/dsdb/tests/python/ldap_syntaxes.py b/source4/dsdb/tests/python/ldap_syntaxes.py
index f5d2dcb..c1dd4d5 100644
--- a/source4/dsdb/tests/python/ldap_syntaxes.py
+++ b/source4/dsdb/tests/python/ldap_syntaxes.py
@@ -61,12 +61,6 @@ class SyntaxTests(unittest.TestCase):
self.assertEquals(len(res), 1)
return res[0]["schemaNamingContext"][0]
- def find_basedn(self, ldb):
- res = ldb.search(base="", expression="", scope=SCOPE_BASE,
- attrs=["defaultNamingContext"])
- self.assertEquals(len(res), 1)
- return res[0]["defaultNamingContext"][0]
-
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])
@@ -74,8 +68,8 @@ class SyntaxTests(unittest.TestCase):
def setUp(self):
super(SyntaxTests, self).setUp()
self.ldb = ldb
+ self.base_dn = ldb.domain_dn()
self.schema_dn = self.find_schemadn(ldb)
- self.base_dn = self.find_basedn(ldb)
self._setup_dn_string_test()
self._setup_dn_binary_test()
self.domain_sid = self._find_domain_sid()
diff --git a/source4/dsdb/tests/python/passwords.py b/source4/dsdb/tests/python/passwords.py
index 8cb7136..f238c1a 100755
--- a/source4/dsdb/tests/python/passwords.py
+++ b/source4/dsdb/tests/python/passwords.py
@@ -69,16 +69,10 @@ class PasswordTests(samba.tests.TestCase):
except LdbError, (num, _):
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
- def find_basedn(self, ldb):
- res = ldb.search(base="", expression="", scope=SCOPE_BASE,
- attrs=["defaultNamingContext"])
- self.assertEquals(len(res), 1)
- return res[0]["defaultNamingContext"][0]
-
def setUp(self):
super(PasswordTests, self).setUp()
self.ldb = ldb
- self.base_dn = self.find_basedn(ldb)
+ self.base_dn = ldb.domain_dn()
# (Re)adds the test user "testuser" with no password atm
self.delete_force(self.ldb, "cn=testuser,cn=users," + self.base_dn)
diff --git a/source4/dsdb/tests/python/sam.py b/source4/dsdb/tests/python/sam.py
index c3490da..f8871b7 100755
--- a/source4/dsdb/tests/python/sam.py
+++ b/source4/dsdb/tests/python/sam.py
@@ -23,7 +23,7 @@ from ldb import ERR_CONSTRAINT_VIOLATION
from ldb import ERR_UNDEFINED_ATTRIBUTE_TYPE
from ldb import Message, MessageElement, Dn
from ldb import FLAG_MOD_ADD, FLAG_MOD_REPLACE, FLAG_MOD_DELETE
-from samba import Ldb
+from samba.samdb import SamDB
from samba.dsdb import (UF_NORMAL_ACCOUNT,
UF_WORKSTATION_TRUST_ACCOUNT, UF_SERVER_TRUST_ACCOUNT,
UF_PARTIAL_SECRETS_ACCOUNT, UF_TEMP_DUPLICATE_ACCOUNT,
@@ -71,12 +71,6 @@ class SamTests(unittest.TestCase):
except LdbError, (num, _):
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
- def find_basedn(self, ldb):
- res = ldb.search(base="", expression="", scope=SCOPE_BASE,
- attrs=["defaultNamingContext"])
- self.assertEquals(len(res), 1)
- return res[0]["defaultNamingContext"][0]
-
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])
@@ -84,8 +78,7 @@ class SamTests(unittest.TestCase):
def setUp(self):
super(SamTests, self).setUp()
self.ldb = ldb
- self.gc_ldb = gc_ldb
- self.base_dn = self.find_basedn(ldb)
+ self.base_dn = ldb.domain_dn()
self.domain_sid = self.find_domain_sid()
print "baseDN: %s\n" % self.base_dn
@@ -2419,12 +2412,7 @@ if not "://" in host:
else:
host = "ldap://%s" % host
-ldb = Ldb(host, credentials=creds, session_info=system_session(), lp=lp)
-if not "tdb://" in host:
- gc_ldb = Ldb("%s:3268" % host, credentials=creds,
- session_info=system_session(), lp=lp)
-else:
- gc_ldb = None
+ldb = SamDB(host, credentials=creds, session_info=system_session(), lp=lp)
runner = SubunitTestRunner()
rc = 0
diff --git a/source4/dsdb/tests/python/urgent_replication.py b/source4/dsdb/tests/python/urgent_replication.py
index 2ab8c54..88cef4d 100755
--- a/source4/dsdb/tests/python/urgent_replication.py
+++ b/source4/dsdb/tests/python/urgent_replication.py
@@ -48,16 +48,10 @@ class UrgentReplicationTests(samba.tests.TestCase):
except LdbError, (num, _):
self.assertEquals(num, ERR_NO_SUCH_OBJECT)
- def find_basedn(self, ldb):
- res = ldb.search(base="", expression="", scope=SCOPE_BASE,
- attrs=["defaultNamingContext"])
- self.assertEquals(len(res), 1)
- return res[0]["defaultNamingContext"][0]
-
def setUp(self):
super(UrgentReplicationTests, self).setUp()
self.ldb = ldb
- self.base_dn = self.find_basedn(ldb)
+ self.base_dn = ldb.domain_dn()
print "baseDN: %s\n" % self.base_dn
diff --git a/source4/lib/ldb/tests/python/api.py b/source4/lib/ldb/tests/python/api.py
index efb9791..3e43d4a 100755
--- a/source4/lib/ldb/tests/python/api.py
+++ b/source4/lib/ldb/tests/python/api.py
@@ -344,72 +344,40 @@ class DnTests(unittest.TestCase):
self.assertEquals(x, y)
y = ldb.Dn(self.ldb, "dc=foo11,bar=blie")
self.assertNotEquals(x, y)
- x = ldb.Dn(self.ldb, "")
- y = ldb.Dn(self.ldb, "")
- self.assertEquals(x, y)
- x = ldb.Dn(self.ldb, "cn=foo\, bar\, bar,dc=test,dc=bloe")
- y = ldb.Dn(self.ldb, "cn=foo\, bar\, bar,dc=test,dc=bloe")
- self.assertEquals(x, y)
def test_str(self):
x = ldb.Dn(self.ldb, "dc=foo12,bar=bloe")
self.assertEquals(x.__str__(), "dc=foo12,bar=bloe")
- x = ldb.Dn(self.ldb, "")
- self.assertEquals(x.__str__(), "")
- x = ldb.Dn(self.ldb, "cn=foo\, bar\, bar,dc=test,dc=bloe")
- self.assertEquals(x.__str__(), "cn=foo\, bar\, bar,dc=test,dc=bloe")
def test_repr(self):
x = ldb.Dn(self.ldb, "dc=foo13,bla=blie")
self.assertEquals(x.__repr__(), "Dn('dc=foo13,bla=blie')")
- x = ldb.Dn(self.ldb, "")
- self.assertEquals(x.__repr__(), "Dn('')")
- x = ldb.Dn(self.ldb, "cn=foo\, bar\, bar,dc=test,dc=bloe")
- self.assertEquals(x.__repr__(), "Dn('cn=foo\\\\, bar\\\\, bar,dc=test,dc=bloe')")
def test_get_casefold(self):
x = ldb.Dn(self.ldb, "dc=foo14,bar=bloe")
self.assertEquals(x.get_casefold(), "DC=FOO14,BAR=bloe")
- x = ldb.Dn(self.ldb, "")
- self.assertEquals(x.get_casefold(), "")
- x = ldb.Dn(self.ldb, "cn=foo\, bar\, bar,dc=test,dc=bloe")
- self.assertEquals(x.get_casefold(), "CN=FOO\, BAR\, BAR,DC=TEST,DC=BLOE")
def test_validate(self):
x = ldb.Dn(self.ldb, "dc=foo15,bar=bloe")
self.assertTrue(x.validate())
- x = ldb.Dn(self.ldb, "")
- self.assertTrue(x.validate()) # the empty DN is valid (rootDSE)
- x = ldb.Dn(self.ldb, "cn=foo\, bar\, bar,dc=test,dc=bloe")
- self.assertTrue(x.validate())
def test_parent(self):
x = ldb.Dn(self.ldb, "dc=foo16,bar=bloe")
self.assertEquals("bar=bloe", x.parent().__str__())
- x = ldb.Dn(self.ldb, "cn=foo\, bar\, bar,dc=test,dc=bloe")
- self.assertEquals("dc=test,dc=bloe", x.parent().__str__())
def test_parent_nonexistant(self):
x = ldb.Dn(self.ldb, "@BLA")
self.assertEquals(None, x.parent())
- x = ldb.Dn(self.ldb, "")
- self.assertEquals(None, x.parent())
def test_is_valid(self):
x = ldb.Dn(self.ldb, "dc=foo18,dc=bloe")
self.assertTrue(x.is_valid())
x = ldb.Dn(self.ldb, "")
- self.assertTrue(x.is_valid()) # the empty DN is valid (rootDSE)
- x = ldb.Dn(self.ldb, "cn=foo\, bar\, bar,dc=test,dc=bloe")
self.assertTrue(x.is_valid())
def test_is_special(self):
x = ldb.Dn(self.ldb, "dc=foo19,bar=bloe")
self.assertFalse(x.is_special())
- x = ldb.Dn(self.ldb, "")
- self.assertFalse(x.is_special())
- x = ldb.Dn(self.ldb, "cn=foo\, bar\, bar,dc=test,dc=bloe")
- self.assertFalse(x.is_special())
x = ldb.Dn(self.ldb, "@FOOBAR")
self.assertTrue(x.is_special())
@@ -424,10 +392,6 @@ class DnTests(unittest.TestCase):
self.assertEquals(2, len(x))
x = ldb.Dn(self.ldb, "dc=foo21")
self.assertEquals(1, len(x))
- x = ldb.Dn(self.ldb, "")
- self.assertEquals(0, len(x)) # the empty DN has length 0
- x = ldb.Dn(self.ldb, "cn=foo\, bar\, bar,dc=test,dc=bloe")
- self.assertEquals(3, len(x))
def test_add_child(self):
x = ldb.Dn(self.ldb, "dc=foo22,bar=bloe")
@@ -463,18 +427,11 @@ class DnTests(unittest.TestCase):
def test_canonical_string(self):
x = ldb.Dn(self.ldb, "dc=foo25,bar=bloe")
self.assertEquals("/bloe/foo25", x.canonical_str())
- x = ldb.Dn(self.ldb, "")
- self.assertEquals("/", x.canonical_str())
- x = ldb.Dn(self.ldb, "cn=foo\, bar\, bar,dc=test,dc=bloe")
- self.assertEquals("test.bloe/foo\, bar\, bar", x.canonical_str())
def test_canonical_ex_string(self):
x = ldb.Dn(self.ldb, "dc=foo26,bar=bloe")
self.assertEquals("/bloe\nfoo26", x.canonical_ex_str())
- x = ldb.Dn(self.ldb, "")
- self.assertEquals("\n", x.canonical_ex_str())
- x = ldb.Dn(self.ldb, "cn=foo\, bar\, bar,dc=test,dc=bloe")
- self.assertEquals("test.bloe\nfoo\, bar\, bar", x.canonical_ex_str())
+
class LdbMsgTests(unittest.TestCase):
--
Samba Shared Repository
More information about the samba-cvs
mailing list