[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