]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
samba-tool: Test gpo manage script startup remove command
authorDavid Mulder <dmulder@suse.com>
Fri, 12 Feb 2021 21:49:16 +0000 (14:49 -0700)
committerJeremy Allison <jra@samba.org>
Wed, 24 Feb 2021 20:51:30 +0000 (20:51 +0000)
Signed-off-by: David Mulder <dmulder@suse.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
python/samba/netcmd/gpo.py
python/samba/tests/samba_tool/gpo.py
selftest/knownfail.d/gpo [new file with mode: 0644]

index 7d9bd02f8a580b81c269dc7333437e5c03327785..04aaafabff4447bb73cca65ec3997a20b3f59fe0 100644 (file)
@@ -3221,11 +3221,40 @@ samba-tool gpo manage scripts startup add {31B2F340-016D-11D2-945F-00C04FB984F9}
                                    "not have sufficient privileges")
             raise
 
+class cmd_remove_startup(Command):
+    """Removes VGP Startup Script Group Policy from the sysvol
+
+This command removes a startup script policy from the sysvol.
+
+Example:
+samba-tool gpo manage scripts startup remove {31B2F340-016D-11D2-945F-00C04FB984F9} test_script.sh
+    """
+
+    synopsis = "%prog <gpo> <script> [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", "script"]
+
+    def run(self, gpo, script, H=None, sambaopts=None, credopts=None,
+            versionopts=None):
+        pass
+
 class cmd_startup(SuperCommand):
     """Manage Startup Scripts Group Policy Objects"""
     subcommands = {}
     subcommands["list"] = cmd_list_startup()
     subcommands["add"] = cmd_add_startup()
+    subcommands["remove"] = cmd_remove_startup()
 
 class cmd_scripts(SuperCommand):
     """Manage Scripts Group Policy Objects"""
index a833edc03cea89b19f513939596a69ce83680f3b..13734f3b1635686e66fa15319493478f297f7394 100644 (file)
@@ -1161,6 +1161,27 @@ class GpoCmdTestCase(SambaToolCmdTest):
         self.assertTrue(os.path.exists(local_script_path),
                         'The test script was not uploaded to the sysvol')
 
+        (result, out, err) = self.runsublevelcmd("gpo", ("manage",
+                                                 "scripts", "startup",
+                                                 "remove"), self.gpo_guid,
+                                                 f.name, "-H",
+                                                 "ldap://%s" %
+                                                 os.environ["SERVER"],
+                                                 "-U%s%%%s" %
+                                                 (os.environ["USERNAME"],
+                                                 os.environ["PASSWORD"]))
+        self.assertCmdSuccess(result, out, err, 'Script remove failed')
+
+        (result, out, err) = self.runsublevelcmd("gpo", ("manage", "scripts",
+                                                 "startup", "list"),
+                                                 self.gpo_guid, "-H",
+                                                 "ldap://%s" %
+                                                 os.environ["SERVER"],
+                                                 "-U%s%%%s" %
+                                                 (os.environ["USERNAME"],
+                                                 os.environ["PASSWORD"]))
+        self.assertNotIn(entry, out, 'The test entry was still found!')
+
     def test_startup_script_list(self):
         lp = LoadParm()
         lp.load(os.environ['SERVERCONFFILE'])
diff --git a/selftest/knownfail.d/gpo b/selftest/knownfail.d/gpo
new file mode 100644 (file)
index 0000000..eb05a3b
--- /dev/null
@@ -0,0 +1 @@
+^samba.tests.samba_tool.gpo.samba.tests.samba_tool.gpo.GpoCmdTestCase.test_startup_script_add