Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/ImmutablePrivilegeDefinitionTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/ImmutablePrivilegeDefinitionTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/ImmutablePrivilegeDefinitionTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/ImmutablePrivilegeDefinitionTest.java Tue Nov 24 12:08:05 2020 @@ -28,7 +28,7 @@ import static org.mockito.Mockito.when; public class ImmutablePrivilegeDefinitionTest { - private ImmutablePrivilegeDefinition def = new ImmutablePrivilegeDefinition("name", true, ImmutableList.of("aggrName")); + private final ImmutablePrivilegeDefinition def = new ImmutablePrivilegeDefinition("name", true, ImmutableList.of("aggrName")); @Test public void testGetName() { @@ -82,6 +82,6 @@ public class ImmutablePrivilegeDefinitio public void testToString() { assertEquals(def.toString(), def.toString()); assertEquals(def.toString(), new ImmutablePrivilegeDefinition(def.getName(), def.isAbstract(), def.getDeclaredAggregateNames()).toString()); - assertNotEquals(def.toString(), new ImmutablePrivilegeDefinition(def.getName(), def.isAbstract(), ImmutableList.of())); + assertEquals(def.toString(), new ImmutablePrivilegeDefinition(def.getName(), def.isAbstract(), ImmutableList.of()).toString()); } } \ No newline at end of file
Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeUtilTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeUtilTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeUtilTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeUtilTest.java Tue Nov 24 12:08:05 2020 @@ -16,7 +16,6 @@ */ package org.apache.jackrabbit.oak.spi.security.privilege; -import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import org.apache.jackrabbit.oak.api.Root; Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/AbstractAuthorizableActionTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/AbstractAuthorizableActionTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/AbstractAuthorizableActionTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/AbstractAuthorizableActionTest.java Tue Nov 24 12:08:05 2020 @@ -16,30 +16,52 @@ */ package org.apache.jackrabbit.oak.spi.security.user.action; +import org.apache.jackrabbit.api.security.user.Authorizable; +import org.apache.jackrabbit.api.security.user.Group; +import org.apache.jackrabbit.api.security.user.User; +import org.apache.jackrabbit.oak.api.Root; +import org.apache.jackrabbit.oak.namepath.NamePathMapper; +import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters; +import org.apache.jackrabbit.oak.spi.security.SecurityProvider; import org.junit.Test; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verifyNoInteractions; + public class AbstractAuthorizableActionTest { - private AuthorizableAction action = new AbstractAuthorizableAction() {}; + private final AuthorizableAction action = new AbstractAuthorizableAction() {}; + + private final Root root = mock(Root.class); + private final NamePathMapper namePathMapper = mock(NamePathMapper.class); @Test public void testInit() { - action.init(null, null); + SecurityProvider securityProvider = mock(SecurityProvider.class); + action.init(securityProvider, ConfigurationParameters.EMPTY); + verifyNoInteractions(securityProvider); } @Test public void testOnCreate() throws Exception { - action.onCreate(null, null, null); - action.onCreate(null, null, null, null); + Group gr = mock(Group.class); + action.onCreate(gr, root, namePathMapper); + User user = mock(User.class); + action.onCreate(user, null, root, namePathMapper); + verifyNoInteractions(user, gr, root, namePathMapper); } @Test public void testOnRemove() throws Exception { - action.onRemove(null, null, null); + Authorizable authorizable = mock(Authorizable.class); + action.onRemove(authorizable, root, namePathMapper); + verifyNoInteractions(authorizable, root, namePathMapper); } @Test public void testOnPasswordChange() throws Exception { - action.onPasswordChange(null, null, null, null); + User user = mock(User.class); + action.onPasswordChange(user, null, root, namePathMapper); + verifyNoInteractions(user, root, namePathMapper); } } \ No newline at end of file Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/AbstractGroupActionTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/AbstractGroupActionTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/AbstractGroupActionTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/AbstractGroupActionTest.java Tue Nov 24 12:08:05 2020 @@ -24,6 +24,8 @@ import org.apache.jackrabbit.oak.namepat import org.junit.Test; import org.mockito.Mockito; +import static org.mockito.Mockito.verifyNoInteractions; + public class AbstractGroupActionTest { private final GroupAction groupAction = new AbstractGroupAction() {}; @@ -37,25 +39,30 @@ public class AbstractGroupActionTest { @Test public void testMemberAdded() throws Exception { groupAction.onMemberAdded(group, user, root, namePathMapper); + verifyNoInteractions(group, user, root, namePathMapper); } @Test public void testMemberRemoved() throws Exception { groupAction.onMemberRemoved(group, user, root, namePathMapper); + verifyNoInteractions(group, user, root, namePathMapper); } @Test public void testMembersAdded() throws Exception { groupAction.onMembersAdded(group, ImmutableSet.of("user1", "user2"), ImmutableSet.<String>of(), root, namePathMapper); + verifyNoInteractions(group, user, root, namePathMapper); } @Test public void testMembersAddedContentId() throws Exception { groupAction.onMembersAddedContentId(group, ImmutableSet.of("user1", "user2"), ImmutableSet.<String>of(), root, namePathMapper); + verifyNoInteractions(group, user, root, namePathMapper); } @Test public void testMembersRemoved() throws Exception { groupAction.onMembersRemoved(group, ImmutableSet.of("user1", "user2"), ImmutableSet.<String>of(), root, namePathMapper); + verifyNoInteractions(group, user, root, namePathMapper); } } Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/AccessControlActionTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/AccessControlActionTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/AccessControlActionTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/AccessControlActionTest.java Tue Nov 24 12:08:05 2020 @@ -16,12 +16,6 @@ */ package org.apache.jackrabbit.oak.spi.security.user.action; -import javax.jcr.RepositoryException; -import javax.jcr.security.AccessControlManager; -import javax.jcr.security.AccessControlPolicy; -import javax.jcr.security.AccessControlPolicyIterator; -import javax.jcr.security.Privilege; - import com.google.common.collect.ImmutableList; import org.apache.jackrabbit.api.security.JackrabbitAccessControlList; import org.apache.jackrabbit.api.security.user.Authorizable; @@ -41,13 +35,19 @@ import org.apache.jackrabbit.oak.spi.sec import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.junit.Test; -import org.mockito.Mockito; +import javax.jcr.RepositoryException; +import javax.jcr.security.AccessControlManager; +import javax.jcr.security.AccessControlPolicy; +import javax.jcr.security.Privilege; import java.security.Principal; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; /** @@ -158,6 +158,9 @@ public class AccessControlActionTest imp // throw upon getPrincipal as onCreate for builtin users must not reach that statement User user = mockUser(id, null, null); action.onCreate(user, null, root, NamePathMapper.DEFAULT); + verify(user, times(2)).getID(); + verify(user, never()).getPrincipal(); + verify(user, never()).getPath(); } } @@ -169,6 +172,9 @@ public class AccessControlActionTest imp // the check for built-in user must ignore groups Group gr = mockGroup("adminIdIsUsedByGroup", null, null); action.onCreate(gr, root, NamePathMapper.DEFAULT); + verify(gr).getID(); + verify(gr, never()).getPrincipal(); + verify(gr, never()).getPath(); } @Test @@ -179,7 +185,8 @@ public class AccessControlActionTest imp // throw upon getPrincipal as onCreate without configured privileges call must not reach that statement User user = mockUser("id", null, null); action.onCreate(user, null, root, NamePathMapper.DEFAULT); - } + verify(user).isGroup(); + verifyNoMoreInteractions(user); } @Test public void testOnCreateGroupEmptyPrivs() throws Exception { @@ -189,6 +196,8 @@ public class AccessControlActionTest imp // throw upon getPrincipal as onCreate without configured privileges call must not reach that statement Group gr = mockGroup("id", null, null); action.onCreate(gr, root, NamePathMapper.DEFAULT); + verify(gr).isGroup(); + verifyNoMoreInteractions(gr); } @Test @@ -199,6 +208,9 @@ public class AccessControlActionTest imp // throw upon getPath as onCreate for administrative principal call must not reach that statement User user = mockUser("id", "administrativePrincipal", null); action.onCreate(user, null, root, NamePathMapper.DEFAULT); + verify(user).getID(); + verify(user).getPrincipal(); + verify(user, never()).getPath(); } @Test @@ -209,6 +221,10 @@ public class AccessControlActionTest imp // throw upon getPath as onCreate for administrative principal call must not reach that statement Group gr = mockGroup("id", "administrativePrincipal", null); action.onCreate(gr, root, NamePathMapper.DEFAULT); + verify(gr).isGroup(); + verify(gr).getPrincipal(); + verify(gr, never()).getID(); + verify(gr, never()).getPath(); } @@ -237,7 +253,9 @@ public class AccessControlActionTest imp initSecurityProvider(mockAccessControlManager(false), DEFAULT_ADMIN_ID, DEFAULT_ANONYMOUS_ID); AccessControlAction action = createAction(PrivilegeConstants.JCR_READ); - action.onCreate(mockUser("userId", "pName", "/none"), "pw", root, NamePathMapper.DEFAULT); + User user = mockUser("userId", "pName", "/none"); + action.onCreate(user, "pw", root, NamePathMapper.DEFAULT); + verifyInvokations(user, false); } @Test @@ -245,7 +263,9 @@ public class AccessControlActionTest imp initSecurityProvider(mockAccessControlManager(false), DEFAULT_ADMIN_ID, DEFAULT_ANONYMOUS_ID); AccessControlAction action = createAction(PrivilegeConstants.JCR_READ); - action.onCreate(mockGroup("grId", "pName", "/nonACL"), root, NamePathMapper.DEFAULT); + Group gr = mockGroup("grId", "pName", "/nonACL"); + action.onCreate(gr, root, NamePathMapper.DEFAULT); + verifyInvokations(gr, false); } @Test @@ -253,7 +273,9 @@ public class AccessControlActionTest imp initSecurityProvider(mockAccessControlManager(false), DEFAULT_ADMIN_ID, DEFAULT_ANONYMOUS_ID); AccessControlAction action = createAction(PrivilegeConstants.JCR_READ); - action.onCreate(mockGroup("grId", "pName", "/acl"), root, NamePathMapper.DEFAULT); + Group gr = mockGroup("grId", "pName", "/acl"); + action.onCreate(gr, root, NamePathMapper.DEFAULT); + verifyInvokations(gr, true); } @Test @@ -261,6 +283,14 @@ public class AccessControlActionTest imp initSecurityProvider(mockAccessControlManager(true), DEFAULT_ADMIN_ID, DEFAULT_ANONYMOUS_ID); AccessControlAction action = createAction(PrivilegeConstants.JCR_READ); - action.onCreate(mockUser("userId", "pName", "/acl"), "pw", root, NamePathMapper.DEFAULT); + User user = mockUser("userId", "pName", "/acl"); + action.onCreate(user, "pw", root, NamePathMapper.DEFAULT); + verifyInvokations(user, true); + } + + private static void verifyInvokations(@NotNull Authorizable a, boolean hasApplicable) throws RepositoryException { + verify(a).getPath(); + int cnt = (hasApplicable) ? 2 : 1; + verify(a, times(cnt)).getPrincipal(); } } Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/ClearMembershipActionTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/ClearMembershipActionTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/ClearMembershipActionTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/ClearMembershipActionTest.java Tue Nov 24 12:08:05 2020 @@ -39,6 +39,7 @@ import org.junit.Test; import org.mockito.Mockito; import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.verifyNoInteractions; import static org.mockito.Mockito.when; public class ClearMembershipActionTest { @@ -63,11 +64,13 @@ public class ClearMembershipActionTest { public void testOnRemoveUserNoMembership() throws Exception { when(user.declaredMemberOf()).thenReturn(Collections.emptyIterator()); action.onRemove(user, root, NamePathMapper.DEFAULT); + verifyNoInteractions(root); } @Test public void testOnRemoveGroupNoMembership() throws Exception { action.onRemove(gr, root, NamePathMapper.DEFAULT); + verifyNoInteractions(root); } @Test Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/CompositeActionProviderTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/CompositeActionProviderTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/CompositeActionProviderTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/CompositeActionProviderTest.java Tue Nov 24 12:08:05 2020 @@ -59,7 +59,7 @@ public class CompositeActionProviderTest } - private final class TestAuthorizableActionProvider implements AuthorizableActionProvider { + private static final class TestAuthorizableActionProvider implements AuthorizableActionProvider { @NotNull @Override @@ -69,7 +69,6 @@ public class CompositeActionProviderTest } private static final class TestAction extends AbstractAuthorizableAction { - private static final AuthorizableAction INSTANCE = new TestAction(); } } Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordChangeActionTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordChangeActionTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordChangeActionTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordChangeActionTest.java Tue Nov 24 12:08:05 2020 @@ -16,8 +16,6 @@ */ package org.apache.jackrabbit.oak.spi.security.user.action; -import javax.jcr.nodetype.ConstraintViolationException; - import org.apache.jackrabbit.api.security.user.User; import org.apache.jackrabbit.oak.api.Root; import org.apache.jackrabbit.oak.api.Tree; @@ -32,6 +30,10 @@ import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; +import javax.jcr.nodetype.ConstraintViolationException; + +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; public class PasswordChangeActionTest { @@ -77,14 +79,14 @@ public class PasswordChangeActionTest { @Test public void testPasswordChange() throws Exception { pwChangeAction.onPasswordChange(user, "changedPassword", createRoot("pw"), namePathMapper); + verify(user).getPath(); + verifyNoMoreInteractions(user); } @Test public void testUserWithoutPassword() throws Exception { - try { - pwChangeAction.onPasswordChange(user, "changedPassword", createRoot(null), namePathMapper); - } finally { - user.remove(); - } + pwChangeAction.onPasswordChange(user, "changedPassword", createRoot(null), namePathMapper); + verify(user).getPath(); + verifyNoMoreInteractions(user); } } Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordValidationActionTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordValidationActionTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordValidationActionTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/PasswordValidationActionTest.java Tue Nov 24 12:08:05 2020 @@ -29,11 +29,11 @@ import org.apache.jackrabbit.oak.spi.sec import org.apache.jackrabbit.oak.spi.security.user.util.PasswordUtil; import org.junit.Before; import org.junit.Test; -import org.mockito.Mockito; import static org.junit.Assert.assertNull; import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verifyNoInteractions; public class PasswordValidationActionTest { @@ -55,26 +55,31 @@ public class PasswordValidationActionTes @Test public void testOnCreateNullPw() throws Exception { pwAction.onCreate(user, null, root, namePathMapper); + verifyNoInteractions(user, root, namePathMapper); } @Test(expected = ConstraintViolationException.class) public void testOnCreateInvalidPw() throws Exception { pwAction.onCreate(user, "pw", root, namePathMapper); + verifyNoInteractions(user, root, namePathMapper); } @Test(expected = ConstraintViolationException.class) public void testOnCreateEmptyPw() throws Exception { pwAction.onCreate(user, "", root, namePathMapper); + verifyNoInteractions(user, root, namePathMapper); } @Test public void testOnCreateValidPw() throws Exception { pwAction.onCreate(user, "abCDefGH", root, namePathMapper); + verifyNoInteractions(user, root, namePathMapper); } @Test public void testOnCreateHashedInvalidPw() throws Exception { pwAction.onCreate(user, PasswordUtil.buildPasswordHash("pw1"), root, namePathMapper); + verifyNoInteractions(user, root, namePathMapper); } @Test @@ -108,6 +113,7 @@ public class PasswordValidationActionTes for (String pw : valid) { pwAction.onPasswordChange(user, pw, root, namePathMapper); } + verifyNoInteractions(user, root, namePathMapper); } @Test(expected = ConstraintViolationException.class) @@ -122,6 +128,7 @@ public class PasswordValidationActionTes public void testOnPasswordChangeNullPw() throws Exception { pwAction.init(securityProvider, ConfigurationParameters.of(PasswordValidationAction.CONSTRAINT, "abc")); pwAction.onPasswordChange(user, null, root, namePathMapper); + verifyNoInteractions(user, root, namePathMapper); } @Test @@ -138,5 +145,6 @@ public class PasswordValidationActionTes // no pattern gets evaluated action.onCreate(user, null, root, namePathMapper); action.onPasswordChange(user, "]", root, namePathMapper); + verifyNoInteractions(user, root, namePathMapper); } } Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtilTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtilTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtilTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtilTest.java Tue Nov 24 12:08:05 2020 @@ -32,6 +32,7 @@ import org.junit.Test; import static org.apache.jackrabbit.oak.spi.security.user.util.PasswordUtil.DEFAULT_ALGORITHM; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static org.junit.Assume.assumeFalse; @@ -65,7 +66,7 @@ public class PasswordUtilTest { public void testBuildPasswordHash() throws Exception { for (String pw : plainPasswords) { String pwHash = PasswordUtil.buildPasswordHash(pw); - assertFalse(pw.equals(pwHash)); + assertNotEquals(pw, pwHash); } List<Integer[]> l = new ArrayList<>(); @@ -80,7 +81,7 @@ public class PasswordUtilTest { int iterations = params[1]; String pwHash = PasswordUtil.buildPasswordHash(pw, DEFAULT_ALGORITHM, saltsize, iterations); - assertFalse(pw.equals(pwHash)); + assertNotEquals(pw, pwHash); } } } @@ -161,10 +162,7 @@ public class PasswordUtilTest { @Test public void testIsSame() throws Exception { - for (String pw : hashedPasswords.keySet()) { - String pwHash = hashedPasswords.get(pw); - assertTrue("Not the same " + pw + ", " + pwHash, PasswordUtil.isSame(pwHash, pw)); - } + hashedPasswords.forEach((pw, pwHash) -> assertTrue("Not the same " + pw + ", " + pwHash, PasswordUtil.isSame(pwHash, pw))); String pw = "password"; String pwHash = PasswordUtil.buildPasswordHash(pw, "SHA-1", 4, 50); Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/UserUtilTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/UserUtilTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/UserUtilTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/UserUtilTest.java Tue Nov 24 12:08:05 2020 @@ -16,8 +16,6 @@ */ package org.apache.jackrabbit.oak.spi.security.user.util; -import java.util.List; -import java.util.Map; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import org.apache.jackrabbit.JcrConstants; @@ -36,16 +34,23 @@ import org.apache.jackrabbit.oak.spi.xml import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.junit.Test; -import org.mockito.Mockito; + +import java.util.List; +import java.util.Map; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verifyNoInteractions; import static org.mockito.Mockito.when; public class UserUtilTest { + private final User u = mock(User.class); + private final Group g = mock(Group.class); + @NotNull private static Tree createTree(@Nullable String ntName) { return createTree(ntName, null, null); @@ -58,7 +63,7 @@ public class UserUtilTest { @NotNull private static Tree createTree(@Nullable String ntName, @Nullable String id, @Nullable String nodeName) { - Tree t = Mockito.mock(Tree.class); + Tree t = mock(Tree.class); if (ntName != null) { when(t.getProperty(JcrConstants.JCR_PRIMARYTYPE)).thenReturn(PropertyStates.createProperty(JcrConstants.JCR_PRIMARYTYPE, ntName, Type.NAME)); } @@ -118,9 +123,7 @@ public class UserUtilTest { JcrConstants.NT_FILE, false ); - for (String key : test.keySet()) { - assertEquals(test.get(key), UserUtil.isType(createTree(key), AuthorizableType.GROUP)); - } + test.forEach((key, value) -> assertEquals(value, UserUtil.isType(createTree(key), AuthorizableType.GROUP))); } @Test @@ -133,10 +136,10 @@ public class UserUtilTest { JcrConstants.NT_FILE, false ); - for (String ntName : test.keySet()) { - boolean expected = test.get(ntName); + test.forEach((ntName, value) -> { + boolean expected = value; assertEquals(ntName, expected, UserUtil.isType(createTree(ntName), AuthorizableType.USER)); - } + }); } @Test @@ -149,10 +152,10 @@ public class UserUtilTest { JcrConstants.NT_FILE, false ); - for (String ntName : test.keySet()) { - boolean expected = test.get(ntName); + test.forEach((ntName, value) -> { + boolean expected = value; assertEquals(ntName, expected, UserUtil.isType(createTree(ntName), AuthorizableType.AUTHORIZABLE)); - } + }); } @Test @@ -163,10 +166,7 @@ public class UserUtilTest { UserConstants.NT_REP_SYSTEM_USER, AuthorizableType.USER ); - for (String ntName : test.keySet()) { - AuthorizableType expected = test.get(ntName); - assertEquals(ntName, expected, UserUtil.getType(createTree(ntName))); - } + test.forEach((ntName, expected) -> assertEquals(ntName, expected, UserUtil.getType(createTree(ntName)))); } @Test @@ -216,10 +216,10 @@ public class UserUtilTest { JcrConstants.NT_FILE, false ); - for (String ntName : test.keySet()) { - boolean expected = test.get(ntName); + test.forEach((ntName, value) -> { + boolean expected = value; assertEquals(ntName, expected, UserUtil.isSystemUser(createTree(ntName))); - } + }); } @Test @@ -282,11 +282,11 @@ public class UserUtilTest { put(AuthorizableType.AUTHORIZABLE, new String[] {UserConstants.NT_REP_USER, UserConstants.NT_REP_SYSTEM_USER, UserConstants.NT_REP_GROUP}). put(AuthorizableType.GROUP, new String[] {UserConstants.NT_REP_GROUP}).build(); - for (AuthorizableType type : test.keySet()) { - for (String ntName : test.get(type)) { - assertEquals("id", UserUtil.getAuthorizableId(createTree(ntName, "id"), type)); + test.forEach((key, value) -> { + for (String ntName : value) { + assertEquals("id", UserUtil.getAuthorizableId(createTree(ntName, "id"), key)); } - } + }); } @Test @@ -296,11 +296,11 @@ public class UserUtilTest { put(AuthorizableType.AUTHORIZABLE, new String[]{UserConstants.NT_REP_USER, UserConstants.NT_REP_SYSTEM_USER, UserConstants.NT_REP_GROUP}). put(AuthorizableType.GROUP, new String[]{UserConstants.NT_REP_GROUP}).build(); - for (AuthorizableType type : test.keySet()) { - for (String ntName : test.get(type)) { - assertEquals("nodeName", UserUtil.getAuthorizableId(createTree(ntName, null, "nodeName"), type)); + test.forEach((key, value) -> { + for (String ntName : value) { + assertEquals("nodeName", UserUtil.getAuthorizableId(createTree(ntName, null, "nodeName"), key)); } - } + }); } @Test(expected=IllegalArgumentException.class) @@ -332,47 +332,51 @@ public class UserUtilTest { @Test(expected = AuthorizableTypeException.class) public void testCastNullClass() throws Exception { - UserUtil.castAuthorizable(Mockito.mock(User.class), null); + UserUtil.castAuthorizable(u, null); } @Test(expected = AuthorizableTypeException.class) public void testCastUserToGroup() throws Exception { - UserUtil.castAuthorizable(Mockito.mock(User.class), Group.class); + UserUtil.castAuthorizable(u, Group.class); } @Test(expected = AuthorizableTypeException.class) public void testCastGroupToUser() throws Exception { - UserUtil.castAuthorizable(Mockito.mock(Group.class), User.class); + UserUtil.castAuthorizable(g, User.class); } @Test(expected = AuthorizableTypeException.class) public void testCastAuthorizableToUser() throws Exception { - UserUtil.castAuthorizable(Mockito.mock(Authorizable.class), User.class); + UserUtil.castAuthorizable(mock(Authorizable.class), User.class); } @Test(expected = AuthorizableTypeException.class) public void testCastAuthorizableToGroup() throws Exception { - UserUtil.castAuthorizable(Mockito.mock(Authorizable.class), Group.class); + UserUtil.castAuthorizable(mock(Authorizable.class), Group.class); } @Test public void testCastUserToUser() throws Exception { - UserUtil.castAuthorizable(Mockito.mock(User.class), User.class); + UserUtil.castAuthorizable(u, User.class); + verifyNoInteractions(u); } @Test public void testCastUserToAuthorizable() throws Exception { - UserUtil.castAuthorizable(Mockito.mock(User.class), Authorizable.class); + UserUtil.castAuthorizable(u, Authorizable.class); + verifyNoInteractions(u); } @Test public void testCastGroupToGroup() throws Exception { - UserUtil.castAuthorizable(Mockito.mock(Group.class), Group.class); + UserUtil.castAuthorizable(g, Group.class); + verifyNoInteractions(g); } @Test public void testCastGroupToAuthorizable() throws Exception { - UserUtil.castAuthorizable(Mockito.mock(Group.class), Authorizable.class); + UserUtil.castAuthorizable(g, Authorizable.class); + verifyNoInteractions(g); } @Test @@ -384,8 +388,6 @@ public class UserUtilTest { ConfigurationParameters.of(ProtectedItemImporter.PARAM_IMPORT_BEHAVIOR, ImportBehavior.NAME_BESTEFFORT), ImportBehavior.BESTEFFORT ); - for (Map.Entry<ConfigurationParameters, Integer> entry : testMap.entrySet()) { - assertEquals(entry.getValue().intValue(), UserUtil.getImportBehavior(entry.getKey())); - } + testMap.forEach((key, value) -> assertEquals(value.intValue(), UserUtil.getImportBehavior(key))); } } Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/NodeInfoTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/NodeInfoTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/NodeInfoTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/NodeInfoTest.java Tue Nov 24 12:08:05 2020 @@ -24,7 +24,7 @@ import static org.junit.Assert.assertFal public class NodeInfoTest { - private NodeInfo nodeInfo = new NodeInfo("name", "primaryType", ImmutableList.of("mixin1", "mixin2"), "uuid"); + private final NodeInfo nodeInfo = new NodeInfo("name", "primaryType", ImmutableList.of("mixin1", "mixin2"), "uuid"); @Test public void testGetName() { Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/PropInfoTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/PropInfoTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/PropInfoTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/PropInfoTest.java Tue Nov 24 12:08:05 2020 @@ -16,26 +16,27 @@ */ package org.apache.jackrabbit.oak.spi.xml; -import java.util.List; -import javax.jcr.PropertyType; -import javax.jcr.RepositoryException; -import javax.jcr.Value; -import javax.jcr.nodetype.PropertyDefinition; - -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import org.apache.jackrabbit.oak.api.PropertyState; import org.apache.jackrabbit.oak.api.Type; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import org.junit.Test; import org.mockito.Mockito; +import javax.jcr.PropertyType; +import javax.jcr.RepositoryException; +import javax.jcr.Value; +import javax.jcr.nodetype.PropertyDefinition; +import java.util.List; + +import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class PropInfoTest { @@ -81,8 +82,10 @@ public class PropInfoTest { @Test public void testDisposeMultiple() throws Exception { - PropInfo propInfo = new PropInfo("string", PropertyType.STRING, ImmutableList.of(mockTextValue("value", PropertyType.STRING, false))); + TextValue tv = mockTextValue("value", PropertyType.STRING, false); + PropInfo propInfo = new PropInfo("string", PropertyType.STRING, ImmutableList.of(tv)); propInfo.dispose(); + verify(tv, times(1)).dispose(); } @Test @@ -289,9 +292,9 @@ public class PropInfoTest { public void testMultipleStatus() { assertEquals(PropInfo.MultipleStatus.UNKNOWN, PropInfo.MultipleStatus.valueOf("UNKNOWN")); assertEquals(PropInfo.MultipleStatus.MULTIPLE, PropInfo.MultipleStatus.valueOf("MULTIPLE")); - assertEquals(new PropInfo.MultipleStatus[]{ + assertArrayEquals(new PropInfo.MultipleStatus[]{ PropInfo.MultipleStatus.UNKNOWN, PropInfo.MultipleStatus.MULTIPLE}, PropInfo.MultipleStatus.values()); } - private class DisposeException extends RuntimeException {} + private static class DisposeException extends RuntimeException {} } Modified: jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/ReferenceChangeTrackerTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/ReferenceChangeTrackerTest.java?rev=1883784&r1=1883783&r2=1883784&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/ReferenceChangeTrackerTest.java (original) +++ jackrabbit/oak/trunk/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/xml/ReferenceChangeTrackerTest.java Tue Nov 24 12:08:05 2020 @@ -27,7 +27,7 @@ import static org.junit.Assert.assertTru public class ReferenceChangeTrackerTest { - private ReferenceChangeTracker rct = new ReferenceChangeTracker(); + private final ReferenceChangeTracker rct = new ReferenceChangeTracker(); @Test public void testGet() {
