public virtual void TestUserRemoval() { IList <string> users = new AList <string>(); users.AddItem(User1); users.AddItem(User2); NetgroupCache.Add(Group1, users); VerifyGroupMembership(User1, 1, Group1); VerifyGroupMembership(User2, 1, Group1); users.Remove(User2); NetgroupCache.Clear(); NetgroupCache.Add(Group1, users); VerifyGroupMembership(User1, 1, Group1); VerifyGroupMembership(User2, 0, null); }
public virtual void TestMembership() { IList <string> users = new AList <string>(); users.AddItem(User1); users.AddItem(User2); NetgroupCache.Add(Group1, users); users = new AList <string>(); users.AddItem(User1); users.AddItem(User3); NetgroupCache.Add(Group2, users); VerifyGroupMembership(User1, 2, Group1); VerifyGroupMembership(User1, 2, Group2); VerifyGroupMembership(User2, 1, Group1); VerifyGroupMembership(User3, 1, Group2); }
/// <summary>Add a group to cache, only netgroups are cached</summary> /// <param name="groups">list of group names to add to cache</param> /// <exception cref="System.IO.IOException"/> public override void CacheGroupsAdd(IList <string> groups) { foreach (string group in groups) { if (group.Length == 0) { } else { // better safe than sorry (should never happen) if (group[0] == '@') { if (!NetgroupCache.IsCached(group)) { NetgroupCache.Add(group, GetUsersForNetgroup(group)); } } } } }