Tests: rewrite ldap_schema to specify attributes
authorMatthieu Patou <mat@matws.net>
Tue, 1 Jan 2013 21:40:44 +0000 (13:40 -0800)
committerMatthieu Patou <mat@samba.org>
Mon, 21 Jan 2013 07:21:20 +0000 (08:21 +0100)
Signed-off-by: Matthieu Patou <mat@matws.net>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/dsdb/tests/python/ldap_schema.py

index d77f5537c9a742f7930e1d9328bf58150bba9e31..fb0ef9ca564d6c90ba24fc935753d408de630fb2 100755 (executable)
@@ -67,8 +67,9 @@ class SchemaTests(samba.tests.TestCase):
 
     def test_generated_schema_is_operational(self):
         """Testing we don't get the generated schema via LDAP by default"""
+        # Must keep the "*" form
         res = self.ldb.search("cn=aggregate,"+self.schema_dn, scope=SCOPE_BASE,
-                attrs=["*"])
+                              attrs=["*"])
         self.assertEquals(len(res), 1)
         self.assertFalse("dITContentRules" in res[0])
         self.assertFalse("objectClasses" in res[0])
@@ -106,7 +107,8 @@ schemaUpdateNow: 1
 
         # Search for created attribute
         res = []
-        res = self.ldb.search("cn=%s,%s" % (attr_name, self.schema_dn), scope=SCOPE_BASE, attrs=["*"])
+        res = self.ldb.search("cn=%s,%s" % (attr_name, self.schema_dn), scope=SCOPE_BASE,
+                              attrs=["lDAPDisplayName","schemaIDGUID"])
         self.assertEquals(len(res), 1)
         self.assertEquals(res[0]["lDAPDisplayName"][0], attr_ldap_display_name)
         self.assertTrue("schemaIDGUID" in res[0])
@@ -160,7 +162,8 @@ systemOnly: FALSE
 
         # Search for created objectclass
         res = []
-        res = self.ldb.search("cn=%s,%s" % (class_name, self.schema_dn), scope=SCOPE_BASE, attrs=["*"])
+        res = self.ldb.search("cn=%s,%s" % (class_name, self.schema_dn), scope=SCOPE_BASE,
+                              attrs=["lDAPDisplayName", "defaultObjectCategory", "schemaIDGUID", "distinguishedName"])
         self.assertEquals(len(res), 1)
         self.assertEquals(res[0]["lDAPDisplayName"][0], class_ldap_display_name)
         self.assertEquals(res[0]["defaultObjectCategory"][0], res[0]["distinguishedName"][0])
@@ -193,7 +196,7 @@ name: """ + object_name + """
 
         # Search for created object
         res = []
-        res = self.ldb.search("cn=%s,cn=Users,%s" % (object_name, self.base_dn), scope=SCOPE_BASE, attrs=["*"])
+        res = self.ldb.search("cn=%s,cn=Users,%s" % (object_name, self.base_dn), scope=SCOPE_BASE, attrs=["dn"])
         self.assertEquals(len(res), 1)
         # Delete the object
         delete_force(self.ldb, "cn=%s,cn=Users,%s" % (object_name, self.base_dn))
@@ -223,7 +226,9 @@ systemOnly: FALSE
 
         # Search for created objectclass
         res = []
-        res = self.ldb.search("cn=%s,%s" % (class_name, self.schema_dn), scope=SCOPE_BASE, attrs=["*"])
+        res = self.ldb.search("cn=%s,%s" % (class_name, self.schema_dn), scope=SCOPE_BASE,
+                              attrs=["lDAPDisplayName", "defaultObjectCategory",
+                                     "schemaIDGUID", "distinguishedName"])
         self.assertEquals(len(res), 1)
         self.assertEquals(res[0]["lDAPDisplayName"][0], class_ldap_display_name)
         self.assertEquals(res[0]["defaultObjectCategory"][0], res[0]["distinguishedName"][0])
@@ -249,7 +254,7 @@ instanceType: 4
 
         # Search for created object
         res = []
-        res = self.ldb.search("ou=%s,%s" % (object_name, self.base_dn), scope=SCOPE_BASE, attrs=["*"])
+        res = self.ldb.search("ou=%s,%s" % (object_name, self.base_dn), scope=SCOPE_BASE, attrs=["dn"])
         self.assertEquals(len(res), 1)
         # Delete the object
         delete_force(self.ldb, "ou=%s,%s" % (object_name, self.base_dn))
@@ -260,7 +265,9 @@ class SchemaTests_msDS_IntId(samba.tests.TestCase):
     def setUp(self):
         super(SchemaTests_msDS_IntId, self).setUp()
         self.ldb = ldb
