]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ldb:test:api_search: put config options on class, not instance.
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Sat, 17 Aug 2024 08:47:39 +0000 (20:47 +1200)
committerAndreas Schneider <asn@cryptomilk.org>
Tue, 24 Sep 2024 09:14:38 +0000 (09:14 +0000)
This makes them available to class methods.

In a later commit we will convert the index attribute into an
add_index() class method, because having a mutable variable on a class
is a slightly bad idea.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andreas Schneider <asn@samba.org>
lib/ldb/tests/python/api_search.py

index 3e443e385aee0ac82ae1de380c44f053249f0c10..3b71c6808c9163df3ae38f53557520f5138c274e 100644 (file)
@@ -1172,169 +1172,166 @@ class SearchTests(LdbBaseTest):
 
 # Run the search tests against an lmdb backend
 class SearchTestsLmdb(SearchTests):
+    prefix = MDB_PREFIX
+    index = MDB_INDEX_OBJ
 
     def setUp(self):
         if os.environ.get('HAVE_LMDB', '1') == '0':
             self.skipTest("No lmdb backend")
-        self.prefix = MDB_PREFIX
-        self.index = MDB_INDEX_OBJ
         super().setUp()
 
 
 class IndexedSearchTests(SearchTests):
     """Test searches using the index, to ensure the index doesn't
        break things"""
-
+    IDX = True
     def setUp(self):
         super().setUp()
         self.l.add({"dn": "@INDEXLIST",
                     "@IDXATTR": [b"x", b"y", b"ou"]})
-        self.IDX = True
 
 
 class IndexedCheckSearchTests(IndexedSearchTests):
     """Test searches using the index, to ensure the index doesn't
        break things (full scan disabled)"""
+    IDXCHECK = True
 
     def setUp(self):
-        self.IDXCHECK = True
         super().setUp()
 
 
 class IndexedSearchDnFilterTests(SearchTests):
     """Test searches using the index, to ensure the index doesn't
        break things"""
-
+    disallowDNFilter = True
+    IDX = True
     def setUp(self):
         super().setUp()
         self.l.add({"dn": "@OPTIONS",
                     "disallowDNFilter": "TRUE"})
-        self.disallowDNFilter = True
 
         self.l.add({"dn": "@INDEXLIST",
                     "@IDXATTR": [b"x", b"y", b"ou"]})
-        self.IDX = True
+
 
 
 class IndexedAndOneLevelSearchTests(SearchTests):
     """Test searches using the index including @IDXONE, to ensure
        the index doesn't break things"""
+    IDX = True
+    IDXONE = True
 
     def setUp(self):
         super().setUp()
         self.l.add({"dn": "@INDEXLIST",
                     "@IDXATTR": [b"x", b"y", b"ou"],
                     "@IDXONE": [b"1"]})
-        self.IDX = True
-        self.IDXONE = True
 
 
 class IndexedCheckedAndOneLevelSearchTests(IndexedAndOneLevelSearchTests):
     """Test searches using the index including @IDXONE, to ensure
        the index doesn't break things (full scan disabled)"""
+    IDXCHECK = True
 
     def setUp(self):
-        self.IDXCHECK = True
         super().setUp()
 
 
 class IndexedAndOneLevelDNFilterSearchTests(SearchTests):
     """Test searches using the index including @IDXONE, to ensure
        the index doesn't break things"""
+    disallowDNFilter = True
+    checkBaseOnSearch = True
+    IDX = True
+    IDXONE = True
 
     def setUp(self):
         super().setUp()
         self.l.add({"dn": "@OPTIONS",
                     "disallowDNFilter": "TRUE",
                     "checkBaseOnSearch": "TRUE"})
-        self.disallowDNFilter = True
-        self.checkBaseOnSearch = True
 
         self.l.add({"dn": "@INDEXLIST",
                     "@IDXATTR": [b"x", b"y", b"ou"],
                     "@IDXONE": [b"1"]})
-        self.IDX = True
-        self.IDXONE = True
 
 
 class GUIDIndexedSearchTests(SearchTests):
     """Test searches using the index, to ensure the index doesn't
        break things"""
+    IDXGUID = True
+    index = {"dn": "@INDEXLIST",
+             "@IDXATTR": [b"x", b"y", b"ou"],
+             "@IDXGUID": [b"objectUUID"],
+             "@IDX_DN_GUID": [b"GUID"]}
 
     def setUp(self):
-        self.index = {"dn": "@INDEXLIST",
-                      "@IDXATTR": [b"x", b"y", b"ou"],
-                      "@IDXGUID": [b"objectUUID"],
-                      "@IDX_DN_GUID": [b"GUID"]}
         super().setUp()
 
