@Override public String[] getAttributeNames() { Set<String> names = newTreeSet(sessionContext.getAttributes().keySet()); Collections.addAll(names, sd.getAuthInfo().getAttributeNames()); return names.toArray(new String[names.size()]); }
@Override public String[] getAttributeNames() { Set<String> names = newTreeSet(sessionContext.getAttributes().keySet()); Collections.addAll(names, sd.getAuthInfo().getAttributeNames()); return names.toArray(new String[names.size()]); }
@Override public String[] getAttributeNames() { Set<String> names = newTreeSet(sessionContext.getAttributes().keySet()); Collections.addAll(names, sd.getAuthInfo().getAttributeNames()); return names.toArray(new String[names.size()]); }
private static void assertAttributes(@NotNull Map<String, ?> expected, @NotNull AuthInfo info) { assertEquals(expected.size(), info.getAttributeNames().length); for (String aName : info.getAttributeNames()) { assertEquals(expected.get(aName), info.getAttribute(aName)); } }
@Test public void testCreateFromSubjectWithPrivateSimpleCredentials() { Subject subject = new Subject(); subject.getPrivateCredentials().add(new SimpleCredentials(USER_ID, new char[0])); AuthInfo info = AuthInfoImpl.createFromSubject(subject); assertNull(info.getUserID()); assertTrue(info.getPrincipals().isEmpty()); assertEquals(0, info.getAttributeNames().length); }
@Test public void testCreateFromSubjectWithAnyCredentials() { Subject subject = new Subject(); subject.getPublicCredentials().add(new Credentials() { }); AuthInfo info = AuthInfoImpl.createFromSubject(subject); assertNull(info.getUserID()); assertTrue(info.getPrincipals().isEmpty()); assertEquals(0, info.getAttributeNames().length); } }
@Test public void testCreateFromSubjectWithPrincipals() { Subject subject = new Subject(); subject.getPrincipals().addAll(PRINCIPALS); AuthInfo info = AuthInfoImpl.createFromSubject(subject); assertNull(info.getUserID()); assertEquals(PRINCIPALS, info.getPrincipals()); assertEquals(0, info.getAttributeNames().length); }
@Test public void testCreateAuthInfoFromEmptySubject() { AuthInfo info = AuthInfoImpl.createFromSubject(new Subject()); assertNull(info.getUserID()); assertEquals(0, info.getAttributeNames().length); assertTrue(info.getPrincipals().isEmpty()); } }
@Test public void testCreateFromSubjectWithSimpleCredentials() { Subject subject = new Subject(); subject.getPublicCredentials().add(new SimpleCredentials(USER_ID, new char[0])); AuthInfo info = AuthInfoImpl.createFromSubject(subject); assertEquals(USER_ID, info.getUserID()); assertTrue(info.getPrincipals().isEmpty()); assertEquals(0, info.getAttributeNames().length); }
@Test public void testCreateFromSubjectWithAuthInfo() { Subject subject = new Subject(); subject.getPublicCredentials().add(authInfo); AuthInfo info = AuthInfoImpl.createFromSubject(subject); assertEquals(USER_ID, info.getUserID()); assertEquals(PRINCIPALS, info.getPrincipals()); assertArrayEquals(authInfo.getAttributeNames(), info.getAttributeNames()); }
@Test public void testTokenCreationWithAttributes() throws Exception { ContentSession cs = null; try { SimpleCredentials sc = (SimpleCredentials) getAdminCredentials(); sc.setAttribute(".token", ""); sc.setAttribute(".token.mandatory", "something"); sc.setAttribute("attr", "val"); cs = login(sc); AuthInfo ai = cs.getAuthInfo(); Set<String> attrNames = ImmutableSet.copyOf(ai.getAttributeNames()); assertTrue(attrNames.contains("attr")); assertFalse(attrNames.contains(".token")); assertFalse(attrNames.contains(".token.mandatory")); } finally { if (cs != null) { cs.close(); } } }
@Test public void testLoginWithAttributes( ) throws Exception { ContentSession cs = null; try { createTestUser(); SimpleCredentials sc = new SimpleCredentials(USER_ID, USER_PW.toCharArray()); sc.setAttribute("attr", "value"); cs = login(sc); AuthInfo authInfo = cs.getAuthInfo(); assertTrue(Arrays.asList(authInfo.getAttributeNames()).contains("attr")); assertEquals("value", authInfo.getAttribute("attr")); cs.close(); } finally { if (cs != null) { cs.close(); } } }
@Test public void testTokenCreationWithImpersonationAttributes() throws Exception { ContentSession cs = null; try { SimpleCredentials sc = (SimpleCredentials) getAdminCredentials(); sc.setAttribute(".token", ""); sc.setAttribute(".token.mandatory", "something"); sc.setAttribute("attr", "val"); ImpersonationCredentials ic = new ImpersonationCredentials(sc, new AuthInfoImpl(((SimpleCredentials) getAdminCredentials()).getUserID(), Collections.<String, Object>emptyMap(), Collections.<Principal>emptySet())); cs = login(ic); AuthInfo ai = cs.getAuthInfo(); Set<String> attrNames = ImmutableSet.copyOf(ai.getAttributeNames()); assertTrue(attrNames.contains("attr")); assertFalse(attrNames.contains(".token")); assertFalse(attrNames.contains(".token.mandatory")); } finally { if (cs != null) { cs.close(); } } }
@Test public void testImpersonationWithAttributes() throws Exception { ContentSession cs = null; try { createTestUser(); SimpleCredentials sc = new SimpleCredentials(USER_ID, USER_PW.toCharArray()); cs = login(sc); AuthInfo authInfo = cs.getAuthInfo(); cs.close(); cs = null; sc = new SimpleCredentials(USER_ID, new char[0]); sc.setAttribute("attr", "value"); ImpersonationCredentials ic = new ImpersonationCredentials(sc, authInfo); cs = login(ic); authInfo = cs.getAuthInfo(); assertTrue(Arrays.asList(authInfo.getAttributeNames()).contains("attr")); assertEquals("value", authInfo.getAttribute("attr")); } finally { if (cs != null) { cs.close(); } } }