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 2017/03/03 11:07:24 UTC

svn commit: r1785267 - /jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtilTest.java

Author: angela
Date: Fri Mar  3 11:07:24 2017
New Revision: 1785267

URL: http://svn.apache.org/viewvc?rev=1785267&view=rev
Log:
OAK-5793 : Improve coverage for spi.security code in oak-core (wip)

Modified:
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtilTest.java

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtilTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtilTest.java?rev=1785267&r1=1785266&r2=1785267&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtilTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtilTest.java Fri Mar  3 11:07:24 2017
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.google.common.collect.ImmutableList;
+import org.apache.jackrabbit.util.Text;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -99,6 +100,24 @@ public class PasswordUtilTest {
     }
 
     @Test
+    public void testBuildPasswordHashNoIterations() throws Exception {
+        String hash = PasswordUtil.buildPasswordHash("pw", PasswordUtil.DEFAULT_ALGORITHM, PasswordUtil.DEFAULT_SALT_SIZE, 1);
+        assertTrue(PasswordUtil.isSame(hash, "pw"));
+    }
+
+    @Test
+    public void testBuildPasswordHashNoSalt() throws Exception {
+        String hash = PasswordUtil.buildPasswordHash("pw", PasswordUtil.DEFAULT_ALGORITHM, 0, PasswordUtil.DEFAULT_ITERATIONS);
+        assertTrue(PasswordUtil.isSame(hash, "pw"));
+    }
+
+    @Test
+    public void testBuildPasswordHashNoSaltNoIterations() throws Exception {
+        String jr2Hash = "{"+PasswordUtil.DEFAULT_ALGORITHM+"}" + Text.digest(PasswordUtil.DEFAULT_ALGORITHM, "pw".getBytes("utf-8"));
+        assertTrue(PasswordUtil.isSame(jr2Hash, "pw"));
+    }
+
+    @Test
     public void testIsPlainTextPassword() throws Exception {
         for (String pw : plainPasswords) {
             assertTrue(pw + " should be plain text.", PasswordUtil.isPlainTextPassword(pw));
@@ -148,6 +167,14 @@ public class PasswordUtilTest {
             previous = pw;
         }
     }
+
+    @Test
+    public void testIsSameNoSuchAlgorithmException() throws Exception {
+        String hash = PasswordUtil.buildPasswordHash("pw");
+        String invalid = "{invalidAlgorithm}" + hash.substring(hash.indexOf('}')+1);
+
+        assertFalse(PasswordUtil.isSame(invalid, "pw"));
+    }
     
     @Test
     public void testPBKDF2WithHmacSHA1() throws Exception {