-        self.IDXGUID = True
-
 
 class GUIDIndexedDNFilterSearchTests(SearchTests):
     """Test searches using the index, to ensure the index doesn't
        break things"""
+    disallowDNFilter = True
+    checkBaseOnSearch = True
+    IDX = True
+    IDXGUID = True
+    index = {"dn": "@INDEXLIST",
+             "@IDXATTR": [b"x", b"y", b"ou"],
+             "@IDXGUID": [b"objectUUID"],
+             "@IDX_DN_GUID": [b"GUID"]}
 
     def setUp(self):
-        self.index = {"dn": "@INDEXLIST",
-                      "@IDXATTR": [b"x", b"y", b"ou"],
-                      "@IDXGUID": [b"objectUUID"],
-                      "@IDX_DN_GUID": [b"GUID"]}
         super().setUp()
         self.l.add({"dn": "@OPTIONS",
                     "disallowDNFilter": "TRUE",
                     "checkBaseOnSearch": "TRUE"})
-        self.disallowDNFilter = True
-        self.checkBaseOnSearch = True
-        self.IDX = True
-        self.IDXGUID = True
 
 
 class GUIDAndOneLevelIndexedSearchTests(SearchTests):
     """Test searches using the index including @IDXONE, to ensure
        the index doesn't break things"""
+    disallowDNFilter = True
+    checkBaseOnSearch = True
+    IDX = True
+    IDXGUID = True
+    IDXONE = True
+    index = {"dn": "@INDEXLIST",
+             "@IDXATTR": [b"x", b"y", b"ou"],
+             "@IDXONE": [b"1"],
+             "@IDXGUID": [b"objectUUID"],
+             "@IDX_DN_GUID": [b"GUID"]}
 
     def setUp(self):
-        self.index = {"dn": "@INDEXLIST",
-                      "@IDXATTR": [b"x", b"y", b"ou"],
-                      "@IDXONE": [b"1"],
-                      "@IDXGUID": [b"objectUUID"],
-                      "@IDX_DN_GUID": [b"GUID"]}
         super().setUp()
         self.l.add({"dn": "@OPTIONS",
                     "disallowDNFilter": "TRUE",
                     "checkBaseOnSearch": "TRUE"})
-        self.disallowDNFilter = True
-        self.checkBaseOnSearch = True
-        self.IDX = True
-        self.IDXGUID = True
-        self.IDXONE = True
 
 
 class GUIDIndexedSearchTestsLmdb(GUIDIndexedSearchTests):
+    prefix = MDB_PREFIX
 
     def setUp(self):
         if os.environ.get('HAVE_LMDB', '1') == '0':
             self.skipTest("No lmdb backend")
-        self.prefix = MDB_PREFIX
         super().setUp()
 
 
 class GUIDIndexedDNFilterSearchTestsLmdb(GUIDIndexedDNFilterSearchTests):
+    prefix = MDB_PREFIX
 
     def setUp(self):
         if os.environ.get('HAVE_LMDB', '1') == '0':
             self.skipTest("No lmdb backend")
-        self.prefix = MDB_PREFIX
         super().setUp()
 
 
 class GUIDAndOneLevelIndexedSearchTestsLmdb(GUIDAndOneLevelIndexedSearchTests):
-
+    prefix = MDB_PREFIX
     def setUp(self):
         if os.environ.get('HAVE_LMDB', '1') == '0':
             self.skipTest("No lmdb backend")
-        self.prefix = MDB_PREFIX
         super().setUp()
 
 
@@ -1608,12 +1605,12 @@ class LdbResultTests(LdbBaseTest):
 
 
 class LdbResultTestsLmdb(LdbResultTests):
+    prefix = MDB_PREFIX
+    index = MDB_INDEX_OBJ
 
     def setUp(self):
         if os.environ.get('HAVE_LMDB', '1') == '0':
             self.skipTest("No lmdb backend")
-        self.prefix = MDB_PREFIX
-        self.index = MDB_INDEX_OBJ
         super().setUp()
 
 
@@ -1706,12 +1703,12 @@ class NestedTransactionTests(LdbBaseTest):
 
 
 class LmdbNestedTransactionTests(NestedTransactionTests):
+    prefix = MDB_PREFIX
+    index = MDB_INDEX_OBJ
 
     def setUp(self):
         if os.environ.get('HAVE_LMDB', '1') == '0':
             self.skipTest("No lmdb backend")
-        self.prefix = MDB_PREFIX
-        self.index = MDB_INDEX_OBJ
         super().setUp()