samba-tool tests: add test case for 'user list --full-dn'
authorJule Anger <ja@sernet.de>
Wed, 28 Aug 2019 08:40:39 +0000 (10:40 +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/user.py

index 4ebc9eb3babe75dbffb4075fde55f35d384c04f4..69876450cd15dd9862021f91f602f634aed931d7 100644 (file)
@@ -380,6 +380,28 @@ class UserCmdTestCase(SambaToolCmdTest):
             found = self.assertMatch(out, name,
                                      "user '%s' not found" % name)
 
+    def test_list_full_dn(self):
+        (result, out, err) = self.runsubcmd("user", "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=user)(userAccountControl:%s:=%u))" %
+                         (ldb.OID_COMPARATOR_AND, dsdb.UF_NORMAL_ACCOUNT))
+
+        userlist = self.samdb.search(base=self.samdb.domain_dn(),
+                                     scope=ldb.SCOPE_SUBTREE,
+                                     expression=search_filter,
+                                     attrs=["dn"])
+
+        self.assertTrue(len(userlist) > 0, "no users found in samdb")
+
+        for userobj in userlist:
+            name = str(userobj.get("dn", idx=0))
+            found = self.assertMatch(out, name,
+                                     "user '%s' not found" % name)
+
     def test_show(self):
         for user in self.users:
             (result, out, err) = self.runsubcmd(