gpo: test the get_deleted_gpos_list() function
authorDavid Mulder <dmulder@suse.com>
Thu, 30 Aug 2018 16:25:45 +0000 (10:25 -0600)
committerAurélien Aptel <aaptel@samba.org>
Mon, 8 Oct 2018 16:17:16 +0000 (18:17 +0200)
Signed-off-by: David Mulder <dmulder@suse.com>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
python/samba/tests/gpo.py

index 6888f717844f09e17ba9a323e27f5d6f4ec356e6..92403a56d006fa0197b4130425fc7dcf8b3a47f2 100644 (file)
@@ -20,7 +20,7 @@ from samba.gpclass import register_gp_extension, list_gp_extensions, \
     unregister_gp_extension, gp_log, GPOStorage
 from samba.param import LoadParm
 from samba.gpclass import check_refresh_gpo_list, check_safe_path, \
-    check_guid, parse_gpext_conf, atomic_write_conf
+    check_guid, parse_gpext_conf, atomic_write_conf, get_deleted_gpos_list
 from subprocess import Popen, PIPE
 from tempfile import NamedTemporaryFile
 
@@ -233,6 +233,18 @@ class GPOTests(tests.TestCase):
                                  days2rel_nttime(998),
                                  'minPwdAge policy not set')
 
+        ads = gpo.ADS_STRUCT(self.server, self.lp, self.creds)
+        if ads.connect():
+            gpos = ads.get_gpo_list('ADDC$')
+        del_gpos = get_deleted_gpos_list(gp_db, gpos[:-1])
+        self.assertEqual(len(del_gpos), 1, 'Returned delete gpos is incorrect')
+        self.assertEqual(guids[-1], del_gpos[0][0],
+                         'GUID for delete gpo is incorrect')
+        self.assertIn('System Access', del_gpos[0][1],
+                      'System Access policies not set for removal')
+        self.assertIn('minPwdAge', del_gpos[0][1]['System Access'],
+                      'minPwdAge policy not set for removal')
+
         for guid in guids:
             gpttmpl = gpofile % (local_path, guid)
             unstage_file(gpttmpl)