/** * Add a group to cache, only netgroups are cached * * @param groups list of group names to add to cache */ @Override public void cacheGroupsAdd(List<String> groups) throws IOException { for(String group: groups) { if(group.length() == 0) { // better safe than sorry (should never happen) } else if(group.charAt(0) == '@') { if(!NetgroupCache.isCached(group)) { NetgroupCache.add(group, getUsersForNetgroup(group)); } } else { // unix group, not caching } } }
/** * Add a group to cache, only netgroups are cached * * @param groups list of group names to add to cache */ @Override public void cacheGroupsAdd(List<String> groups) throws IOException { for(String group: groups) { if(group.length() == 0) { // better safe than sorry (should never happen) } else if(group.charAt(0) == '@') { if(!NetgroupCache.isCached(group)) { NetgroupCache.add(group, getUsersForNetgroup(group)); } } else { // unix group, not caching } } }
/** * Add a group to cache, only netgroups are cached * * @param groups list of group names to add to cache */ @Override public void cacheGroupsAdd(List<String> groups) throws IOException { for(String group: groups) { if(group.length() == 0) { // better safe than sorry (should never happen) } else if(group.charAt(0) == '@') { if(!NetgroupCache.isCached(group)) { NetgroupCache.add(group, getUsersForNetgroup(group)); } } else { // unix group, not caching } } }
/** * Add a group to cache, only netgroups are cached * * @param groups list of group names to add to cache */ @Override public void cacheGroupsAdd(List<String> groups) throws IOException { for(String group: groups) { if(group.length() == 0) { // better safe than sorry (should never happen) } else if(group.charAt(0) == '@') { if(!NetgroupCache.isCached(group)) { NetgroupCache.add(group, getUsersForNetgroup(group)); } } else { // unix group, not caching } } }
/** * Add a group to cache, only netgroups are cached * * @param groups list of group names to add to cache */ @Override public void cacheGroupsAdd(List<String> groups) throws IOException { for(String group: groups) { if(group.length() == 0) { // better safe than sorry (should never happen) } else if(group.charAt(0) == '@') { if(!NetgroupCache.isCached(group)) { NetgroupCache.add(group, getUsersForNetgroup(group)); } } else { // unix group, not caching } } }
/** * Add a group to cache, only netgroups are cached * * @param groups list of group names to add to cache */ @Override public void cacheGroupsAdd(List<String> groups) throws IOException { for(String group: groups) { if(group.length() == 0) { // better safe than sorry (should never happen) } else if(group.charAt(0) == '@') { if(!NetgroupCache.isCached(group)) { NetgroupCache.add(group, getUsersForNetgroup(group)); } } else { // unix group, not caching } } }
/** * Add a group to cache, only netgroups are cached * * @param groups list of group names to add to cache */ @Override public void cacheGroupsAdd(List<String> groups) throws IOException { for(String group: groups) { if(group.length() == 0) { // better safe than sorry (should never happen) } else if(group.charAt(0) == '@') { if(!NetgroupCache.isCached(group)) { NetgroupCache.add(group, getUsersForNetgroup(group)); } } else { // unix group, not caching } } }
/** * Add a group to cache, only netgroups are cached * * @param groups list of group names to add to cache */ @Override public void cacheGroupsAdd(List<String> groups) throws IOException { for(String group: groups) { if(group.length() == 0) { // better safe than sorry (should never happen) } else if(group.charAt(0) == '@') { if(!NetgroupCache.isCached(group)) { NetgroupCache.add(group, getUsersForNetgroup(group)); } } else { // unix group, not caching } } }
/** * Add a group to cache, only netgroups are cached * * @param groups list of group names to add to cache */ @Override public void cacheGroupsAdd(List<String> groups) throws IOException { for(String group: groups) { if(group.length() == 0) { // better safe than sorry (should never happen) } else if(group.charAt(0) == '@') { if(!NetgroupCache.isCached(group)) { NetgroupCache.add(group, getUsersForNetgroup(group)); } } else { // unix group, not caching } } }
/** * Add a group to cache, only netgroups are cached * * @param groups list of group names to add to cache */ @Override public void cacheGroupsAdd(List<String> groups) throws IOException { for(String group: groups) { if(group.length() == 0) { // better safe than sorry (should never happen) } else if(group.charAt(0) == '@') { if(!NetgroupCache.isCached(group)) { NetgroupCache.add(group, getUsersForNetgroup(group)); } } else { // unix group, not caching } } }
/** * Cache two groups with a set of users. * Test membership correctness. */ @Test public void testMembership() { List<String> users = new ArrayList<String>(); users.add(USER1); users.add(USER2); NetgroupCache.add(GROUP1, users); users = new ArrayList<String>(); users.add(USER1); users.add(USER3); NetgroupCache.add(GROUP2, users); verifyGroupMembership(USER1, 2, GROUP1); verifyGroupMembership(USER1, 2, GROUP2); verifyGroupMembership(USER2, 1, GROUP1); verifyGroupMembership(USER3, 1, GROUP2); }
/** * Cache two groups with a set of users. * Test membership correctness. */ @Test public void testMembership() { List<String> users = new ArrayList<String>(); users.add(USER1); users.add(USER2); NetgroupCache.add(GROUP1, users); users = new ArrayList<String>(); users.add(USER1); users.add(USER3); NetgroupCache.add(GROUP2, users); verifyGroupMembership(USER1, 2, GROUP1); verifyGroupMembership(USER1, 2, GROUP2); verifyGroupMembership(USER2, 1, GROUP1); verifyGroupMembership(USER3, 1, GROUP2); }
/** * Cache a group with a set of users. * Test membership correctness. * Clear cache, remove a user from the group and cache the group * Test membership correctness. */ @Test public void testUserRemoval() { List<String> users = new ArrayList<String>(); users.add(USER1); users.add(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); }
/** * Cache a group with a set of users. * Test membership correctness. * Clear cache, remove a user from the group and cache the group * Test membership correctness. */ @Test public void testUserRemoval() { List<String> users = new ArrayList<String>(); users.add(USER1); users.add(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); }
/** * Cache two groups with a set of users. * Test membership correctness. * Clear cache, cache only one group. * Test membership correctness. */ @Test public void testGroupRemoval() { List<String> users = new ArrayList<String>(); users.add(USER1); users.add(USER2); NetgroupCache.add(GROUP1, users); users = new ArrayList<String>(); users.add(USER1); users.add(USER3); NetgroupCache.add(GROUP2, users); verifyGroupMembership(USER1, 2, GROUP1); verifyGroupMembership(USER1, 2, GROUP2); verifyGroupMembership(USER2, 1, GROUP1); verifyGroupMembership(USER3, 1, GROUP2); NetgroupCache.clear(); users = new ArrayList<String>(); users.add(USER1); users.add(USER2); NetgroupCache.add(GROUP1, users); verifyGroupMembership(USER1, 1, GROUP1); verifyGroupMembership(USER2, 1, GROUP1); verifyGroupMembership(USER3, 0, null); }
/** * Cache two groups with a set of users. * Test membership correctness. * Clear cache, cache only one group. * Test membership correctness. */ @Test public void testGroupRemoval() { List<String> users = new ArrayList<String>(); users.add(USER1); users.add(USER2); NetgroupCache.add(GROUP1, users); users = new ArrayList<String>(); users.add(USER1); users.add(USER3); NetgroupCache.add(GROUP2, users); verifyGroupMembership(USER1, 2, GROUP1); verifyGroupMembership(USER1, 2, GROUP2); verifyGroupMembership(USER2, 1, GROUP1); verifyGroupMembership(USER3, 1, GROUP2); NetgroupCache.clear(); users = new ArrayList<String>(); users.add(USER1); users.add(USER2); NetgroupCache.add(GROUP1, users); verifyGroupMembership(USER1, 1, GROUP1); verifyGroupMembership(USER2, 1, GROUP1); verifyGroupMembership(USER3, 0, null); }