From: Douglas Bagnall Date: Fri, 14 Mar 2025 05:22:53 +0000 (+1300) Subject: pytest: check we can set GPO more than once X-Git-Tag: samba-4.22.1~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f252b2b42d86c3e539b0f9942ccfddffebd0bdef;p=thirdparty%2Fsamba.git pytest: check we can set GPO more than once BUG: https://bugzilla.samba.org/show_bug.cgi?id=15774 Signed-off-by: Douglas Bagnall Reviewed-by: Jennifer Sutton (cherry picked from commit 969cb41e06247949c3992cab25e824795204e31e) --- diff --git a/python/samba/tests/samba_tool/gpo.py b/python/samba/tests/samba_tool/gpo.py index 851c70efecf..714f8e54d8d 100644 --- a/python/samba/tests/samba_tool/gpo.py +++ b/python/samba/tests/samba_tool/gpo.py @@ -1572,6 +1572,42 @@ class GpoCmdTestCase(SambaToolCmdTest): os.environ["PASSWORD"])) self.assertNotIn(text, out, 'The test entry was still found!') + def test_vgp_motd_set_thrice(self): + url = f'ldap://{os.environ["SERVER"]}' + creds = f'-U{os.environ["USERNAME"]}%{os.environ["PASSWORD"]}' + old_version = gpt_ini_version(self.gpo_guid) + + for i in range(1, 4): + msg = f"message {i}\n" + result, out, err = self.runcmd("gpo", "manage", "motd", "set", + "-H", url, + creds, + self.gpo_guid, + msg.format(i)) + + self.assertCmdSuccess(result, out, err, f'MOTD set {i} failed') + self.assertEqual(err, "", f"not expecting errors (round {i})") + new_version = gpt_ini_version(self.gpo_guid) + self.assertGreater(new_version, old_version, + f'GPT.INI was not updated in round {i}') + old_version = new_version + + result, out, err = self.runcmd("gpo", "manage", "motd", "list", + "-H", url, + creds, + self.gpo_guid) + + self.assertCmdSuccess(result, out, err, f'MOTD list {i} failed') + self.assertIn(msg, out) + + # unset, by setting with no value + result, out, err = self.runcmd("gpo", "manage", "motd", "set", + "-H", url, + creds, + self.gpo_guid) + self.assertCmdSuccess(result, out, err, f'MOTD set {i} failed') + self.assertEqual(err, "", f"not expecting errors (round {i})") + def test_vgp_motd(self): lp = LoadParm() lp.load(os.environ['SERVERCONFFILE']) diff --git a/selftest/knownfail.d/samba-tool-gpo b/selftest/knownfail.d/samba-tool-gpo new file mode 100644 index 00000000000..e8ab4690fa8 --- /dev/null +++ b/selftest/knownfail.d/samba-tool-gpo @@ -0,0 +1 @@ +^samba.tests.samba_tool.gpo.+GpoCmdTestCase.test_vgp_motd_set_thrice