Search in sources :

Example 21 with Group

use of org.apache.jackrabbit.api.security.user.Group 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);
    }
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group) ExternalGroup(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup) User(org.apache.jackrabbit.api.security.user.User) ExternalUser(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser) ExternalIdentityRef(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityRef) ExternalUser(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser) UserManager(org.apache.jackrabbit.api.security.user.UserManager) Test(org.junit.Test)

Example 22 with Group

use of org.apache.jackrabbit.api.security.user.Group in project jackrabbit-oak by apache.

the class AbstractPrincipalTest method createTestGroup.

Group createTestGroup() throws Exception {
    Group gr = getUserManager(root).createGroup("group" + UUID.randomUUID());
    root.commit();
    return gr;
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group)

Example 23 with Group

use of org.apache.jackrabbit.api.security.user.Group in project jackrabbit-oak by apache.

the class UserManagerImpl method createGroup.

@Override
public Group createGroup(String groupID, Principal principal, @Nullable String intermediatePath) throws RepositoryException {
    checkValidId(groupID);
    checkValidPrincipal(principal, true);
    if (intermediatePath != null) {
        intermediatePath = namePathMapper.getOakPath(intermediatePath);
    }
    Tree groupTree = userProvider.createGroup(groupID, intermediatePath);
    setPrincipal(groupTree, principal);
    Group group = new GroupImpl(groupID, groupTree, this);
    onCreate(group);
    log.debug("Group created: " + groupID);
    return group;
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group) Tree(org.apache.jackrabbit.oak.api.Tree)

Example 24 with Group

use of org.apache.jackrabbit.api.security.user.Group in project jackrabbit-oak by apache.

the class DefaultSyncContextTest method testCreateSyncedIdentityEmptyLastSyncedProperty.

@Test
public void testCreateSyncedIdentityEmptyLastSyncedProperty() throws Exception {
    Group gr = createTestGroup();
    gr.setProperty(DefaultSyncContext.REP_LAST_SYNCED, new Value[0]);
    SyncedIdentity si = DefaultSyncContext.createSyncedIdentity(gr);
    assertNotNull(si);
    assertEquals(-1, si.lastSynced());
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group) ExternalGroup(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup) SyncedIdentity(org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity) AbstractExternalAuthTest(org.apache.jackrabbit.oak.spi.security.authentication.external.AbstractExternalAuthTest) Test(org.junit.Test)

Example 25 with Group

use of org.apache.jackrabbit.api.security.user.Group in project jackrabbit-oak by apache.

the class DefaultSyncContextTest method testSyncByIdUsingExceptionId.

@Test(expected = SyncException.class)
public void testSyncByIdUsingExceptionId() throws Exception {
    Group gr = userManager.createGroup(TestIdentityProvider.ID_EXCEPTION);
    setExternalID(gr, idp.getName());
    syncCtx.sync(TestIdentityProvider.ID_EXCEPTION);
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group) ExternalGroup(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup) AbstractExternalAuthTest(org.apache.jackrabbit.oak.spi.security.authentication.external.AbstractExternalAuthTest) Test(org.junit.Test)

Aggregations

Group (org.apache.jackrabbit.api.security.user.Group)391 Test (org.junit.Test)205 Authorizable (org.apache.jackrabbit.api.security.user.Authorizable)119 User (org.apache.jackrabbit.api.security.user.User)119 UserManager (org.apache.jackrabbit.api.security.user.UserManager)87 Principal (java.security.Principal)71 RepositoryException (javax.jcr.RepositoryException)53 AbstractSecurityTest (org.apache.jackrabbit.oak.AbstractSecurityTest)35 ExternalGroup (org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup)33 ArrayList (java.util.ArrayList)31 Session (javax.jcr.Session)29 JackrabbitSession (org.apache.jackrabbit.api.JackrabbitSession)27 EveryonePrincipal (org.apache.jackrabbit.oak.spi.security.principal.EveryonePrincipal)26 AbstractExternalAuthTest (org.apache.jackrabbit.oak.spi.security.authentication.external.AbstractExternalAuthTest)22 PrincipalImpl (org.apache.jackrabbit.oak.spi.security.principal.PrincipalImpl)22 HashSet (java.util.HashSet)21 Privilege (javax.jcr.security.Privilege)21 EveryonePrincipal (org.apache.jackrabbit.core.security.principal.EveryonePrincipal)21 Query (org.apache.jackrabbit.api.security.user.Query)19 TestPrincipal (org.apache.jackrabbit.core.security.TestPrincipal)18