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 2021/05/18 09:14:20 UTC

svn commit: r1889994 - in /jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap: ./ impl/

Author: angela
Date: Tue May 18 09:14:20 2021
New Revision: 1889994

URL: http://svn.apache.org/viewvc?rev=1889994&view=rev
Log:
OAK-9439 : improvements to tests in oak-auth-ldap

Modified:
    jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapLoginTestBase.java
    jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/AbstractLdapIdentityProviderTest.java
    jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapGroupTest.java
    jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderOsgiTest.java
    jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderTest.java
    jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderUseSSLTest.java
    jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LookupOnValidateTest.java
    jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/UnboundLookupConnectionValidatorTest.java
    jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/UseUidForExtIdTest.java

Modified: jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapLoginTestBase.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapLoginTestBase.java?rev=1889994&r1=1889993&r2=1889994&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapLoginTestBase.java (original)
+++ jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapLoginTestBase.java Tue May 18 09:14:20 2021
@@ -71,9 +71,9 @@ public abstract class LdapLoginTestBase
 
     protected static String GROUP_DN;
 
-    protected static int NUM_CONCURRENT_LOGINS = 10;
-    private static String[] CONCURRENT_TEST_USERS = new String[NUM_CONCURRENT_LOGINS];
-    private static String[] CONCURRENT_GROUP_TEST_USERS = new String[NUM_CONCURRENT_LOGINS];
+    protected static final int NUM_CONCURRENT_LOGINS = 10;
+    private static final String[] CONCURRENT_TEST_USERS = new String[NUM_CONCURRENT_LOGINS];
+    private static final String[] CONCURRENT_GROUP_TEST_USERS = new String[NUM_CONCURRENT_LOGINS];
 
     protected UserManager userManager;
 
@@ -351,26 +351,24 @@ public abstract class LdapLoginTestBase
 
     @Test
     public void testConcurrentLogin() throws Exception {
-        concurrentLogin(CONCURRENT_TEST_USERS);
+        assertConcurrentLogin(CONCURRENT_TEST_USERS);
     }
 
     @Test
     public void testConcurrentLoginSameGroup() throws Exception {
-        concurrentLogin(CONCURRENT_GROUP_TEST_USERS);
+        assertConcurrentLogin(CONCURRENT_GROUP_TEST_USERS);
     }
 
