dsdb/tests: Move SD modification on class-created objects to classSetUp
authorAndrew Bartlett <abartlet@samba.org>
Wed, 5 Apr 2023 20:54:02 +0000 (08:54 +1200)
committerJule Anger <janger@samba.org>
Tue, 11 Apr 2023 07:28:15 +0000 (07:28 +0000)
These modifications persist, so should be done at the class level,
not in the test.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15351

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Joseph Sutton <josephsutton@catalyst.net.nz>
(cherry picked from commit e1c0c2066c2f29bb614e3386b796eec3cb289aea)

source4/dsdb/tests/python/large_ldap.py

index 0da79da6f7395884c73f5bc8e8ea9b8673e408a7..ff172eecf70f9d39343e2d52aa706b5ba61a4c2e 100644 (file)
@@ -146,6 +146,14 @@ class LargeLDAPTest(samba.tests.TestCase):
                 "sAMAccountName": user_name,
                 "jpegPhoto": b'a' * (2 * 1024 * 1024)})
 
+            ace = "(OD;;RP;{6bc69afa-7bd9-4184-88f5-28762137eb6a};;S-1-%d)" % x
+            dn = ldb.Dn(cls.ldb, "cn=" + user_name + "," + str(cls.ou_dn))
+
+            # add an ACE that denies access to the above random attr
+            # for a not-existing user.  This makes each SD distinct
+            # and so will slow SD parsing.
+            cls.sd_utils.dacl_add_ace(dn, ace)
+
     @classmethod
     def tearDownClass(cls):
         # Remake the connection for tear-down (old Samba drops the socket)
@@ -290,16 +298,6 @@ class LargeLDAPTest(samba.tests.TestCase):
                       session_info=system_session(lp),
                       lp=lp)
 
-        for x in range(200):
-            user_name = self.USER_NAME + format(x, "03")
-            ace = "(OD;;RP;{6bc69afa-7bd9-4184-88f5-28762137eb6a};;S-1-%d)" % x
-            dn = ldb.Dn(self.ldb, "cn=" + user_name + "," + str(self.ou_dn))
-
-            # add an ACE that denies access to the above random attr
-            # for a not-existing user.  This makes each SD distinct
-            # and so will slow SD parsing.
-            self.sd_utils.dacl_add_ace(dn, ace)
-
         # Create a large search expression that will take a long time to
         # evaluate.
         expression = f'(jpegPhoto=*X*)' * 1000