summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorBjörn Baumbach <bb@sernet.de>2017-12-18 16:12:13 +0100
committerAndrew Bartlett <abartlet@samba.org>2018-02-08 04:58:10 +0100
commit37b5195d1c747b5388cb2576cd370b5e2eb7d34a (patch)
tree5df926076f68e8d698d46dcaf6dd6e3498b6065b /python
parentb6b2eb8f881e081e80a2a0c1294dc2ec2beda859 (diff)
downloadsamba-37b5195d1c747b5388cb2576cd370b5e2eb7d34a.tar.gz
tests/samba-tool: add tests for user move command
Signed-off-by: Björn Baumbach <bb@sernet.de> Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Diffstat (limited to 'python')
-rw-r--r--python/samba/tests/samba_tool/user.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/python/samba/tests/samba_tool/user.py b/python/samba/tests/samba_tool/user.py
index a61da3be524..7e7d74dbfea 100644
--- a/python/samba/tests/samba_tool/user.py
+++ b/python/samba/tests/samba_tool/user.py
@@ -388,6 +388,38 @@ sAMAccountName: %s
"Unexpected show output for user '%s'" %
user["name"])
+ def test_move(self):
+ full_ou_dn = str(self.samdb.normalize_dn_in_domain("OU=movetest"))
+ (result, out, err) = self.runsubcmd("ou", "create", full_ou_dn)
+ self.assertCmdSuccess(result, out, err)
+ self.assertEquals(err, "", "There shouldn't be any error message")
+ self.assertIn('Created ou "%s"' % full_ou_dn, out)
+
+ for user in self.users:
+ (result, out, err) = self.runsubcmd(
+ "user", "move", user["name"], full_ou_dn)
+ self.assertCmdSuccess(result, out, err, "Error running move")
+ self.assertIn('Moved user "%s" into "%s"' %
+ (user["name"], full_ou_dn), out)
+
+ # Should fail as users objects are in OU
+ (result, out, err) = self.runsubcmd("ou", "delete", full_ou_dn)
+ self.assertCmdFail(result)
+ self.assertIn(("subtree_delete: Unable to delete a non-leaf node "
+ "(it has %d children)!") % len(self.users), err)
+
+ for user in self.users:
+ new_dn = "CN=Users,%s" % self.samdb.domain_dn()
+ (result, out, err) = self.runsubcmd(
+ "user", "move", user["name"], new_dn)
+ self.assertCmdSuccess(result, out, err, "Error running move")
+ self.assertIn('Moved user "%s" into "%s"' %
+ (user["name"], new_dn), out)
+
+ (result, out, err) = self.runsubcmd("ou", "delete", full_ou_dn)
+ self.assertCmdSuccess(result, out, err,
+ "Failed to delete ou '%s'" % full_ou_dn)
+
def test_getpwent(self):
try:
import pwd