-    private void concurrentLogin(String [] users) throws Exception {
+    private void assertConcurrentLogin(String [] users) throws Exception {
         final List<Exception> exceptions = new ArrayList<Exception>();
         List<Thread> workers = new ArrayList<Thread>();
         for (String userId: users) {
             final String uid = userId;
-            workers.add(new Thread(new Runnable() {
-                public void run() {
-                    try {
-                        login(new SimpleCredentials(uid, USER_PWD.toCharArray())).close();
-                    } catch (Exception e) {
-                        exceptions.add(e);
-                    }
+            workers.add(new Thread(() -> {
+                try {
+                    login(new SimpleCredentials(uid, USER_PWD.toCharArray())).close();
+                } catch (Exception e) {
+                    exceptions.add(e);
                 }
             }));
         }

Modified: jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/AbstractLdapIdentityProviderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/AbstractLdapIdentityProviderTest.java?rev=1889994&r1=1889993&r2=1889994&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/AbstractLdapIdentityProviderTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/AbstractLdapIdentityProviderTest.java Tue May 18 09:14:20 2021
@@ -22,6 +22,7 @@ import org.apache.jackrabbit.oak.securit
 import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityRef;
 import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser;
 import org.apache.jackrabbit.util.Text;
+import org.jetbrains.annotations.NotNull;
 import org.junit.After;
 import org.junit.Before;
 
@@ -97,17 +98,20 @@ public abstract class AbstractLdapIdenti
         }
     }
 
+    @NotNull
     protected LdapIdentityProvider createIDP() {
         //The attribute "mail" is excluded deliberately
         return createIDP(DEFAULT_USER_PROPERTIES);
     }
 
-    protected LdapIdentityProvider createIDP(String[] userProperties) {
+    @NotNull
+    protected LdapIdentityProvider createIDP(@NotNull String[] userProperties) {
         providerConfig = createProviderConfig(userProperties);
         return new LdapIdentityProvider(providerConfig);
     }
 
-    protected LdapProviderConfig createProviderConfig(String[] userProperties) {
+    @NotNull
+    protected LdapProviderConfig createProviderConfig(@NotNull String[] userProperties) {
         LdapProviderConfig providerConfig = new LdapProviderConfig()
                 .setName(IDP_NAME)
                 .setHostname("127.0.0.1")
@@ -129,25 +133,18 @@ public abstract class AbstractLdapIdenti
         return providerConfig;
     }
 
-    public static void authenticateInternal(LdapIdentityProvider idp, String id) throws Exception {
-        SimpleCredentials creds = new SimpleCredentials(TEST_USER1_UID, "pass".toCharArray());
-        ExternalUser user = idp.authenticate(creds);
-        assertNotNull("User 1 must authenticate", user);
-        assertEquals("User Ref", TEST_USER1_DN, ((LdapUser)user).getEntry().getDn().getName());
-        assertEquals("User Ref", id, user.getExternalId().getId());
+    public static void assertAuthenticate(@NotNull LdapIdentityProvider idp, @NotNull String id, @NotNull String expectedId, @NotNull String expectedUserRef) throws Exception {
+        assertAuthenticate(idp, new SimpleCredentials(id, "pass".toCharArray()), expectedId, expectedUserRef);
     }
 
-    public static void authenticateValidateInternal(LdapIdentityProvider idp, String id) throws Exception {
-        SimpleCredentials creds = new SimpleCredentials(TEST_USER1_UID, "pass".toCharArray());
-        for (int i=0; i<8; i++) {
-            ExternalUser user = idp.authenticate(creds);
-            assertNotNull("User 1 must authenticate (i=" + i + ")", user);
-            assertEquals("User Ref", TEST_USER1_DN, ((LdapUser)user).getEntry().getDn().getName());
-            assertEquals("User Ref", id, user.getExternalId().getId());
-        }
+    public static void assertAuthenticate(@NotNull LdapIdentityProvider idp, @NotNull SimpleCredentials credentials, @NotNull String expectedId, @NotNull String expectedUserRef) throws Exception {
+        ExternalUser user = idp.authenticate(credentials);
+        assertNotNull("User 1 must authenticate", user);
+        assertEquals("User Ref", expectedUserRef, ((LdapUser)user).getEntry().getDn().getName());
+        assertEquals("User Id", expectedId, user.getExternalId().getId());
     }
 
-    public static void assertIfEquals(String message, String[] expected, Iterable<ExternalIdentityRef> result) {
+    public static void assertIfEquals(@NotNull String message, @NotNull String[] expected, @NotNull Iterable<ExternalIdentityRef> result) {
         List<String> dns = new LinkedList<>();
         for (ExternalIdentityRef ref: result) {
             dns.add(ref.getId());

Modified: jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapGroupTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapGroupTest.java?rev=1889994&r1=1889993&r2=1889994&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapGroupTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapGroupTest.java Tue May 18 09:14:20 2021
@@ -30,7 +30,6 @@ import static org.junit.Assert.assertEqu
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.mockito.Mockito.withSettings;
 
 public class LdapGroupTest extends LdapIdentityTest {
 

Modified: jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderOsgiTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderOsgiTest.java?rev=1889994&r1=1889993&r2=1889994&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderOsgiTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderOsgiTest.java Tue May 18 09:14:20 2021
@@ -35,7 +35,7 @@ public class LdapIdentityProviderOsgiTes
     @Rule
     public final OsgiContext context = new OsgiContext();
 
-    private LdapIdentityProvider provider = new LdapIdentityProvider();
+    private final LdapIdentityProvider provider = new LdapIdentityProvider();
 
     @Before
     public void before() throws Exception {

Modified: jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderTest.java?rev=1889994&r1=1889993&r2=1889994&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderTest.java Tue May 18 09:14:20 2021
@@ -17,7 +17,6 @@
 
 package org.apache.jackrabbit.oak.security.authentication.ldap.impl;
 
-import com.google.common.base.Function;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Iterators;
@@ -38,11 +37,12 @@ import java.util.Map;
 import java.util.Set;
 
 import static org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapProviderConfig.PARAM_USER_EXTRA_FILTER_DEFAULT;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
@@ -93,7 +93,7 @@ public class LdapIdentityProviderTest ex
             ExternalUser user = users.next();
             // the 'Faulty Entry' of the ERRONEOUS_LDIF should be filtered out
             // (by LdapIdentityProvider.listUsers.getNext())
-            assertTrue(!user.getPrincipalName().startsWith("cn=Faulty Entry"));
+            assertFalse(user.getPrincipalName().startsWith("cn=Faulty Entry"));
         }
     }
 
@@ -124,16 +124,13 @@ public class LdapIdentityProviderTest ex
 
     @Test
     public void testAuthenticate() throws Exception {
-        authenticateInternal(idp, TEST_USER1_DN);
+        assertAuthenticate(idp, TEST_USER1_UID, TEST_USER1_DN, TEST_USER1_DN);
     }
 
     @Test
     public void testAuthenticateCaseInsensitive() throws Exception {
         SimpleCredentials creds = new SimpleCredentials(TEST_USER1_UID.toUpperCase(), "pass".toCharArray());
-        ExternalUser user = idp.authenticate(creds);
-        assertNotNull("User 1 must authenticate", user);
-        assertEquals("User Ref", TEST_USER1_DN, ((LdapUser)user).getEntry().getDn().getName());
-        assertEquals("User Ref", TEST_USER1_DN, user.getExternalId().getId());
+        assertAuthenticate(idp, creds, TEST_USER1_DN, TEST_USER1_DN);
     }
 
     @Test

Modified: jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderUseSSLTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderUseSSLTest.java?rev=1889994&r1=1889993&r2=1889994&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderUseSSLTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProviderUseSSLTest.java Tue May 18 09:14:20 2021
@@ -64,7 +64,7 @@ public class LdapIdentityProviderUseSSLT
 
     @Test
     public void testAuthenticate() throws Exception {
-        authenticateInternal(idp, TEST_USER1_DN);
+        assertAuthenticate(idp, TEST_USER1_UID, TEST_USER1_DN, TEST_USER1_DN);
     }
 
     @Test

Modified: jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LookupOnValidateTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LookupOnValidateTest.java?rev=1889994&r1=1889993&r2=1889994&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LookupOnValidateTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LookupOnValidateTest.java Tue May 18 09:14:20 2021
@@ -17,13 +17,12 @@
 package org.apache.jackrabbit.oak.security.authentication.ldap.impl;
 
 import com.google.common.collect.Lists;
-import org.apache.jackrabbit.oak.security.user.MembershipWriter;
+import org.jetbrains.annotations.NotNull;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
+import javax.jcr.SimpleCredentials;
 import java.util.Collection;
 
 @RunWith(Parameterized.class)
@@ -61,7 +60,8 @@ public class LookupOnValidateTest extend
     }
 
     @Override
-    protected LdapProviderConfig createProviderConfig(String[] userProperties) {
+    @NotNull
+    protected LdapProviderConfig createProviderConfig(@NotNull String[] userProperties) {
         LdapProviderConfig config = super.createProviderConfig(userProperties);
         config.getAdminPoolConfig()
                 .setMaxActive(2)
@@ -75,6 +75,6 @@ public class LookupOnValidateTest extend
 
     @Test
     public void testAuthenticateValidate() throws Exception {
-        authenticateValidateInternal(idp, expectedId);
+        assertAuthenticate(idp, new SimpleCredentials(TEST_USER1_UID, "pass".toCharArray()), expectedId, TEST_USER1_DN);
     }
 }
\ No newline at end of file

Modified: jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/UnboundLookupConnectionValidatorTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/UnboundLookupConnectionValidatorTest.java?rev=1889994&r1=1889993&r2=1889994&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/UnboundLookupConnectionValidatorTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/UnboundLookupConnectionValidatorTest.java Tue May 18 09:14:20 2021
@@ -31,7 +31,7 @@ import static org.mockito.Mockito.when;
 
 public class UnboundLookupConnectionValidatorTest {
 
-    private UnboundLookupConnectionValidator validator = new UnboundLookupConnectionValidator();
+    private final UnboundLookupConnectionValidator validator = new UnboundLookupConnectionValidator();
 
     @Test
     public void testValidateThrowsException() throws Exception {

Modified: jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/UseUidForExtIdTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/UseUidForExtIdTest.java?rev=1889994&r1=1889993&r2=1889994&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/UseUidForExtIdTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/UseUidForExtIdTest.java Tue May 18 09:14:20 2021
@@ -21,20 +21,20 @@ import org.apache.jackrabbit.oak.spi.sec
 import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentity;
 import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityRef;
 import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser;
-import org.junit.Assert;
+import org.jetbrains.annotations.NotNull;
 import org.junit.Test;
 
 import javax.jcr.SimpleCredentials;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 public class UseUidForExtIdTest extends AbstractLdapIdentityProviderTest {
 
     @Override
-    protected LdapProviderConfig createProviderConfig(String[] userProperties) {
+    @NotNull
+    protected LdapProviderConfig createProviderConfig(@NotNull String[] userProperties) {
         LdapProviderConfig config = super.createProviderConfig(userProperties);
         config.setUseUidForExtId(true);
         return config;
@@ -50,16 +50,13 @@ public class UseUidForExtIdTest extends
 
     @Test
     public void testAuthenticate() throws Exception {
-        authenticateInternal(idp, TEST_USER1_UID);
+        assertAuthenticate(idp, TEST_USER1_UID, TEST_USER1_UID, TEST_USER1_DN);
     }
 
     @Test
     public void testAuthenticateCaseInsensitive() throws Exception {
         SimpleCredentials creds = new SimpleCredentials(TEST_USER1_UID.toUpperCase(), "pass".toCharArray());
-        ExternalUser user = idp.authenticate(creds);
-        assertNotNull("User 1 must authenticate", user);
-        Assert.assertEquals("User Ref", TEST_USER1_DN, ((LdapUser)user).getEntry().getDn().getName());
-        assertEquals("User Ref", TEST_USER1_UID.toUpperCase(), user.getExternalId().getId());
+        assertAuthenticate(idp, creds, TEST_USER1_UID.toUpperCase(), TEST_USER1_DN);
     }
 
     @Test