AccessControlList implements Writable { public AccessControlList() { } AccessControlList();  AccessControlList(String aclString);  AccessControlList(String users, String groups); boolean isAllAllowed(); void addUser(String user); void addGroup(String group); void removeUser(String user); void removeGroup(String group); Collection<String> getUsers(); Collection<String> getGroups(); final boolean isUserInList(UserGroupInformation ugi); boolean isUserAllowed(UserGroupInformation ugi); @Override String toString(); String getAclString(); @Override void write(DataOutput out); @Override void readFields(DataInput in); static final String WILDCARD_ACL_VALUE; }
@Test public void testAccessControlList() throws Exception { AccessControlList acl; Collection<String> users; Collection<String> groups; acl = new AccessControlList("drwho tardis"); users = acl.getUsers(); assertEquals(users.size(), 1); assertEquals(users.iterator().next(), "drwho"); groups = acl.getGroups(); assertEquals(groups.size(), 1); assertEquals(groups.iterator().next(), "tardis"); acl = new AccessControlList("drwho"); users = acl.getUsers(); assertEquals(users.size(), 1); assertEquals(users.iterator().next(), "drwho"); groups = acl.getGroups(); assertEquals(groups.size(), 0); acl = new AccessControlList("drwho "); users = acl.getUsers(); assertEquals(users.size(), 1); assertEquals(users.iterator().next(), "drwho"); groups = acl.getGroups(); assertEquals(groups.size(), 0); acl = new AccessControlList(" tardis"); users = acl.getUsers(); assertEquals(users.size(), 0); groups = acl.getGroups(); assertEquals(groups.size(), 1); assertEquals(groups.iterator().next(), "tardis"); Iterator<String> iter; acl = new AccessControlList("drwho,joe tardis, users"); users = acl.getUsers(); assertEquals(users.size(), 2); iter = users.iterator(); assertEquals(iter.next(), "drwho"); assertEquals(iter.next(), "joe"); groups = acl.getGroups(); assertEquals(groups.size(), 2); iter = groups.iterator(); assertEquals(iter.next(), "tardis"); assertEquals(iter.next(), "users"); }