You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2016/04/21 19:03:15 UTC

svn commit: r1740360 - in /jackrabbit/oak/trunk/oak-auth-external/src: main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/ test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/

Author: angela
Date: Thu Apr 21 17:03:15 2016
New Revision: 1740360

URL: http://svn.apache.org/viewvc?rev=1740360&view=rev
Log:
OAK-4267 : SyncedIdentity for foreign authorizable always has isGroup set to false
+ minor improvements

Modified:
    jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java
    jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java

Modified: jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java?rev=1740360&r1=1740359&r2=1740360&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java Thu Apr 21 17:03:15 2016
@@ -282,9 +282,9 @@ public class DefaultSyncContext implemen
                 return new DefaultSyncResultImpl(new DefaultSyncedIdentity(id, null, false, -1), SyncResult.Status.NO_SUCH_AUTHORIZABLE);
             }
             // check if we need to deal with this authorizable
-            ExternalIdentityRef ref = DefaultSyncContext.getIdentityRef(auth);
+            ExternalIdentityRef ref = getIdentityRef(auth);
             if (ref == null || !isSameIDP(ref)) {
-                return new DefaultSyncResultImpl(new DefaultSyncedIdentity(id, ref, false, -1), SyncResult.Status.FOREIGN);
+                return new DefaultSyncResultImpl(new DefaultSyncedIdentity(id, ref, auth.isGroup(), -1), SyncResult.Status.FOREIGN);
             }
 
             if (auth.isGroup()) {
@@ -320,7 +320,7 @@ public class DefaultSyncContext implemen
     private DefaultSyncResultImpl handleMissingIdentity(@Nonnull String id,
                                                         @Nonnull Authorizable authorizable,
                                                         @Nonnull DebugTimer timer) throws RepositoryException {
-        DefaultSyncedIdentity syncId = DefaultSyncContext.createSyncedIdentity(authorizable);
+        DefaultSyncedIdentity syncId = createSyncedIdentity(authorizable);
         SyncResult.Status status;
         if (authorizable.isGroup() && ((Group) authorizable).getDeclaredMembers().hasNext()) {
             log.info("won't remove local group with members: {}", id);
@@ -561,7 +561,7 @@ public class DefaultSyncContext implemen
      * @param groups set of groups.
      */
     protected void applyMembership(@Nonnull Authorizable member, @Nonnull Set<String> groups) throws RepositoryException {
-        for (String groupName: groups) {
+        for (String groupName : groups) {
             Authorizable group = userManager.getAuthorizable(groupName);
             if (group == null) {
                 log.warn("Unable to apply auto-membership to {}. No such group: {}", member.getID(), groupName);
@@ -716,7 +716,7 @@ public class DefaultSyncContext implemen
      * @return {@code true} if same IDP.
      */
     protected boolean isSameIDP(@Nullable Authorizable auth) throws RepositoryException {
-        ExternalIdentityRef ref = DefaultSyncContext.getIdentityRef(auth);
+        ExternalIdentityRef ref = getIdentityRef(auth);
         return ref != null && idp.getName().equals(ref.getProviderName());
     }
 

Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java?rev=1740360&r1=1740359&r2=1740360&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContextTest.java Thu Apr 21 17:03:15 2016
@@ -459,13 +459,25 @@ public class DefaultSyncContextTest exte
     }
 
     @Test
-    public void testSyncByForeignId() throws Exception {
+    public void testSyncByForeignUserId() throws Exception {
         SyncResult result = syncCtx.sync(getTestUser().getID());
 
         assertEquals(SyncResult.Status.FOREIGN, result.getStatus());
         SyncedIdentity si = result.getIdentity();
         assertNotNull(si);
         assertNull(si.getExternalIdRef());
+        assertFalse(si.isGroup());
+    }
+
+    @Test
+    public void testSyncByForeignGroupId() throws Exception {
+        SyncResult result = syncCtx.sync(createTestGroup().getID());
+
+        assertEquals(SyncResult.Status.FOREIGN, result.getStatus());
+        SyncedIdentity si = result.getIdentity();
+        assertNotNull(si);
+        assertNull(si.getExternalIdRef());
+        assertTrue(si.isGroup());
     }
 
     @Test