private Group ProcessGroupObject(ISearchResultEntry entry, ResolvedSearchResult resolvedSearchResult) { var ret = new Group { ObjectIdentifier = resolvedSearchResult.ObjectId }; ret.Properties.Add("domain", resolvedSearchResult.Domain); ret.Properties.Add("name", resolvedSearchResult.DisplayName); ret.Properties.Add("distinguishedname", entry.DistinguishedName.ToUpper()); ret.Properties.Add("domainsid", resolvedSearchResult.DomainSid); if ((_methods & ResolvedCollectionMethod.ACL) != 0) { ret.Aces = _aclProcessor.ProcessACL(resolvedSearchResult, entry).ToArray(); ret.IsACLProtected = _aclProcessor.IsACLProtected(entry); } if ((_methods & ResolvedCollectionMethod.Group) != 0) { ret.Members = _groupProcessor .ReadGroupMembers(resolvedSearchResult, entry) .ToArray(); } if ((_methods & ResolvedCollectionMethod.ObjectProps) != 0) { var groupProps = LDAPPropertyProcessor.ReadGroupProperties(entry); ret.Properties = ContextUtils.Merge(ret.Properties, groupProps); } return(ret); }
public void LDAPPropertyProcessor_ReadGroupProperties_NullAdminCount() { var mock = new MockSearchResultEntry("CN\u003dDomain Admins,CN\u003dUsers,DC\u003dtestlab,DC\u003dlocal", new Dictionary <string, object> { { "description", "Test" } }, "S-1-5-21-3130019616-2776909439-2417379446-512", Label.Group); var test = LDAPPropertyProcessor.ReadGroupProperties(mock); Assert.Contains("description", test.Keys); Assert.Equal("Test", test["description"] as string); Assert.Contains("admincount", test.Keys); Assert.False((bool)test["admincount"]); }