summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorDavid Mulder <dmulder@suse.com>2021-02-19 12:33:42 -0700
committerJeremy Allison <jra@samba.org>2021-03-08 19:45:30 +0000
commit7593e067fa20b459ba7d9f77984e52cf6b4e6ee6 (patch)
treeb1df8d5b443dcd5793d2a1c329204e069401a406 /python
parent0f5af87fbf8aa4f6a4f95c2e3e85a53846441dd6 (diff)
downloadsamba-7593e067fa20b459ba7d9f77984e52cf6b4e6ee6.tar.gz
samba-7593e067fa20b459ba7d9f77984e52cf6b4e6ee6.tar.bz2
samba-7593e067fa20b459ba7d9f77984e52cf6b4e6ee6.zip
samba-tool: Test gpo manage issue set 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.py30
-rw-r--r--python/samba/tests/samba_tool/gpo.py44
2 files changed, 74 insertions, 0 deletions
diff --git a/python/samba/netcmd/gpo.py b/python/samba/netcmd/gpo.py
index 566f3bf3e9d..d22c76c8a4a 100644
--- a/python/samba/netcmd/gpo.py
+++ b/python/samba/netcmd/gpo.py
@@ -3552,10 +3552,40 @@ samba-tool gpo manage issue list {31B2F340-016D-11D2-945F-00C04FB984F9}
text = data.find('text')
self.outf.write(text.text)
+class cmd_set_issue(Command):
+ """Sets a VGP Issue Group Policy to the sysvol
+
+This command sets the Prelogin Message to the sysvol for applying to winbind
+clients. Not providing a value will unset the policy.
+
+Example:
+samba-tool gpo manage issue set {31B2F340-016D-11D2-945F-00C04FB984F9} "Welcome to Samba!"
+ """
+
+ synopsis = "%prog <gpo> [value] [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", "value?"]
+
+ def run(self, gpo, value=None, H=None, sambaopts=None, credopts=None,
+ versionopts=None):
+ pass
+
class cmd_issue(SuperCommand):
"""Manage Issue Group Policy Objects"""
subcommands = {}
subcommands["list"] = cmd_list_issue()
+ subcommands["set"] = cmd_set_issue()
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 50d25d74a52..851a76b9885 100644
--- a/python/samba/tests/samba_tool/gpo.py
+++ b/python/samba/tests/samba_tool/gpo.py
@@ -1345,6 +1345,50 @@ class GpoCmdTestCase(SambaToolCmdTest):
# Unstage the manifest.xml file
unstage_file(vgp_xml)
+ def test_vgp_issue_set(self):
+ text = 'Welcome to Samba!'
+ msg = '"%s\n"' % text
+ (result, out, err) = self.runsublevelcmd("gpo", ("manage",
+ "issue", "set"),
+ self.gpo_guid,
+ msg, "-H",
+ "ldap://%s" %
+ os.environ["SERVER"],
+ "-U%s%%%s" %
+ (os.environ["USERNAME"],
+ os.environ["PASSWORD"]))
+ self.assertCmdSuccess(result, out, err, 'Issue set failed')
+
+ (result, out, err) = self.runsublevelcmd("gpo", ("manage",
+ "issue", "list"),
+ self.gpo_guid, "-H",
+ "ldap://%s" %
+ os.environ["SERVER"],
+ "-U%s%%%s" %
+ (os.environ["USERNAME"],
+ os.environ["PASSWORD"]))
+ self.assertIn(text, out, 'The test entry was not found!')
+
+ (result, out, err) = self.runsublevelcmd("gpo", ("manage",
+ "issue", "set"),
+ self.gpo_guid, "-H",
+ "ldap://%s" %
+ os.environ["SERVER"],
+ "-U%s%%%s" %
+ (os.environ["USERNAME"],
+ os.environ["PASSWORD"]))
+ self.assertCmdSuccess(result, out, err, 'Issue unset failed')
+
+ (result, out, err) = self.runsublevelcmd("gpo", ("manage",
+ "issue", "list"),
+ self.gpo_guid, "-H",
+ "ldap://%s" %
+ os.environ["SERVER"],
+ "-U%s%%%s" %
+ (os.environ["USERNAME"],
+ os.environ["PASSWORD"]))
+ self.assertNotIn(text, out, 'The test entry was still found!')
+
def setUp(self):
"""set up a temporary GPO to work with"""
super(GpoCmdTestCase, self).setUp()