samba-tool tests: add test-case for 'contact list --base-dn'
authorJule Anger <ja@sernet.de>
Tue, 27 Aug 2019 10:23:08 +0000 (12:23 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 21 Jan 2020 14:38:45 +0000 (14:38 +0000)
Check if the contact 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/contact.py

index 626277ce8f12d62424d80aa7856f4b7a59d2266b..f02e3603e5de73165ef11149a9f6cd1a1ed5c9ad 100644 (file)
@@ -204,6 +204,25 @@ class ContactCmdTestCase(SambaToolCmdTest):
             self.assertMatch(out, str(contactobj.dn),
                              "contact '%s' not found" % str(contactobj.dn))
 
+    def test_list_base_dn(self):
+        base_dn = str(self.samdb.domain_dn())
+        (result, out, err) = self.runsubcmd("contact", "list",
+                                            "-b", base_dn)
+        self.assertCmdSuccess(result, out, err, "Error running list")
+
+        search_filter = "(objectClass=contact)"
+        contactlist = self.samdb.search(base=base_dn,
+                                         scope=ldb.SCOPE_SUBTREE,
+                                         expression=search_filter,
+                                         attrs=["name"])
+
+        self.assertTrue(len(contactlist) > 0, "no contacts found in samdb")
+
+        for contactobj in contactlist:
+            name = contactobj.get("name", idx=0)
+            self.assertMatch(out, str(name),
+                             "contact '%s' not found" % name)
+
     def test_move(self):
         parentou = self._randomOU({"name": "parentOU"})
         (result, out, err) = self._create_ou(parentou)