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();