summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2015-10-12 17:50:27 +1300
committerAndrew Bartlett <abartlet@samba.org>2015-10-26 05:11:21 +0100
commitffe8090c898ac649b132fbfc7d79965dd98ff6c1 (patch)
tree2c1311a6371de97b46c155910b01701b92927ecc /python
parent04512d1a9d9325ed6cd924b47ca22a7049cca8ac (diff)
downloadsamba-ffe8090c898ac649b132fbfc7d79965dd98ff6c1.tar.gz
samba-ffe8090c898ac649b132fbfc7d79965dd98ff6c1.tar.bz2
samba-ffe8090c898ac649b132fbfc7d79965dd98ff6c1.zip
samba-tool drs clone-dc-database: Require --targetdir
Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Diffstat (limited to 'python')
-rw-r--r--python/samba/netcmd/drs.py6
-rw-r--r--python/samba/tests/blackbox/samba_tool_drs.py13
2 files changed, 18 insertions, 1 deletions
diff --git a/python/samba/netcmd/drs.py b/python/samba/netcmd/drs.py
index c624357f59e..230dd33bad0 100644
--- a/python/samba/netcmd/drs.py
+++ b/python/samba/netcmd/drs.py
@@ -528,7 +528,7 @@ class cmd_drs_clone_dc_database(Command):
takes_options = [
Option("--server", help="DC to join", type=str),
- Option("--targetdir", help="where to store provision", type=str),
+ Option("--targetdir", help="where to store provision (required)", type=str),
Option("--quiet", help="Be quiet", action="store_true"),
Option("--include-secrets", help="Also replicate secret values", action="store_true"),
Option("--verbose", help="Be verbose", action="store_true")
@@ -550,6 +550,10 @@ class cmd_drs_clone_dc_database(Command):
else:
logger.setLevel(logging.INFO)
+ if targetdir is None:
+ raise CommandError("--targetdir option must be specified")
+
+
join_clone(logger=logger, server=server, creds=creds, lp=lp, domain=domain,
targetdir=targetdir, include_secrets=include_secrets)
diff --git a/python/samba/tests/blackbox/samba_tool_drs.py b/python/samba/tests/blackbox/samba_tool_drs.py
index c8c51b14608..2ba8d89b280 100644
--- a/python/samba/tests/blackbox/samba_tool_drs.py
+++ b/python/samba/tests/blackbox/samba_tool_drs.py
@@ -167,3 +167,16 @@ class SambaToolDrsTests(samba.tests.BlackboxTestCase):
shutil.rmtree(os.path.join(self.tempdir, "msg.lock"))
os.remove(os.path.join(self.tempdir, "names.tdb"))
shutil.rmtree(os.path.join(self.tempdir, "state"))
+
+ def test_samba_tool_drs_clone_dc_secrets_without_targetdir(self):
+ """Tests 'samba-tool drs clone-dc-database' command without --targetdir."""
+ server_rootdse = self._get_rootDSE(self.dc1)
+ server_ldap_service_name = str(server_rootdse["ldapServiceName"][0])
+ server_realm = server_ldap_service_name.split(":")[0]
+ creds = self.get_credentials()
+ def attempt_clone():
+ out = self.check_output("samba-tool drs clone-dc-database %s --server=%s %s"
+ % (server_realm,
+ self.dc1,
+ self.cmdline_creds))
+ self.assertRaises(samba.tests.BlackboxProcessError, attempt_clone)