diff options
author | Garming Sam <garming@catalyst.net.nz> | 2019-02-20 14:11:13 +1300 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2019-03-12 00:42:19 +0000 |
commit | bcb0270c6bcd6c9268c4807030d9c5945624540e (patch) | |
tree | f39c543830c890b71677c227ca2590852921bcaf /python/samba | |
parent | 5514b98f1d6611b99923ad98e8d55985c6620b70 (diff) | |
download | samba-bcb0270c6bcd6c9268c4807030d9c5945624540e.tar.gz |
gpo: Add tests to make sure that an empty gplink works
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13564
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'python/samba')
-rw-r--r-- | python/samba/tests/samba_tool/gpo.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/python/samba/tests/samba_tool/gpo.py b/python/samba/tests/samba_tool/gpo.py index a760a98808e..0eb7c71b108 100644 --- a/python/samba/tests/samba_tool/gpo.py +++ b/python/samba/tests/samba_tool/gpo.py @@ -19,6 +19,7 @@ # import os +import ldb import samba from samba.tests.samba_tool.base import SambaToolCmdTest import shutil @@ -113,6 +114,39 @@ class GpoCmdTestCase(SambaToolCmdTest): (result, out, err) = self.runsubcmd("gpo", "aclcheck", "-H", "ldap://%s" % os.environ["SERVER"], "-U%s%%%s" % (os.environ["USERNAME"], os.environ["PASSWORD"])) self.assertCmdSuccess(result, out, err, "Ensuring gpo checked successfully") + def test_getlink_empty(self): + self.samdb = self.getSamDB("-H", "ldap://%s" % os.environ["DC_SERVER"], + "-U%s%%%s" % (os.environ["DC_USERNAME"], + os.environ["DC_PASSWORD"])) + + container_dn = 'OU=gpo_test_link,%s' % self.samdb.get_default_basedn() + + self.samdb.add({ + 'dn': container_dn, + 'objectClass': 'organizationalUnit' + }) + + (result, out, err) = self.runsubcmd("gpo", "getlink", container_dn, + "-H", "ldap://%s" % os.environ["SERVER"], + "-U%s%%%s" % (os.environ["USERNAME"], + os.environ["PASSWORD"])) + self.assertCmdSuccess(result, out, err, "Ensuring gpo link fetched successfully") + + # Microsoft appears to allow an empty space character after deletion of + # a GPO. We should be able to handle this. + m = ldb.Message() + m.dn = ldb.Dn(self.samdb, container_dn) + m['gPLink'] = ldb.MessageElement(' ', ldb.FLAG_MOD_REPLACE, 'gPLink') + self.samdb.modify(m) + + (result, out, err) = self.runsubcmd("gpo", "getlink", container_dn, + "-H", "ldap://%s" % os.environ["SERVER"], + "-U%s%%%s" % (os.environ["USERNAME"], + os.environ["PASSWORD"])) + self.assertCmdSuccess(result, out, err, "Ensuring gpo link fetched successfully") + + self.samdb.delete(container_dn) + def test_backup_restore_compare_binary(self): """Restore from a static backup and compare the binary contents""" |