-        res = ldb.search(base="", expression="", scope=SCOPE_BASE, attrs=["*"])
+        res = ldb.search(base="", expression="", scope=SCOPE_BASE,
+                         attrs=["schemaNamingContext", "defaultNamingContext",
+                                "forestFunctionality"])
         self.assertEquals(len(res), 1)
         self.schema_dn = res[0]["schemaNamingContext"][0]
         self.base_dn = res[0]["defaultNamingContext"][0]
@@ -339,7 +346,8 @@ systemOnly: FALSE
 
         # Search for created attribute
         res = []
-        res = self.ldb.search(attr_dn, scope=SCOPE_BASE, attrs=["*"])
+        res = self.ldb.search(attr_dn, scope=SCOPE_BASE,
+                              attrs=["lDAPDisplayName", "msDS-IntId", "systemFlags"])
         self.assertEquals(len(res), 1)
         self.assertEquals(res[0]["lDAPDisplayName"][0], attr_ldap_name)
         if self.forest_level >= DS_DOMAIN_FUNCTION_2003:
@@ -381,7 +389,8 @@ systemOnly: FALSE
 
         # Search for created attribute
         res = []
-        res = self.ldb.search(attr_dn, scope=SCOPE_BASE, attrs=["*"])
+        res = self.ldb.search(attr_dn, scope=SCOPE_BASE,
+                              attrs=["lDAPDisplayName", "msDS-IntId"])
         self.assertEquals(len(res), 1)
         self.assertEquals(res[0]["lDAPDisplayName"][0], attr_ldap_name)
         if self.forest_level >= DS_DOMAIN_FUNCTION_2003:
@@ -436,7 +445,7 @@ systemOnly: FALSE
         self.ldb.add_ldif(ldif_add)
         self._ldap_schemaUpdateNow()
 
-        res = self.ldb.search(class_dn, scope=SCOPE_BASE, attrs=["*"])
+        res = self.ldb.search(class_dn, scope=SCOPE_BASE, attrs=["msDS-IntId"])
         self.assertEquals(len(res), 1)
         self.assertEquals(res[0]["msDS-IntId"][0], "-1993108831")
 
@@ -448,7 +457,7 @@ systemOnly: FALSE
         self._ldap_schemaUpdateNow()
 
         # Search for created Class
-        res = self.ldb.search(class_dn, scope=SCOPE_BASE, attrs=["*"])
+        res = self.ldb.search(class_dn, scope=SCOPE_BASE, attrs=["msDS-IntId"])
         self.assertEquals(len(res), 1)
         self.assertFalse("msDS-IntId" in res[0])
 
@@ -473,7 +482,7 @@ systemOnly: FALSE
         ldif_add = ldif + "msDS-IntId: -1993108831\n"
         self.ldb.add_ldif(ldif_add)
 
-        res = self.ldb.search(class_dn, scope=SCOPE_BASE, attrs=["*"])
+        res = self.ldb.search(class_dn, scope=SCOPE_BASE, attrs=["msDS-IntId"])
         self.assertEquals(len(res), 1)
         self.assertEquals(res[0]["msDS-IntId"][0], "-1993108831")
 
@@ -486,7 +495,7 @@ systemOnly: FALSE
         self._ldap_schemaUpdateNow()
 
         # Search for created Class
-        res = self.ldb.search(class_dn, scope=SCOPE_BASE, attrs=["*"])
+        res = self.ldb.search(class_dn, scope=SCOPE_BASE, attrs=["msDS-IntId"])
         self.assertEquals(len(res), 1)
         self.assertFalse("msDS-IntId" in res[0])
 
@@ -498,7 +507,7 @@ systemOnly: FALSE
             self.fail("Modifying msDS-IntId should return error")
         except LdbError, (num, _):
             self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
-        res = self.ldb.search(class_dn, scope=SCOPE_BASE, attrs=["*"])
+        res = self.ldb.search(class_dn, scope=SCOPE_BASE, attrs=["msDS-IntId"])
         self.assertEquals(len(res), 1)
         self.assertFalse("msDS-IntId" in res[0])
 
@@ -532,7 +541,7 @@ class SchemaTests_msDS_isRODC(samba.tests.TestCase):
     def setUp(self):
         super(SchemaTests_msDS_isRODC, self).setUp()
         self.ldb = ldb
-        res = ldb.search(base="", expression="", scope=SCOPE_BASE, attrs=["*"])
+        res = ldb.search(base="", expression="", scope=SCOPE_BASE, attrs=["defaultNamingContext"])
         self.assertEquals(len(res), 1)
         self.base_dn = res[0]["defaultNamingContext"][0]