AuthInfoImpl implements AuthInfo { @Override public String toString() { return Objects.toStringHelper(this) .add("userID", userID) .add("attributes", attributes) .add("principals", principals).toString(); } AuthInfoImpl(@Nullable String userID, @Nullable Map<String, ?> attributes,
                        @Nullable Set<? extends Principal> principals);  AuthInfoImpl(@Nullable String userID, @Nullable Map<String, ?> attributes,
                        @Nullable Iterable<? extends Principal> principals); static AuthInfo createFromSubject(@NotNull Subject subject); @Override String toString(); @Override String getUserID(); @NotNull @Override String[] getAttributeNames(); @Override Object getAttribute(String attributeName); @NotNull @Override Set<Principal> getPrincipals();  }
@Test public void testToString() { assertNotNull(authInfo.toString()); }
@Test public void testCreateFromPrincipalIterables() { AuthInfo info = new AuthInfoImpl(USER_ID, ATTRIBUTES, Iterables.concat(PRINCIPALS, Collections.emptyList())); assertEquals(authInfo.toString(), info.toString()); }
@Test public void testCreateFromNullParams() { AuthInfo info = new AuthInfoImpl(null, null, (Iterable) null); AuthInfo info2 = new AuthInfoImpl(null, null, (Set) null); assertEquals(info.toString(), info2.toString()); }