summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorBjörn Baumbach <bb@sernet.de>2018-01-24 17:00:35 +0100
committerAndrew Bartlett <abartlet@samba.org>2018-02-08 04:58:10 +0100
commitc4bb546b21b7ddce5b6f0d023b35c62c98a71d65 (patch)
tree4c3f09b4dd1ba5797607a170b1463eef64712099 /python
parent8466323c1f1ca69981f0ade14937cf7737ee5549 (diff)
downloadsamba-c4bb546b21b7ddce5b6f0d023b35c62c98a71d65.tar.gz
tests/samba-tool: add tests for samba-tool group 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/group.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/python/samba/tests/samba_tool/group.py b/python/samba/tests/samba_tool/group.py
index 09ba59d8a4d..914b8175d15 100644
--- a/python/samba/tests/samba_tool/group.py
+++ b/python/samba/tests/samba_tool/group.py
@@ -138,6 +138,38 @@ class GroupCmdTestCase(SambaToolCmdTest):
name = groupobj.get("samAccountName", idx=0)
found = self.assertMatch(out, name, "group '%s' not found" % 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 group in self.groups:
+ (result, out, err) = self.runsubcmd(
+ "group", "move", group["name"], full_ou_dn)
+ self.assertCmdSuccess(result, out, err, "Error running move")
+ self.assertIn('Moved group "%s" into "%s"' %
+ (group["name"], full_ou_dn), out)
+
+ # Should fail as groups 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.groups), err)
+
+ for group in self.groups:
+ new_dn = "CN=Users,%s" % self.samdb.domain_dn()
+ (result, out, err) = self.runsubcmd(
+ "group", "move", group["name"], new_dn)
+ self.assertCmdSuccess(result, out, err, "Error running move")
+ self.assertIn('Moved group "%s" into "%s"' %
+ (group["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 _randomGroup(self, base={}):
"""create a group with random attribute values, you can specify base attributes"""
group = {