]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
tests/krb5: Allow adding members to a group and changing its type in a single operation
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Fri, 3 Mar 2023 00:20:31 +0000 (13:20 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 8 Mar 2023 04:39:32 +0000 (04:39 +0000)
This is needed in order to get some specific group setups for tests.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/tests/krb5/kdc_base_test.py

index f8a51e242804ba3430b11d4353b3d72589f676e0..3d9059b351096fde88803641956830bf4e8fe74d 100644 (file)
@@ -877,7 +877,8 @@ class KDCBaseTest(RawKerberosTest):
         creds.set_tgs_supported_enctypes(supported_enctypes)
         creds.set_ap_supported_enctypes(supported_enctypes)
 
-    def add_to_group(self, account_dn, group_dn, group_attr, expect_attr=True):
+    def add_to_group(self, account_dn, group_dn, group_attr, expect_attr=True,
+                     new_group_type=None):
         samdb = self.get_samdb()
 
         try:
@@ -914,9 +915,14 @@ class KDCBaseTest(RawKerberosTest):
 
         msg = ldb.Message()
         msg.dn = group_dn
-        msg[group_attr] = ldb.MessageElement(list(members),
-                                             ldb.FLAG_MOD_REPLACE,
-                                             group_attr)
+        if new_group_type is not None:
+            msg['0'] = ldb.MessageElement(
+                common.normalise_int32(new_group_type),
+                ldb.FLAG_MOD_REPLACE,
+                'groupType')
+        msg['1'] = ldb.MessageElement(list(members),
+                                      ldb.FLAG_MOD_REPLACE,
+                                      group_attr)
         cleanup = samdb.msg_diff(msg, orig_msg)
         self.ldb_cleanups.append(cleanup)
         samdb.modify(msg)