s4 unittests: add unit tests for upgradehelpers
authorMatthieu Patou <mat@matws.net>
Tue, 15 Jun 2010 08:53:18 +0000 (12:53 +0400)
committerJelmer Vernooij <jelmer@samba.org>
Sat, 19 Jun 2010 22:43:09 +0000 (00:43 +0200)
The functions tested are:
* construct_existor_expr
* search_constructed_attrs_stored

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
source4/scripting/python/samba/tests/upgradeprovision.py
source4/scripting/python/samba/tests/upgradeprovisionneeddc.py

index c5e1094e0dd99135781fd3b403387bd1008a4324..f0306fe6a1aa421425507a076775c688f1a3b057 100644 (file)
@@ -18,9 +18,9 @@
 #
 
 import os
-from samba.upgradehelpers import  usn_in_range, dn_sort,\
-                                  get_diff_sddls, update_secrets
-
+from samba.upgradehelpers import  (usn_in_range, dn_sort,
+                                  get_diff_sddls, update_secrets,
+                                  construct_existor_expr)
 
 from samba.tests.provision import create_dummy_secretsdb
 from samba.tests import env_loadparm, TestCaseInTempDir
@@ -89,6 +89,15 @@ class UpgradeProvisionTestCase(TestCaseInTempDir):
         txt = get_diff_sddls(sddl, sddl5)
         self.assertEquals(txt ,"\tCurrent ACL hasn't a sacl part\n")
 
+    def test_construct_existor_expr(self):
+        res = construct_existor_expr([])
+        self.assertEquals(res, "")
+
+        res = construct_existor_expr(["foo"])
+        self.assertEquals(res, "(|(foo=*))")
+
+        res = construct_existor_expr(["foo", "bar"])
+        self.assertEquals(res, "(|(foo=*)(bar=*))")
 
 class UpdateSecretsTests(samba.tests.TestCaseInTempDir):
     def setUp(self):
index 32fad14765b40ebc0822f20d52cdf9b4569a2161..32d6c0975b91dabf75128a6f38de01e04dde4bb8 100644 (file)
@@ -26,7 +26,7 @@ from samba.provision import getpolicypath
 from samba.upgradehelpers import (get_paths, get_ldbs,
                                  find_provision_key_parameters, identic_rename,
                                  updateOEMInfo, getOEMInfo, update_gpo,
-                                 delta_update_basesamdb)
+                                 delta_update_basesamdb,search_constructed_attrs_stored)
 
 from samba.tests.provision import create_dummy_secretsdb
 from samba import param
@@ -82,6 +82,12 @@ class UpgradeProvisionWithLdbTestCase(TestCaseInTempDir):
         self.referencedb = create_dummy_secretsdb(
             os.path.join(self.tempdir, "ref.ldb"))
 
+
+    def test_search_constructed_attrs_stored(self):
+        hashAtt = search_constructed_attrs_stored(self.ldbs.sam,
+                                                  self.names.rootdn,
+                                                  ["msds-KeyVersionNumber"])
+        self.assertFalse(hashAtt.has_key("msds-KeyVersionNumber"))
     def test_identic_rename(self):
         rootdn = "DC=samba,DC=example,DC=com"