samba-tool tests: Add test-case for 'group list --full-dn'
authorJule Anger <ja@sernet.de>
Tue, 27 Aug 2019 09:49:12 +0000 (11:49 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 21 Jan 2020 14:38:44 +0000 (14:38 +0000)
Check if the --full-dn option displays DN instead of the sAMAccountName.

Signed-off-by: Jule Anger <ja@sernet.de>
Reviewed-by: Björn Baumbach <bb@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
python/samba/tests/samba_tool/group.py

index 9db626ef9232bc0bab2da948207b2d10b3a51956..b89874a219738750d6840acc6513268cb295a1c0 100644 (file)
@@ -173,6 +173,27 @@ class GroupCmdTestCase(SambaToolCmdTest):
                         "Command='%s'\nLDAP='%s'" %(output_memberships,
                                                     ldap_memberships))
 
+    def test_list_full_dn(self):
+        (result, out, err) = self.runsubcmd("group", "list", "--full-dn",
+                                            "-H", "ldap://%s" % os.environ["DC_SERVER"],
+                                            "-U%s%%%s" % (os.environ["DC_USERNAME"],
+                                                          os.environ["DC_PASSWORD"]))
+        self.assertCmdSuccess(result, out, err, "Error running list")
+
+        search_filter = "(objectClass=group)"
+
+        grouplist = self.samdb.search(base=self.samdb.domain_dn(),
+                                      scope=ldb.SCOPE_SUBTREE,
+                                      expression=search_filter,
+                                      attrs=[])
+
+        self.assertTrue(len(grouplist) > 0, "no groups found in samdb")
+
+        for groupobj in grouplist:
+            name = str(groupobj.get("dn", idx=0))
+            found = self.assertMatch(out, name,
+                                     "group '%s' not found" % name)
+
     def test_listmembers(self):
         (result, out, err) = self.runsubcmd("group", "listmembers", "Domain Users",
                                             "-H", "ldap://%s" % os.environ["DC_SERVER"],