Author: baedke
Date: Tue Nov  8 14:33:56 2016
New Revision: 1768701

URL: http://svn.apache.org/viewvc?rev=1768701&view=rev
Log:
OAK-4820: oak-auth-external can't handle full-width logins

Added tests, removed todos.

Modified:
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AddMembersByIdBestEffortTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipProviderTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserProviderTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AddMembersByIdBestEffortTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AddMembersByIdBestEffortTest.java?rev=1768701&r1=1768700&r2=1768701&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AddMembersByIdBestEffortTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AddMembersByIdBestEffortTest.java
 Tue Nov  8 14:33:56 2016
@@ -126,7 +126,6 @@ public class AddMembersByIdBestEffortTes
 
     @Test
     public void testAddByContentID() throws Exception {
-        //TODO
         Set<String> failed = 
testGroup.addMembers(AuthorizableBaseProvider.getContentID(getTestUser().getID(),
 false));
         assertTrue(failed.isEmpty());
 

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipProviderTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipProviderTest.java?rev=1768701&r1=1768700&r2=1768701&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipProviderTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipProviderTest.java
 Tue Nov  8 14:33:56 2016
@@ -518,7 +518,6 @@ public class MembershipProviderTest exte
 
         // 4. remove members from the initial set => ref nodes as before, 
rep:members prop on group modified
         memberIds.clear();
-        //TODO
         memberIds.put(MembershipProvider.getContentID("member1", false), 
"member1");
         memberIds.put(MembershipProvider.getContentID("member2", false), 
"member2");
         mp.removeMembers(groupTree, Maps.newHashMap(memberIds));

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserProviderTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserProviderTest.java?rev=1768701&r1=1768700&r2=1768701&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserProviderTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserProviderTest.java
 Tue Nov  8 14:33:56 2016
@@ -95,6 +95,12 @@ public class UserProviderTest {
         return new UserProvider(root, ConfigurationParameters.of(options));
     }
 
+    private UserProvider createUserProviderRFC7612() {
+        Map<String, Object> options = new HashMap<String, 
Object>(customOptions);
+        
options.put(UserConstants.PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE, true);
+        return new UserProvider(root, ConfigurationParameters.of(options));
+    }
+
     @Test
     public void testCreateUser() throws Exception {
         UserProvider up = createUserProvider();
@@ -218,6 +224,40 @@ public class UserProviderTest {
         }
     }
 
+    @Test
+    public void testCreateUserRFC7613Disabled() throws Exception {
+        String userHalfWidth = "Amalia";
+        String userFullWidth = "\uff21\uff4d\uff41\uff4c\uff49\uff41";
+
+        UserProvider userProvider = createUserProvider();
+
+        Tree userTreeHalfWidth = userProvider.createUser(userHalfWidth, null);
+        Tree userTreeFullWidth = userProvider.createUser(userFullWidth, null);
+
+        root.commit();
+
+        assertEquals(userHalfWidth, 
UserUtil.getAuthorizableId(userTreeHalfWidth));
+        assertEquals(userFullWidth, 
UserUtil.getAuthorizableId(userTreeFullWidth));
+    }
+
+    @Test
+    public void testCreateUserRFC7613Enabled() throws Exception {
+        String userHalfWidth = "Amalia";
+        String userFullWidth = "\uff21\uff4d\uff41\uff4c\uff49\uff41";
+
+        UserProvider userProvider = createUserProviderRFC7612();
+
+        userProvider.createUser(userHalfWidth, null);
+
+        try {
+            userProvider.createUser(userFullWidth, null);
+            root.commit();
+            fail("userID collision must be detected");
+        } catch (CommitFailedException e) {
+            // success
+        }
+    }
+
     @Test
     public void testIllegalChars() throws Exception {
         UserProvider userProvider = createUserProvider();

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java?rev=1768701&r1=1768700&r2=1768701&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java
 Tue Nov  8 14:33:56 2016
@@ -287,7 +287,6 @@ public class UserValidatorTest extends A
                 }
                 Tree userTree = parent.addChild("testUser");
                 userTree.setProperty(JcrConstants.JCR_PRIMARYTYPE, 
NT_REP_USER, Type.NAME);
-                //TODO
                 userTree.setProperty(JcrConstants.JCR_UUID, 
UserProvider.getContentID("testUser", false));
                 userTree.setProperty(REP_PRINCIPAL_NAME, "testUser");
                 root.commit();


Reply via email to