Author: angela
Date: Tue Apr 26 13:20:51 2016
New Revision: 1741016

URL: http://svn.apache.org/viewvc?rev=1741016&view=rev
Log:
OAK-4226 : Improve testing of DefaultSyncContext (move special identity classes 
to TestIdentityProvider)

Modified:
    
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestIdentityProvider.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/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestIdentityProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestIdentityProvider.java?rev=1741016&r1=1741015&r2=1741016&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestIdentityProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/TestIdentityProvider.java
 Tue Apr 26 13:20:51 2016
@@ -131,19 +131,35 @@ public class TestIdentityProvider implem
         return externalGroups.values().iterator();
     }
 
-    private static class TestIdentity implements ExternalIdentity {
+    public static class TestIdentity implements ExternalIdentity {
 
         private final String userId;
+        private final String principalName;
         private final ExternalIdentityRef id;
 
         private final Set<ExternalIdentityRef> groups = new 
HashSet<ExternalIdentityRef>();
         private final Map<String, Object> props = new HashMap<String, 
Object>();
 
-        private TestIdentity(String userId) {
+        public TestIdentity() {
+            this("externalId", "principalName");
+        }
+
+        public TestIdentity(@Nonnull String userId) {
+            this(userId, userId);
+        }
+
+        public TestIdentity(@Nonnull String userId, @Nonnull String 
principalName) {
             this.userId = userId;
+            this.principalName = principalName;
             id = new ExternalIdentityRef(userId, "test");
         }
 
+        public TestIdentity(@Nonnull ExternalIdentity base) {
+            userId = base.getId();
+            principalName = base.getPrincipalName();
+            id = base.getExternalId();
+        }
+
         @Nonnull
         @Override
         public String getId() {
@@ -153,7 +169,7 @@ public class TestIdentityProvider implem
         @Nonnull
         @Override
         public String getPrincipalName() {
-            return userId;
+            return principalName;
         }
 
         @Nonnull
@@ -216,4 +232,36 @@ public class TestIdentityProvider implem
             return null;
         }
     }
+
+    public static final class ForeignExternalUser extends 
TestIdentityProvider.TestIdentity implements ExternalUser {
+
+        public ForeignExternalUser() {
+            super();
+        }
+
+        @Nonnull
+        @Override
+        public ExternalIdentityRef getExternalId() {
+            return new ExternalIdentityRef(getId(), "AnotherExternalIDP");
+        }
+    }
+
+    public static final class ForeignExternalGroup extends 
TestIdentityProvider.TestIdentity implements ExternalGroup {
+
+        public ForeignExternalGroup() {
+            super();
+        }
+
+        @Nonnull
+        @Override
+        public ExternalIdentityRef getExternalId() {
+            return new ExternalIdentityRef(getId(), "AnotherExternalIDP");
+        }
+
+        @Nonnull
+        @Override
+        public Iterable<ExternalIdentityRef> getDeclaredMembers() {
+            return ImmutableList.of();
+        }
+    }
 }
\ No newline at end of file

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=1741016&r1=1741015&r2=1741016&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
 Tue Apr 26 13:20:51 2016
@@ -27,7 +27,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
-import javax.annotation.CheckForNull;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import javax.jcr.Binary;
@@ -48,7 +47,6 @@ import org.apache.jackrabbit.api.securit
 import 
org.apache.jackrabbit.oak.spi.security.authentication.external.AbstractExternalAuthTest;
 import 
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup;
 import 
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentity;
-import 
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityException;
 import 
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityRef;
 import 
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser;
 import 
org.apache.jackrabbit.oak.spi.security.authentication.external.SyncException;
@@ -280,7 +278,7 @@ public class DefaultSyncContextTest exte
 
     @Test(expected = IllegalArgumentException.class)
     public void testSyncInvalidExternalIdentity() throws Exception {
-        syncCtx.sync(new TestExternalIdentity());
+        syncCtx.sync(new TestIdentityProvider.TestIdentity());
     }
 
     @Test
@@ -318,7 +316,7 @@ public class DefaultSyncContextTest exte
 
     @Test
     public void testSyncForeignExternalUser() throws Exception {
-        ExternalIdentity foreign = new ForeignExternalUser();
+        ExternalIdentity foreign = new 
TestIdentityProvider.ForeignExternalUser();
 
         SyncResult res = syncCtx.sync(foreign);
         assertNotNull(res);
@@ -340,7 +338,7 @@ public class DefaultSyncContextTest exte
 
     @Test
     public void testSyncForeignExternalGroup() throws Exception {
-        ExternalIdentity foreign = new ForeignExternalGroup();
+        ExternalIdentity foreign = new 
TestIdentityProvider.ForeignExternalGroup();
 
         SyncResult res = syncCtx.sync(foreign);
         assertNotNull(res);
@@ -1004,7 +1002,7 @@ public class DefaultSyncContextTest exte
         assertEquals(PropertyType.STRING, v.getType());
         assertEquals("s", v.getString());
 
-        Object o = new ForeignExternalUser();
+        Object o = new TestIdentityProvider.ForeignExternalUser();
         v = syncCtx.createValue(o);
         assertNotNull(v);
         assertEquals(PropertyType.STRING, v.getType());
@@ -1188,90 +1186,12 @@ public class DefaultSyncContextTest exte
         assertFalse(syncCtx.isSameIDP(gr));
     }
 
-    /**
-     * ExternalIdentity implementation that is neither user nor group.
-     */
-    private class TestExternalIdentity implements ExternalIdentity {
-
-        private final String id;
-        private final String principalName;
-
-        private TestExternalIdentity() {
-            this.id = "externalId";
-            this.principalName = "principalName";
-        }
-
-        private TestExternalIdentity(ExternalIdentity base) {
-            this.id = base.getId();
-            this.principalName = base.getPrincipalName();
-        }
-
-        @Nonnull
-        @Override
-        public ExternalIdentityRef getExternalId() {
-            return new ExternalIdentityRef(getId(), idp.getName());
-        }
-
-        @Nonnull
-        @Override
-        public String getId() {
-            return id;
-        }
-
-        @Nonnull
-        @Override
-        public String getPrincipalName() {
-            return principalName;
-        }
-
-        @CheckForNull
-        @Override
-        public String getIntermediatePath() {
-            return null;
-        }
-
-        @Nonnull
-        @Override
-        public Iterable<ExternalIdentityRef> getDeclaredGroups() throws 
ExternalIdentityException {
-            return ImmutableSet.of();
-        }
-
-        @Nonnull
-        @Override
-        public Map<String, ?> getProperties() {
-            return ImmutableMap.of();
-        }
-    }
-
-    private final class ForeignExternalUser extends TestExternalIdentity 
implements ExternalUser {
-
-        @Nonnull
-        @Override
-        public ExternalIdentityRef getExternalId() {
-            return new ExternalIdentityRef(getId(), "AnotherExternalIDP");
-        }
-    }
-
-    private final class ForeignExternalGroup extends TestExternalIdentity 
implements ExternalGroup {
-
-        @Nonnull
-        @Override
-        public ExternalIdentityRef getExternalId() {
-            return new ExternalIdentityRef(getId(), "AnotherExternalIDP");
-        }
-
-        @Nonnull
-        @Override
-        public Iterable<ExternalIdentityRef> getDeclaredMembers() {
-            return ImmutableList.of();
-        }
-    }
-
-    private final class ExternalUserWithDeclaredGroup extends 
TestExternalIdentity implements ExternalUser {
+    private final class ExternalUserWithDeclaredGroup extends 
TestIdentityProvider.TestIdentity implements ExternalUser {
 
         private final ExternalIdentityRef declaredGroupRef;
 
         private ExternalUserWithDeclaredGroup(@Nonnull ExternalIdentityRef 
declaredGroupRef) {
+            super("externalId");
             this.declaredGroupRef = declaredGroupRef;
         }
 
@@ -1287,7 +1207,7 @@ public class DefaultSyncContextTest exte
         }
     }
 
-    private final class ExternalUserFromGroup extends TestExternalIdentity 
implements ExternalUser {
+    private final class ExternalUserFromGroup extends 
TestIdentityProvider.TestIdentity implements ExternalUser {
 
         private ExternalUserFromGroup(@Nonnull ExternalIdentity base) {
             super(base);


Reply via email to