diff options
| author | Andrew Bartlett <abartlet@samba.org> | 2015-10-12 17:50:27 +1300 |
|---|---|---|
| committer | Andrew Bartlett <abartlet@samba.org> | 2015-10-26 05:11:21 +0100 |
| commit | ffe8090c898ac649b132fbfc7d79965dd98ff6c1 (patch) | |
| tree | 2c1311a6371de97b46c155910b01701b92927ecc /python | |
| parent | 04512d1a9d9325ed6cd924b47ca22a7049cca8ac (diff) | |
| download | samba-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.py | 6 | ||||
| -rw-r--r-- | python/samba/tests/blackbox/samba_tool_drs.py | 13 |
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) |
