UserService { @VisibleForTesting protected Set<ByteBuffer> users() { Set<ByteBuffer> users = Sets.newLinkedHashSet(); forEachUser(username -> users.add(username)); return users; } @SuppressWarnings("unchecked") private  UserService(String backingStore, int accessTokenTtl,
            TimeUnit accessTokenTtlUnit); static UserService create(String backingStore); boolean authenticate(ByteBuffer username, ByteBuffer password); boolean can(ByteBuffer username, Permission permission,
            String environment); void create(ByteBuffer username, ByteBuffer password, Role role); void delete(ByteBuffer username); void disable(ByteBuffer username); void enable(ByteBuffer username); boolean exists(ByteBuffer username); void forEachUser(Consumer<ByteBuffer> consumer); Role getRole(ByteBuffer username); void grant(ByteBuffer username, Permission permission,
            String environment); boolean isEnabled(ByteBuffer username); void revoke(ByteBuffer username, String environment); void setPassword(ByteBuffer username, ByteBuffer password); void setRole(ByteBuffer username, Role role); final AccessTokenManager tokens; }
@Test public void testUsers() { Collection<ByteBuffer> added = addMoreUsers( Sets.newHashSet(ByteBuffers.fromString("admin")), service); Set<String> existing = added.stream() .map(bytes -> ByteBuffers.getString(bytes)) .collect(Collectors.toSet()); Assert.assertEquals(existing, service.users().stream() .map(bytes -> ByteBuffers.getString(bytes)) .collect(Collectors.toSet())); }