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 2019/11/01 10:23:28 UTC
svn commit: r1869241 - in
/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external:
./ basic/ impl/ impl/jmx/ impl/principal/
Author: angela
Date: Fri Nov 1 10:23:28 2019
New Revision: 1869241
URL: http://svn.apache.org/viewvc?rev=1869241&view=rev
Log:
OAK-8725 : Improve tests for oak-external-auth (wip)
Added:
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginTestBase.java
- copied, changed from r1869240, jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTestBase.java
Removed:
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTestBase.java
Modified:
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/AbstractExternalAuthTest.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleAutoMembershipTest.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTest.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/PreAuthDefaultExternalLoginModuleTest.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/RepExternalIdTest.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/CustomCredentialsSupportTest.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandlerTest.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModuleFactoryTest.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynMBeanImplOSGiTest.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityValidatorTest.java
Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/AbstractExternalAuthTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/AbstractExternalAuthTest.java?rev=1869241&r1=1869240&r2=1869241&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/AbstractExternalAuthTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/AbstractExternalAuthTest.java Fri Nov 1 10:23:28 2019
@@ -35,6 +35,7 @@ import org.apache.jackrabbit.api.securit
import org.apache.jackrabbit.api.security.user.User;
import org.apache.jackrabbit.api.security.user.UserManager;
import org.apache.jackrabbit.oak.AbstractSecurityTest;
+import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.ContentSession;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Root;
@@ -52,6 +53,8 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
+import static org.junit.Assert.assertEquals;
+
/**
* Abstract base test for external-authentication tests.
*/
@@ -115,6 +118,12 @@ public abstract class AbstractExternalAu
}
}
+ protected static void assertException(@NotNull CommitFailedException e, @NotNull String expectedType, int expectedCode) throws CommitFailedException {
+ assertEquals(expectedType, e.getType());
+ assertEquals(expectedCode, e.getCode());
+ throw e;
+ }
+
private static Iterator<String> getAllAuthorizableIds(@NotNull UserManager userManager) throws Exception {
Iterator<Authorizable> iter = userManager.findAuthorizables("jcr:primaryType", null);
return Iterators.filter(Iterators.transform(iter, new Function<Authorizable, String>() {
Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleAutoMembershipTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleAutoMembershipTest.java?rev=1869241&r1=1869240&r2=1869241&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleAutoMembershipTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleAutoMembershipTest.java Fri Nov 1 10:23:28 2019
@@ -53,7 +53,7 @@ import static org.junit.Assert.assertNot
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
-public class ExternalLoginModuleAutoMembershipTest extends ExternalLoginModuleTestBase {
+public class ExternalLoginModuleAutoMembershipTest extends ExternalLoginTestBase {
private static final String NON_EXISTING_NAME = "nonExisting";
Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTest.java?rev=1869241&r1=1869240&r2=1869241&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTest.java Fri Nov 1 10:23:28 2019
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.spi.security.authentication.external;
+import javax.jcr.RepositoryException;
import javax.jcr.SimpleCredentials;
import javax.security.auth.login.LoginException;
@@ -23,6 +24,7 @@ import org.apache.jackrabbit.api.securit
import org.apache.jackrabbit.api.security.user.UserManager;
import org.apache.jackrabbit.oak.api.ContentSession;
import org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncContext;
+import org.jetbrains.annotations.NotNull;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -36,7 +38,7 @@ import static org.junit.Assert.fail;
/**
* ExternalLoginModuleTest...
*/
-public class ExternalLoginModuleTest extends ExternalLoginModuleTestBase {
+public class ExternalLoginModuleTest extends ExternalLoginTestBase {
@Before
public void before() throws Exception {
@@ -45,18 +47,14 @@ public class ExternalLoginModuleTest ext
@After
public void after() throws Exception {
+ options.clear();
super.after();
}
- @Test
+ @Test(expected = LoginException.class)
public void testLoginFailed() throws Exception {
UserManager userManager = getUserManager(root);
- try {
- ContentSession cs = login(new SimpleCredentials("unknown", new char[0]));
- cs.close();
- fail("login failure expected");
- } catch (LoginException e) {
- // success
+ try (ContentSession cs = login(new SimpleCredentials("unknown", new char[0]))) {
} finally {
assertNull(userManager.getAuthorizable(USER_ID));
}
@@ -65,62 +63,39 @@ public class ExternalLoginModuleTest ext
@Test
public void testSyncCreateUser() throws Exception {
UserManager userManager = getUserManager(root);
- ContentSession cs = null;
- try {
- assertNull(userManager.getAuthorizable(USER_ID));
-
- cs = login(new SimpleCredentials(USER_ID, new char[0]));
+ assertNull(userManager.getAuthorizable(USER_ID));
+ try (ContentSession cs = login(new SimpleCredentials(USER_ID, new char[0]))) {
root.refresh();
-
- Authorizable a = userManager.getAuthorizable(USER_ID);
- assertNotNull(a);
- ExternalUser user = idp.getUser(USER_ID);
- for (String prop : user.getProperties().keySet()) {
- assertTrue(a.hasProperty(prop));
- }
- assertEquals(TEST_CONSTANT_PROPERTY_VALUE, a.getProperty(TEST_CONSTANT_PROPERTY_NAME)[0].getString());
- } finally {
- if (cs != null) {
- cs.close();
- }
- options.clear();
+ assertUser(userManager, idp);
}
}
@Test
public void testSyncCreateUserCaseInsensitive() throws Exception {
UserManager userManager = getUserManager(root);
- ContentSession cs = null;
- try {
- assertNull(userManager.getAuthorizable(USER_ID));
-
- cs = login(new SimpleCredentials(USER_ID.toUpperCase(), new char[0]));
+ assertNull(userManager.getAuthorizable(USER_ID));
+ try (ContentSession cs = login(new SimpleCredentials(USER_ID.toUpperCase(), new char[0]))) {
root.refresh();
+ assertUser(userManager, idp);
+ }
+ }
- Authorizable a = userManager.getAuthorizable(USER_ID);
- assertNotNull(a);
- ExternalUser user = idp.getUser(USER_ID);
- for (String prop : user.getProperties().keySet()) {
- assertTrue(a.hasProperty(prop));
- }
- assertEquals(TEST_CONSTANT_PROPERTY_VALUE, a.getProperty(TEST_CONSTANT_PROPERTY_NAME)[0].getString());
- } finally {
- if (cs != null) {
- cs.close();
- }
- options.clear();
+ private static void assertUser(@NotNull UserManager userManager, @NotNull ExternalIdentityProvider idp) throws Exception {
+ Authorizable a = userManager.getAuthorizable(USER_ID);
+ assertNotNull(a);
+ ExternalUser user = idp.getUser(USER_ID);
+ for (String prop : user.getProperties().keySet()) {
+ assertTrue(a.hasProperty(prop));
}
+ assertEquals(TEST_CONSTANT_PROPERTY_VALUE, a.getProperty(TEST_CONSTANT_PROPERTY_NAME)[0].getString());
}
@Test
public void testSyncCreateGroup() throws Exception {
UserManager userManager = getUserManager(root);
- ContentSession cs = null;
- try {
- cs = login(new SimpleCredentials(USER_ID, new char[0]));
-
+ try (ContentSession cs = login(new SimpleCredentials(USER_ID, new char[0]))) {
root.refresh();
for (String id : new String[]{"a", "b", "c"}) {
assertNotNull(userManager.getAuthorizable(id));
@@ -128,11 +103,6 @@ public class ExternalLoginModuleTest ext
for (String id : new String[]{"aa", "aaa"}) {
assertNull(userManager.getAuthorizable(id));
}
- } finally {
- if (cs != null) {
- cs.close();
- }
- options.clear();
}
}
@@ -140,19 +110,11 @@ public class ExternalLoginModuleTest ext
public void testSyncCreateGroupNesting() throws Exception {
syncConfig.user().setMembershipNestingDepth(2);
UserManager userManager = getUserManager(root);
- ContentSession cs = null;
- try {
- cs = login(new SimpleCredentials(USER_ID, new char[0]));
-
+ try (ContentSession cs = login(new SimpleCredentials(USER_ID, new char[0]))) {
root.refresh();
for (String id : new String[]{"a", "b", "c", "aa", "aaa"}) {
assertNotNull(userManager.getAuthorizable(id));
}
- } finally {
- if (cs != null) {
- cs.close();
- }
- options.clear();
}
}
@@ -165,22 +127,9 @@ public class ExternalLoginModuleTest ext
user.setProperty(DefaultSyncContext.REP_EXTERNAL_ID, getValueFactory().createValue(externalUser.getExternalId().getString()));
root.commit();
- ContentSession cs = null;
- try {
- cs = login(new SimpleCredentials(USER_ID, new char[0]));
-
+ try (ContentSession cs = login(new SimpleCredentials(USER_ID, new char[0]))) {
root.refresh();
-
- Authorizable a = userManager.getAuthorizable(USER_ID);
- assertNotNull(a);
- for (String prop : externalUser.getProperties().keySet()) {
- assertTrue(a.hasProperty(prop));
- }
- } finally {
- if (cs != null) {
- cs.close();
- }
- options.clear();
+ assertUser(userManager, idp);
}
}
Copied: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginTestBase.java (from r1869240, jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTestBase.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginTestBase.java?p2=jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginTestBase.java&p1=jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTestBase.java&r1=1869240&r2=1869241&rev=1869241&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTestBase.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginTestBase.java Fri Nov 1 10:23:28 2019
@@ -37,7 +37,7 @@ import org.junit.Before;
* Abstract base test for external-authentication including proper OSGi service
* registrations required for repository login respecting the {@link ExternalLoginModule}.
*/
-public abstract class ExternalLoginModuleTestBase extends AbstractExternalAuthTest {
+public abstract class ExternalLoginTestBase extends AbstractExternalAuthTest {
private Registration testIdpReg;
private Registration syncHandlerReg;
@@ -48,8 +48,6 @@ public abstract class ExternalLoginModul
protected SyncManager syncManager;
- protected ExternalIdentityProviderManager idpManager;
-
@Before
public void before() throws Exception {
super.before();
@@ -83,7 +81,7 @@ public abstract class ExternalLoginModul
whiteboard = oak.getWhiteboard();
syncManager = new SyncManagerImpl(whiteboard);
whiteboard.register(SyncManager.class, syncManager, Collections.emptyMap());
- idpManager = new ExternalIDPManagerImpl(whiteboard);
+ ExternalIdentityProviderManager idpManager = new ExternalIDPManagerImpl(whiteboard);
whiteboard.register(ExternalIdentityProviderManager.class, idpManager, Collections.emptyMap());
return oak;
Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/PreAuthDefaultExternalLoginModuleTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/PreAuthDefaultExternalLoginModuleTest.java?rev=1869241&r1=1869240&r2=1869241&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/PreAuthDefaultExternalLoginModuleTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/PreAuthDefaultExternalLoginModuleTest.java Fri Nov 1 10:23:28 2019
@@ -16,15 +16,6 @@
*/
package org.apache.jackrabbit.oak.spi.security.authentication.external;
-import java.util.HashMap;
-import java.util.Map;
-import javax.jcr.Credentials;
-import javax.jcr.GuestCredentials;
-import javax.jcr.SimpleCredentials;
-import javax.security.auth.login.AppConfigurationEntry;
-import javax.security.auth.login.Configuration;
-import javax.security.auth.login.LoginException;
-
import org.apache.jackrabbit.api.security.user.User;
import org.apache.jackrabbit.api.security.user.UserManager;
import org.apache.jackrabbit.oak.api.ContentSession;
@@ -36,16 +27,24 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import javax.jcr.Credentials;
+import javax.jcr.GuestCredentials;
+import javax.jcr.SimpleCredentials;
+import javax.security.auth.login.AppConfigurationEntry;
+import javax.security.auth.login.Configuration;
+import javax.security.auth.login.LoginException;
+import java.util.HashMap;
+import java.util.Map;
+
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
/**
* Testing improvements made for <a href="https://issues.apache.org/jira/browse/OAK-3508">OAK-3508</a>
*/
-public class PreAuthDefaultExternalLoginModuleTest extends ExternalLoginModuleTestBase {
+public class PreAuthDefaultExternalLoginModuleTest extends ExternalLoginTestBase {
private Map<String, Object> preAuthOptions = new HashMap<>();
@@ -93,20 +92,12 @@ public class PreAuthDefaultExternalLogin
};
}
- @Test
+ @Test(expected = LoginException.class)
public void testNonExistingUser() throws Exception {
PreAuthCredentials creds = new PreAuthCredentials("nonExisting");
- ContentSession cs = null;
- try {
- cs = login(creds);
- fail();
- } catch (LoginException e) {
- // success
+ try (ContentSession cs = login(creds)){
} finally {
- if (cs != null) {
- cs.close();
- }
assertEquals(PreAuthCredentials.PRE_AUTH_DONE, creds.getMessage());
root.refresh();
@@ -118,38 +109,22 @@ public class PreAuthDefaultExternalLogin
public void testLocalUser() throws Exception {
User testUser = getTestUser();
PreAuthCredentials creds = new PreAuthCredentials(testUser.getID());
-
- ContentSession cs = null;
- try {
- cs = login(creds);
-
+ try (ContentSession cs = login(creds)){
assertEquals(PreAuthCredentials.PRE_AUTH_DONE, creds.getMessage());
assertEquals(testUser.getID(), cs.getAuthInfo().getUserID());
- } finally {
- if (cs != null) {
- cs.close();
- }
}
}
@Test
public void testExternalUser() throws Exception {
PreAuthCredentials creds = new PreAuthCredentials(TestIdentityProvider.ID_TEST_USER);
-
- ContentSession cs = null;
- try {
- cs = login(creds);
-
+ try (ContentSession cs = login(creds)){
assertEquals(PreAuthCredentials.PRE_AUTH_DONE, creds.getMessage());
assertEquals(TestIdentityProvider.ID_TEST_USER, cs.getAuthInfo().getUserID());
// user needs to be synchronized upon login
root.refresh();
assertNotNull(getUserManager(root).getAuthorizable(TestIdentityProvider.ID_TEST_USER));
- } finally {
- if (cs != null) {
- cs.close();
- }
}
}
@@ -162,14 +137,11 @@ public class PreAuthDefaultExternalLogin
long lastSynced = result.getIdentity().lastSynced();
root.commit();
- PreAuthCredentials creds = new PreAuthCredentials(TestIdentityProvider.ID_TEST_USER);
- ContentSession cs = null;
- try {
- // wait until the synced user is expired
- waitUntilExpired(uMgr.getAuthorizable(TestIdentityProvider.ID_TEST_USER, User.class), root, syncConfig.user().getExpirationTime());
-
- cs = login(creds);
+ // wait until the synced user is expired
+ waitUntilExpired(uMgr.getAuthorizable(TestIdentityProvider.ID_TEST_USER, User.class), root, syncConfig.user().getExpirationTime());
+ PreAuthCredentials creds = new PreAuthCredentials(TestIdentityProvider.ID_TEST_USER);
+ try (ContentSession cs = login(creds)){
assertEquals(PreAuthCredentials.PRE_AUTH_DONE, creds.getMessage());
assertEquals(TestIdentityProvider.ID_TEST_USER, cs.getAuthInfo().getUserID());
@@ -178,11 +150,7 @@ public class PreAuthDefaultExternalLogin
assertNotNull(u);
// user _should_ be re-synced
- assertFalse(lastSynced == DefaultSyncContext.createSyncedIdentity(u).lastSynced());
- } finally {
- if (cs != null) {
- cs.close();
- }
+ assertNotEquals(lastSynced, DefaultSyncContext.createSyncedIdentity(u).lastSynced());
}
}
@@ -198,10 +166,7 @@ public class PreAuthDefaultExternalLogin
root.commit();
PreAuthCredentials creds = new PreAuthCredentials(TestIdentityProvider.ID_TEST_USER);
- ContentSession cs = null;
- try {
- cs = login(creds);
-
+ try (ContentSession cs = login(creds)){
assertEquals(PreAuthCredentials.PRE_AUTH_DONE, creds.getMessage());
assertEquals(TestIdentityProvider.ID_TEST_USER, cs.getAuthInfo().getUserID());
@@ -211,10 +176,6 @@ public class PreAuthDefaultExternalLogin
// user _should_ not have been re-synced
assertEquals(lastSynced, DefaultSyncContext.createSyncedIdentity(u).lastSynced());
- } finally {
- if (cs != null) {
- cs.close();
- }
}
}
@@ -230,11 +191,9 @@ public class PreAuthDefaultExternalLogin
root.commit();
PreAuthCredentials creds = new PreAuthCredentials(TestIdentityProvider.ID_TEST_USER);
- ContentSession cs = null;
- try {
- // login should succeed due the fact that the _LoginModuleImpl_ succeeds for
- // an existing authorizable if _pre_auth_ is enabled.
- cs = login(creds);
+ // login should succeed due the fact that the _LoginModuleImpl_ succeeds for
+ // an existing authorizable if _pre_auth_ is enabled.
+ try (ContentSession cs = login(creds)){
assertEquals(PreAuthCredentials.PRE_AUTH_DONE, creds.getMessage());
@@ -244,27 +203,14 @@ public class PreAuthDefaultExternalLogin
assertNotNull(u);
assertEquals(lastSynced, DefaultSyncContext.createSyncedIdentity(u).lastSynced());
- } finally {
- if (cs != null) {
- cs.close();
- }
-
}
}
- @Test
+ @Test(expected = LoginException.class)
public void testInvalidPreAuthCreds() throws Exception {
PreAuthCredentials creds = new PreAuthCredentials(null);
- ContentSession cs = null;
- try {
- cs = login(creds);
- fail();
- } catch (LoginException e) {
- // success
+ try (ContentSession cs = login(creds)){
} finally {
- if (cs != null) {
- cs.close();
- }
assertEquals(PreAuthCredentials.PRE_AUTH_FAIL, creds.getMessage());
root.refresh();
@@ -274,62 +220,32 @@ public class PreAuthDefaultExternalLogin
@Test
public void testGuest() throws Exception {
- ContentSession cs = null;
- try {
- cs = login(new GuestCredentials());
+ try (ContentSession cs = login(new GuestCredentials())){
assertEquals(UserConstants.DEFAULT_ANONYMOUS_ID, cs.getAuthInfo().getUserID());
- } finally {
- if (cs != null) {
- cs.close();
- }
}
}
@Test
public void testSimpleLocal() throws Exception {
User testUser = getTestUser();
- ContentSession cs = null;
- try {
- cs = login(new SimpleCredentials(testUser.getID(), testUser.getID().toCharArray()));
+ try (ContentSession cs = login(new SimpleCredentials(testUser.getID(), testUser.getID().toCharArray()))){
assertEquals(testUser.getID(), cs.getAuthInfo().getUserID());
- } finally {
- if (cs != null) {
- cs.close();
- }
}
}
- @Test
+ @Test(expected = LoginException.class)
public void testSimpleLocalDisabled() throws Exception {
User testUser = getTestUser();
testUser.disable("disable");
root.commit();
- ContentSession cs = null;
- try {
- cs = login(new SimpleCredentials(testUser.getID(), testUser.getID().toCharArray()));
- fail();
- } catch (LoginException e) {
- // success
- } finally {
- if (cs != null) {
- cs.close();
- }
+ try (ContentSession cs = login(new SimpleCredentials(testUser.getID(), testUser.getID().toCharArray()))) {
}
}
- @Test
+ @Test(expected = LoginException.class)
public void testSimpleNonExisting() throws Exception {
- ContentSession cs = null;
- try {
- cs = login(new SimpleCredentials("nonExisting", new char[0]));
- fail();
- } catch (LoginException e) {
- // success
- } finally {
- if (cs != null) {
- cs.close();
- }
+ try (ContentSession cs = login(new SimpleCredentials("nonExisting", new char[0]))) {
}
}
@@ -342,18 +258,12 @@ public class PreAuthDefaultExternalLogin
assertEquals(TestIdentityProvider.ID_TEST_USER, externalUser.getId());
// => repo login must also succeed and the user must be synced.
- ContentSession cs = null;
- try {
- cs = login(creds);
+ try (ContentSession cs = login(creds)) {
assertEquals(TestIdentityProvider.ID_TEST_USER, cs.getAuthInfo().getUserID());
root.refresh();
User u = getUserManager(root).getAuthorizable(TestIdentityProvider.ID_TEST_USER, User.class);
assertNotNull(u);
- } finally {
- if (cs != null) {
- cs.close();
- }
}
}
}
Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/RepExternalIdTest.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/RepExternalIdTest.java?rev=1869241&r1=1869240&r2=1869241&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/RepExternalIdTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/RepExternalIdTest.java Fri Nov 1 10:23:28 2019
@@ -31,6 +31,7 @@ import org.jetbrains.annotations.NotNull
import org.junit.Before;
import org.junit.Test;
+import static org.apache.jackrabbit.oak.api.CommitFailedException.CONSTRAINT;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -95,7 +96,7 @@ public class RepExternalIdTest extends A
assertRepExternalId(res);
}
- @Test
+ @Test(expected = CommitFailedException.class)
public void testUniqueConstraint() throws Exception {
SyncResult res = syncCtx.sync(idp.getUser(USER_ID));
@@ -106,14 +107,13 @@ public class RepExternalIdTest extends A
fail("Duplicate value for rep:externalId must be detected in the default setup.");
} catch (CommitFailedException e) {
// success: verify nature of the exception
- assertTrue(e.isConstraintViolation());
- assertEquals(30, e.getCode());
+ assertException(e, CONSTRAINT, 30);
} finally {
r.refresh();
}
}
- @Test
+ @Test(expected = CommitFailedException.class)
public void testUniqueConstraintSubsequentCommit() throws Exception {
SyncResult res = syncCtx.sync(idp.getUser(USER_ID));
r.commit();
@@ -125,14 +125,13 @@ public class RepExternalIdTest extends A
fail("Duplicate value for rep:externalId must be detected in the default setup.");
} catch (CommitFailedException e) {
// success: verify nature of the exception
- assertTrue(e.isConstraintViolation());
- assertEquals(30, e.getCode());
+ assertException(e, CONSTRAINT, 30);
} finally {
r.refresh();
}
}
- @Test
+ @Test(expected = CommitFailedException.class)
public void testUniqueConstraintNonUserNode() throws Exception {
try {
SyncResult res = syncCtx.sync(idp.getUser(USER_ID));
@@ -143,8 +142,7 @@ public class RepExternalIdTest extends A
fail("Duplicate value for rep:externalId must be detected in the default setup.");
} catch (CommitFailedException e) {
// success: verify nature of the exception
- assertTrue(e.isConstraintViolation());
- assertEquals(30, e.getCode());
+ assertException(e, CONSTRAINT, 30);
} finally {
r.refresh();
}
Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/CustomCredentialsSupportTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/CustomCredentialsSupportTest.java?rev=1869241&r1=1869240&r2=1869241&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/CustomCredentialsSupportTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/CustomCredentialsSupportTest.java Fri Nov 1 10:23:28 2019
@@ -36,7 +36,7 @@ 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.ExternalIdentityProvider;
import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityRef;
-import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalLoginModuleTestBase;
+import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalLoginTestBase;
import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser;
import org.apache.jackrabbit.oak.spi.security.authentication.credentials.CredentialsSupport;
import org.jetbrains.annotations.NotNull;
@@ -51,7 +51,7 @@ import static org.junit.Assert.fail;
* a custom implementation of {@link CredentialsSupport} and an {@link ExternalIdentityProvider}
* that deals with these supported credentials.
*/
-public class CustomCredentialsSupportTest extends ExternalLoginModuleTestBase {
+public class CustomCredentialsSupportTest extends ExternalLoginTestBase {
private static void assertAttributes(@NotNull Map<String, ?> expected, @NotNull AuthInfo info) {
assertEquals(expected.size(), info.getAttributeNames().length);
Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandlerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandlerTest.java?rev=1869241&r1=1869240&r2=1869241&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandlerTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandlerTest.java Fri Nov 1 10:23:28 2019
@@ -31,7 +31,7 @@ import org.apache.jackrabbit.api.securit
import org.apache.jackrabbit.oak.api.Root;
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.ExternalLoginModuleTestBase;
+import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalLoginTestBase;
import org.apache.jackrabbit.oak.spi.security.authentication.external.SyncContext;
import org.apache.jackrabbit.oak.spi.security.authentication.external.SyncHandler;
import org.apache.jackrabbit.oak.spi.security.authentication.external.SyncResult;
@@ -57,7 +57,7 @@ import static org.mockito.Mockito.when;
/**
* DefaultSyncHandlerTest
*/
-public class DefaultSyncHandlerTest extends ExternalLoginModuleTestBase {
+public class DefaultSyncHandlerTest extends ExternalLoginTestBase {
private UserManager userManager;
private DefaultSyncHandler syncHandler;
Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModuleFactoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModuleFactoryTest.java?rev=1869241&r1=1869240&r2=1869241&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModuleFactoryTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModuleFactoryTest.java Fri Nov 1 10:23:28 2019
@@ -26,7 +26,7 @@ import org.apache.jackrabbit.api.securit
import org.apache.jackrabbit.oak.Oak;
import org.apache.jackrabbit.oak.api.ContentSession;
import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityProviderManager;
-import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalLoginModuleTestBase;
+import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalLoginTestBase;
import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser;
import org.apache.jackrabbit.oak.spi.security.authentication.external.SyncManager;
import org.apache.jackrabbit.oak.spi.whiteboard.Registration;
@@ -46,7 +46,7 @@ import static org.junit.Assert.assertSam
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
-public class ExternalLoginModuleFactoryTest extends ExternalLoginModuleTestBase {
+public class ExternalLoginModuleFactoryTest extends ExternalLoginTestBase {
@Override
protected Oak withEditors(Oak oak) {
Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynMBeanImplOSGiTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynMBeanImplOSGiTest.java?rev=1869241&r1=1869240&r2=1869241&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynMBeanImplOSGiTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/jmx/SynMBeanImplOSGiTest.java Fri Nov 1 10:23:28 2019
@@ -25,7 +25,7 @@ import org.apache.jackrabbit.oak.Oak;
import org.apache.jackrabbit.oak.api.ContentRepository;
import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityProviderManager;
-import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalLoginModuleTestBase;
+import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalLoginTestBase;
import org.apache.jackrabbit.oak.spi.security.authentication.external.SyncManager;
import org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIDPManagerImpl;
import org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory;
@@ -36,7 +36,7 @@ import org.junit.Test;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
-public class SynMBeanImplOSGiTest extends ExternalLoginModuleTestBase {
+public class SynMBeanImplOSGiTest extends ExternalLoginTestBase {
private ExternalLoginModuleFactory externalLoginModuleFactory;
Modified: jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityValidatorTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityValidatorTest.java?rev=1869241&r1=1869240&r2=1869241&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityValidatorTest.java (original)
+++ jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityValidatorTest.java Fri Nov 1 10:23:28 2019
@@ -30,7 +30,7 @@ import org.apache.jackrabbit.oak.api.Roo
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.spi.commit.Validator;
-import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalLoginModuleTestBase;
+import org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalLoginTestBase;
import org.apache.jackrabbit.oak.spi.security.authentication.external.TestIdentityProvider;
import org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncConfig;
import org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIdentityConstants;
@@ -49,7 +49,7 @@ import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-public class ExternalIdentityValidatorTest extends ExternalLoginModuleTestBase {
+public class ExternalIdentityValidatorTest extends ExternalLoginTestBase {
String testUserPath;
String externalUserPath;
@@ -82,12 +82,6 @@ public class ExternalIdentityValidatorTe
return true;
}
- static void assertException(@NotNull CommitFailedException e, @NotNull String expectedType, int expectedCode) throws CommitFailedException {
- assertEquals(expectedType, e.getType());
- assertEquals(expectedCode, e.getCode());
- throw e;
- }
-
@Test(expected = CommitFailedException.class)
public void testAddExternalPrincipalNames() throws Exception {
Tree userTree = root.getTree(testUserPath);