summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorDavid Mulder <dmulder@suse.com>2021-01-21 10:26:57 -0700
committerJeremy Allison <jra@samba.org>2021-01-27 06:30:31 +0000
commit7b2ecefd55d11070a9ad4ed4dfd4862fca3ac8dd (patch)
tree653cc465a9e73c28265e2a792a5f52461e9a5a1f /python
parent7e70d72d97f73220c18b2509d5916e092933a536 (diff)
downloadsamba-7b2ecefd55d11070a9ad4ed4dfd4862fca3ac8dd.tar.gz
samba-7b2ecefd55d11070a9ad4ed4dfd4862fca3ac8dd.tar.bz2
samba-7b2ecefd55d11070a9ad4ed4dfd4862fca3ac8dd.zip
samba-tool: Test gpo manage symlink add command
Signed-off-by: David Mulder <dmulder@suse.com> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'python')
-rw-r--r--python/samba/netcmd/gpo.py29
-rw-r--r--python/samba/tests/samba_tool/gpo.py25
2 files changed, 54 insertions, 0 deletions
diff --git a/python/samba/netcmd/gpo.py b/python/samba/netcmd/gpo.py
index 60e80822bb2..55490f2d25a 100644
--- a/python/samba/netcmd/gpo.py
+++ b/python/samba/netcmd/gpo.py
@@ -2305,10 +2305,39 @@ samba-tool gpo manage symlink list {31B2F340-016D-11D2-945F-00C04FB984F9}
target = file_properties.find('target')
self.outf.write('ln -s %s %s\n' % (source.text, target.text))
+class cmd_add_symlink(Command):
+ """Adds a VGP Symbolic Link Group Policy to the sysvol
+
+This command adds a symlink setting to the sysvol that will be applied to winbind clients.
+
+Example:
+samba-tool gpo manage symlink add {31B2F340-016D-11D2-945F-00C04FB984F9} /tmp/source /tmp/target
+ """
+
+ synopsis = "%prog <gpo> <source> <target> [options]"
+
+ takes_optiongroups = {
+ "sambaopts": options.SambaOptions,
+ "versionopts": options.VersionOptions,
+ "credopts": options.CredentialsOptions,
+ }
+
+ takes_options = [
+ Option("-H", "--URL", help="LDB URL for database or target server", type=str,
+ metavar="URL", dest="H"),
+ ]
+
+ takes_args = ["gpo", "source", "target"]
+
+ def run(self, gpo, source, target, H=None, sambaopts=None, credopts=None,
+ versionopts=None):
+ pass
+
class cmd_symlink(SuperCommand):
"""Manage symlink Group Policy Objects"""
subcommands = {}
subcommands["list"] = cmd_list_symlink()
+ subcommands["add"] = cmd_add_symlink()
class cmd_manage(SuperCommand):
"""Manage Group Policy Objects"""
diff --git a/python/samba/tests/samba_tool/gpo.py b/python/samba/tests/samba_tool/gpo.py
index 351a3f974e2..4cc5c46d76c 100644
--- a/python/samba/tests/samba_tool/gpo.py
+++ b/python/samba/tests/samba_tool/gpo.py
@@ -815,6 +815,31 @@ class GpoCmdTestCase(SambaToolCmdTest):
# Unstage the manifest.xml file
unstage_file(vgp_xml)
+ def test_symlink_add(self):
+ source_text = os.path.join(self.tempdir, 'test.source')
+ target_text = os.path.join(self.tempdir, 'test.target')
+ symlink = 'ln -s %s %s' % (source_text, target_text)
+ (result, out, err) = self.runsublevelcmd("gpo", ("manage",
+ "symlink", "add"),
+ self.gpo_guid,
+ source_text, target_text,
+ "-H", "ldap://%s" %
+ os.environ["SERVER"],
+ "-U%s%%%s" %
+ (os.environ["USERNAME"],
+ os.environ["PASSWORD"]))
+ self.assertCmdSuccess(result, out, err, 'Symlink add failed')
+
+ (result, out, err) = self.runsublevelcmd("gpo", ("manage",
+ "symlink", "list"),
+ self.gpo_guid, "-H",
+ "ldap://%s" %
+ os.environ["SERVER"],
+ "-U%s%%%s" %
+ (os.environ["USERNAME"],
+ os.environ["PASSWORD"]))
+ self.assertIn(symlink, out, 'The test entry was not found!')
+
def setUp(self):
"""set up a temporary GPO to work with"""
super(GpoCmdTestCase, self).setUp()