use of org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser in project jackrabbit-oak by apache.
the class ExternalGroupPrincipalProviderTest method testGetPrincipalGroupsWithQueryWildCard.
@Test
public void testGetPrincipalGroupsWithQueryWildCard() throws Exception {
ExternalUser externalUser = idp.getUser(TestIdentityProvider.ID_WILDCARD_USER);
sync(externalUser);
for (ExternalIdentityRef ref : externalUser.getDeclaredGroups()) {
String pName = idp.getIdentity(ref).getPrincipalName();
Principal p = principalProvider.getPrincipal(pName);
assertNotNull(p);
assertEquals(pName, p.getName());
}
}
use of org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser in project jackrabbit-oak by apache.
the class SyncMBeanImplTest method getExpectedUserResult.
private Map<String, String> getExpectedUserResult(String expectedOp, boolean includeGroups) throws ExternalIdentityException {
Map<String, String> expected = new HashMap<>();
Iterator<ExternalUser> it = idp.listUsers();
while (it.hasNext()) {
ExternalUser eu = it.next();
expected.put(eu.getId(), expectedOp);
if (includeGroups) {
for (ExternalIdentityRef ref : eu.getDeclaredGroups()) {
expected.put(ref.getId(), expectedOp);
}
}
}
return expected;
}
use of org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser in project jackrabbit-oak by apache.
the class SyncMBeanImplTest method testSyncExternalUsersLastSyncedProperty.
@Test
public void testSyncExternalUsersLastSyncedProperty() throws Exception {
ExternalUser externalUser = idp.getUser(TestIdentityProvider.ID_TEST_USER);
String[] externalId = new String[] { externalUser.getExternalId().getString() };
syncMBean.syncExternalUsers(externalId);
UserManager userManager = getUserManager();
User testUser = userManager.getAuthorizable(externalUser.getId(), User.class);
long lastSynced = testUser.getProperty(DefaultSyncContext.REP_LAST_SYNCED)[0].getLong();
for (ExternalIdentityRef groupRef : externalUser.getDeclaredGroups()) {
Group gr = userManager.getAuthorizable(groupRef.getId(), Group.class);
long groupLastSynced = gr.getProperty(DefaultSyncContext.REP_LAST_SYNCED)[0].getLong();
assertTrue(lastSynced == groupLastSynced);
}
while (System.currentTimeMillis() <= lastSynced) {
// wait for system time to move
}
// default value for forceGroup sync is defined to be 'true' => verify result
syncMBean.syncExternalUsers(externalId);
userManager = getUserManager();
testUser = userManager.getAuthorizable(externalUser.getId(), User.class);
long lastSynced2 = testUser.getProperty(DefaultSyncContext.REP_LAST_SYNCED)[0].getLong();
assertTrue("lastSynced: " + lastSynced + ", lastSynced2: " + lastSynced2, lastSynced < lastSynced2);
for (ExternalIdentityRef groupRef : externalUser.getDeclaredGroups()) {
Group gr = userManager.getAuthorizable(groupRef.getId(), Group.class);
long groupLastSynced = gr.getProperty(DefaultSyncContext.REP_LAST_SYNCED)[0].getLong();
assertTrue(lastSynced2 == groupLastSynced);
}
}
use of org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser in project jackrabbit-oak by apache.
the class SyncMBeanImplTest method testInitialSyncExternalUsersNoNesting.
@Test
public void testInitialSyncExternalUsersNoNesting() throws Exception {
syncConfig.user().setMembershipNestingDepth(-1);
ExternalUser externalUser = idp.getUser(TestIdentityProvider.ID_TEST_USER);
String[] externalId = new String[] { externalUser.getExternalId().getString() };
String[] result = syncMBean.syncExternalUsers(externalId);
assertResultMessages(result, TestIdentityProvider.ID_TEST_USER, "add");
UserManager userManager = getUserManager();
User testUser = userManager.getAuthorizable(externalUser.getId(), User.class);
assertNotNull(testUser);
for (ExternalIdentityRef groupRef : externalUser.getDeclaredGroups()) {
assertNull(userManager.getAuthorizable(groupRef.getId()));
}
}
use of org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser in project jackrabbit-oak by apache.
the class SyncMBeanImplTest method testInitialSyncExternalUsers.
@Test
public void testInitialSyncExternalUsers() throws Exception {
ExternalUser externalUser = idp.getUser(TestIdentityProvider.ID_TEST_USER);
String[] externalId = new String[] { externalUser.getExternalId().getString() };
String[] result = syncMBean.syncExternalUsers(externalId);
assertResultMessages(result, TestIdentityProvider.ID_TEST_USER, "add");
UserManager userManager = getUserManager();
User testUser = userManager.getAuthorizable(externalUser.getId(), User.class);
assertNotNull(testUser);
for (ExternalIdentityRef groupRef : externalUser.getDeclaredGroups()) {
assertNotNull(userManager.getAuthorizable(groupRef.getId()));
}
}
Aggregations