From: Joseph Sutton Date: Tue, 13 Jun 2023 23:21:43 +0000 (+1200) Subject: tests/krb5: Keep track of account SIDs X-Git-Tag: talloc-2.4.1~381 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=490c451a79711d4cd5f03e933786cf56f9d31db4;p=thirdparty%2Fsamba.git tests/krb5: Keep track of account SIDs This prevents having to look them up in the database when tests need them. Signed-off-by: Joseph Sutton Reviewed-by: Andrew Bartlett --- diff --git a/python/samba/tests/krb5/kdc_base_test.py b/python/samba/tests/krb5/kdc_base_test.py index e2d328d1dc7..774cf24bffa 100644 --- a/python/samba/tests/krb5/kdc_base_test.py +++ b/python/samba/tests/krb5/kdc_base_test.py @@ -911,12 +911,19 @@ class KDCBaseTest(TestCaseInTempDir, RawKerberosTest): res = samdb.search(base=dn, scope=ldb.SCOPE_BASE, - attrs=['msDS-KeyVersionNumber']) + attrs=['msDS-KeyVersionNumber', + 'objectSid']) + kvno = res[0].get('msDS-KeyVersionNumber', idx=0) if kvno is not None: self.assertEqual(int(kvno), expected_kvno) creds.set_kvno(expected_kvno) + sid = res[0].get('objectSid', idx=0) + sid = samdb.schema_format_value('objectSID', sid) + sid = sid.decode('utf-8') + creds.set_sid(sid) + return (creds, dn) def get_security_descriptor(self, dn): diff --git a/python/samba/tests/krb5/raw_testcase.py b/python/samba/tests/krb5/raw_testcase.py index 193fea80adc..4fb60e09069 100644 --- a/python/samba/tests/krb5/raw_testcase.py +++ b/python/samba/tests/krb5/raw_testcase.py @@ -396,6 +396,7 @@ class KerberosCredentials(Credentials): self.dn = None self.upn = None self.spn = None + self.sid = None self.account_type = None def set_as_supported_enctypes(self, value): @@ -529,6 +530,12 @@ class KerberosCredentials(Credentials): def get_upn(self): return self.upn + def set_sid(self, sid): + self.sid = sid + + def get_sid(self): + return self.sid + def set_type(self, account_type): self.account_type = account_type