]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
samba-tool tests: add test-case for 'computer list --base-dn'
authorJule Anger <ja@sernet.de>
Tue, 27 Aug 2019 11:08:34 +0000 (13:08 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 21 Jan 2020 14:38:45 +0000 (14:38 +0000)
Check if the computer list --base-dn / -b command uses a specific base dn.

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/computer.py

index 11ee4e1a3fd6cb1f56c1011329bf38945ec0e493..9912fd408a475491e49a14cfc1e0edc505d450a6 100644 (file)
@@ -209,6 +209,26 @@ class ComputerCmdTestCase(SambaToolCmdTest):
             found = self.assertMatch(out, str(name),
                                      "computer '%s' not found" % name)
 
+    def test_list_base_dn(self):
+        base_dn = str(self.samdb.domain_dn())
+        (result, out, err) = self.runsubcmd("computer", "list", "-b", base_dn)
+        self.assertCmdSuccess(result, out, err, "Error running list")
+
+        search_filter = ("(sAMAccountType=%u)" %
+                         dsdb.ATYPE_WORKSTATION_TRUST)
+
+        computerlist = self.samdb.search(base=base_dn,
+                                         scope=ldb.SCOPE_SUBTREE,
+                                         expression=search_filter,
+                                         attrs=["name"])
+
+        self.assertTrue(len(computerlist) > 0, "no computers found in samdb")
+
+        for computerobj in computerlist:
+            name = computerobj.get("name", idx=0)
+            found = self.assertMatch(out, str(name),
+                                     "computer '%s' not found" % name)
+
     def test_move(self):
         parentou = self._randomOU({"name": "parentOU"})
         (result, out, err) = self._create_ou(parentou)