From: Rob van der Linde Date: Wed, 22 Nov 2023 04:18:20 +0000 (+1300) Subject: netcmd: models: add field test for SIDField X-Git-Tag: talloc-2.4.2~570 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9fe147a02c6497be12209f7a9a4f4f4a8113440d;p=thirdparty%2Fsamba.git netcmd: models: add field test for SIDField Signed-off-by: Rob van der Linde Reviewed-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- diff --git a/python/samba/tests/samba_tool/domain_models.py b/python/samba/tests/samba_tool/domain_models.py index 548444b83cb..e0f21fe22bb 100644 --- a/python/samba/tests/samba_tool/domain_models.py +++ b/python/samba/tests/samba_tool/domain_models.py @@ -27,7 +27,7 @@ from xml.etree import ElementTree from ldb import FLAG_MOD_ADD, MessageElement, SCOPE_ONELEVEL from samba.dcerpc import security from samba.dcerpc.misc import GUID -from samba.netcmd.domain.models import User, fields +from samba.netcmd.domain.models import Group, User, fields from samba.netcmd.domain.models.auth_policy import StrongNTLMPolicy from samba.ndr import ndr_pack, ndr_unpack @@ -221,6 +221,48 @@ class DnFieldTest(FieldTestMixin, SambaToolCmdTest): ] +class SIDFieldTest(FieldTestMixin, SambaToolCmdTest): + field = fields.SIDField("FieldName") + + @property + def to_db_value(self): + # Create a group for testing + group = Group(name="group1") + group.save(self.samdb) + self.addCleanup(group.delete, self.samdb) + + # Get raw value to compare against + group_rec = self.samdb.search(Group.get_base_dn(self.samdb), + scope=SCOPE_ONELEVEL, + expression="(name=group1)", + attrs=["objectSid"])[0] + raw_sid = group_rec["objectSid"] + + return [ + (group.object_sid, raw_sid), + (None, None), + ] + + @property + def from_db_value(self): + # Create a group for testing + group = Group(name="group1") + group.save(self.samdb) + self.addCleanup(group.delete, self.samdb) + + # Get raw value to compare against + group_rec = self.samdb.search(Group.get_base_dn(self.samdb), + scope=SCOPE_ONELEVEL, + expression="(name=group1)", + attrs=["objectSid"])[0] + raw_sid = group_rec["objectSid"] + + return [ + (raw_sid, group.object_sid), + (None, None), + ] + + class GUIDFieldTest(FieldTestMixin, SambaToolCmdTest): field = fields.GUIDField("FieldName")