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(); assertThat(users.size()).isOne(); assertThat(users.iterator().next()).isEqualTo("drwho"); groups = acl.getGroups(); assertThat(groups.size()).isOne(); assertThat(groups.iterator().next()).isEqualTo("tardis"); acl = new AccessControlList("drwho"); users = acl.getUsers(); assertThat(users.size()).isOne(); assertThat(users.iterator().next()).isEqualTo("drwho"); groups = acl.getGroups(); assertThat(groups.size()).isZero(); acl = new AccessControlList("drwho "); users = acl.getUsers(); assertThat(users.size()).isOne(); assertThat(users.iterator().next()).isEqualTo("drwho"); groups = acl.getGroups(); assertThat(groups.size()).isZero(); acl = new AccessControlList(" tardis"); users = acl.getUsers(); assertThat(users.size()).isZero(); groups = acl.getGroups(); assertThat(groups.size()).isOne(); assertThat(groups.iterator().next()).isEqualTo("tardis"); Iterator<String> iter; acl = new AccessControlList("drwho,joe tardis, users"); users = acl.getUsers(); assertThat(users.size()).isEqualTo(2); iter = users.iterator(); assertThat(iter.next()).isEqualTo("drwho"); assertThat(iter.next()).isEqualTo("joe"); groups = acl.getGroups(); assertThat(groups.size()).isEqualTo(2); iter = groups.iterator(); assertThat(iter.next()).isEqualTo("tardis"); assertThat(iter.next()).isEqualTo("users"); }