mirror of
https://github.com/samba-team/samba.git
synced 2025-12-20 16:23:51 +03:00
samba-tool: Test gpo load/remove commands
Signed-off-by: David Mulder <dmulder@suse.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Tested-by: Kees van Vloten <keesvanvloten@gmail.com>
This commit is contained in:
committed by
Andrew Bartlett
parent
ee37e3cd32
commit
dc6725336a
@@ -35,6 +35,42 @@ import xml.etree.ElementTree as etree
|
|||||||
from tempfile import NamedTemporaryFile
|
from tempfile import NamedTemporaryFile
|
||||||
from time import sleep
|
from time import sleep
|
||||||
|
|
||||||
|
gpo_load_json = \
|
||||||
|
b"""
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"keyname": "Software\\\\Policies\\\\Mozilla\\\\Firefox\\\\Homepage",
|
||||||
|
"valuename": "StartPage",
|
||||||
|
"class": "USER",
|
||||||
|
"type": "REG_SZ",
|
||||||
|
"data": "homepage"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"keyname": "Software\\\\Policies\\\\Mozilla\\\\Firefox\\\\Homepage",
|
||||||
|
"valuename": "URL",
|
||||||
|
"class": "USER",
|
||||||
|
"type": 1,
|
||||||
|
"data": "samba.org"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
"""
|
||||||
|
|
||||||
|
gpo_remove_json = \
|
||||||
|
b"""
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"keyname": "Software\\\\Policies\\\\Mozilla\\\\Firefox\\\\Homepage",
|
||||||
|
"valuename": "StartPage",
|
||||||
|
"class": "USER"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"keyname": "Software\\\\Policies\\\\Mozilla\\\\Firefox\\\\Homepage",
|
||||||
|
"valuename": "URL",
|
||||||
|
"class": "USER"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
"""
|
||||||
|
|
||||||
source_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../../.."))
|
source_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../../.."))
|
||||||
|
|
||||||
def has_difference(path1, path2, binary=True, xml=True, sortlines=False):
|
def has_difference(path1, path2, binary=True, xml=True, sortlines=False):
|
||||||
@@ -1501,6 +1537,43 @@ class GpoCmdTestCase(SambaToolCmdTest):
|
|||||||
os.environ["PASSWORD"]))
|
os.environ["PASSWORD"]))
|
||||||
self.assertNotIn(text, out, 'The test entry was still found!')
|
self.assertNotIn(text, out, 'The test entry was still found!')
|
||||||
|
|
||||||
|
def test_load_show_remove(self):
|
||||||
|
with NamedTemporaryFile() as f:
|
||||||
|
f.write(gpo_load_json)
|
||||||
|
f.flush()
|
||||||
|
(result, out, err) = self.runsubcmd("gpo", "load",
|
||||||
|
self.gpo_guid,
|
||||||
|
"--content=%s" % f.name,
|
||||||
|
"-H", "ldap://%s" %
|
||||||
|
os.environ["SERVER"],
|
||||||
|
"-U%s%%%s" %
|
||||||
|
(os.environ["USERNAME"],
|
||||||
|
os.environ["PASSWORD"]))
|
||||||
|
self.assertCmdSuccess(result, out, err, 'Loading policy failed')
|
||||||
|
|
||||||
|
(result, out, err) = self.runsubcmd("gpo", "show", self.gpo_guid, "-H",
|
||||||
|
"ldap://%s" % os.environ["SERVER"])
|
||||||
|
self.assertCmdSuccess(result, out, err, 'Failed to fetch gpos')
|
||||||
|
self.assertIn('samba.org', out, 'Homepage policy not loaded')
|
||||||
|
|
||||||
|
with NamedTemporaryFile() as f:
|
||||||
|
f.write(gpo_remove_json)
|
||||||
|
f.flush()
|
||||||
|
(result, out, err) = self.runsubcmd("gpo", "remove",
|
||||||
|
self.gpo_guid,
|
||||||
|
"--content=%s" % f.name,
|
||||||
|
"-H", "ldap://%s" %
|
||||||
|
os.environ["SERVER"],
|
||||||
|
"-U%s%%%s" %
|
||||||
|
(os.environ["USERNAME"],
|
||||||
|
os.environ["PASSWORD"]))
|
||||||
|
self.assertCmdSuccess(result, out, err, 'Removing policy failed')
|
||||||
|
|
||||||
|
(result, out, err) = self.runsubcmd("gpo", "show", self.gpo_guid, "-H",
|
||||||
|
"ldap://%s" % os.environ["SERVER"])
|
||||||
|
self.assertCmdSuccess(result, out, err, 'Failed to fetch gpos')
|
||||||
|
self.assertNotIn('samba.org', out, 'Homepage policy not removed')
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
"""set up a temporary GPO to work with"""
|
"""set up a temporary GPO to work with"""
|
||||||
super(GpoCmdTestCase, self).setUp()
|
super(GpoCmdTestCase, self).setUp()
|
||||||
|
|||||||
Reference in New Issue
Block a user