s4:ldap.py Improve testsuite for primaryGroupToken behaviour
authorAndrew Bartlett <abartlet@samba.org>
Mon, 7 Dec 2009 01:44:07 +0000 (12:44 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 7 Dec 2009 02:08:06 +0000 (13:08 +1100)
This tries to show that the domain object should not have a
primaryGroupToken, for example.  (This passes against the old and new
code, as the failure case requires an object with an objectSid, and
exactly one group in it's subtree.  Sadly I don't know of a valid structure
that I can construct to test this).

Andrew Bartlett

source4/lib/ldb/tests/python/ldap.py

index 384e69e9bdca6455bb734531e52e8938b59bb20d..d0a0ed2da57c60c0578a73d9e8ec969d4282c968 100755 (executable)
@@ -806,6 +806,28 @@ objectClass: container
             "dn": "cn=ldaptestgroup,cn=users," + self.base_dn,
             "objectclass": "group"})
 
+        # Testing for one invalid, and one valid operational attribute, but also the things they are built from
+        res1 = ldb.search(self.base_dn,
+                          scope=SCOPE_BASE, attrs=["primaryGroupToken", "canonicalName", "objectClass", "objectSid"])
+        self.assertTrue(len(res1) == 1)
+        self.assertFalse("primaryGroupToken" in res1[0])
+        self.assertTrue("canonicalName" in res1[0])
+        self.assertTrue("objectClass" in res1[0])
+        self.assertTrue("objectSid" in res1[0])
+
+        res1 = ldb.search(self.base_dn,
+                          scope=SCOPE_BASE, attrs=["primaryGroupToken", "canonicalName"])
+        self.assertTrue(len(res1) == 1)
+        self.assertFalse("primaryGroupToken" in res1[0])
+        self.assertFalse("objectSid" in res1[0])
+        self.assertFalse("objectClass" in res1[0])
+        self.assertTrue("canonicalName" in res1[0])
+
+        res1 = ldb.search("cn=users,"+self.base_dn,
+                          scope=SCOPE_BASE, attrs=["primaryGroupToken"])
+        self.assertTrue(len(res1) == 1)
+        self.assertFalse("primaryGroupToken" in res1[0])
+
         res1 = ldb.search("cn=ldaptestuser, cn=users," + self.base_dn,
                           scope=SCOPE_BASE, attrs=["primaryGroupToken"])
         self.assertTrue(len(res1) == 1)