private UserInfo createLdapUserInfoUid(Properties properties) { properties.setProperty(LDAPUserInfoImpl.NAME_ATTR_ID, "uid"); return new LDAPUserInfoImpl(properties); }
public static UserInfo getUserInfo() { UserInfo userInfo = new DefaultUserInfo(true); if ("ldap".equalsIgnoreCase(USER_INFO_IMPL)) { userInfo = new LDAPUserInfoImpl(true); } else if ("db".equalsIgnoreCase(USER_INFO_IMPL)) { userInfo = new DBUserInfoImpl(true); } else if ("props".equalsIgnoreCase(USER_INFO_IMPL)) { userInfo = new PropertyUserInfoImpl(true); } else if ("custom".equalsIgnoreCase(USER_INFO_IMPL)) { try { userInfo = (UserInfo) Class.forName(CUSTOM_USER_INFO_IMPL).newInstance(); } catch (Exception e) { throw new RuntimeException("Unable to create instance of custom user info impl", e); } } return userInfo; } }
private UserInfo createLdapUserInfoCn(Properties properties) { properties.setProperty(LDAPUserInfoImpl.NAME_ATTR_ID, "cn"); return new LDAPUserInfoImpl(properties); }
private void testGetEntityForEmail(String email, String expected, boolean useDN) { Properties properties = createUserInfoProperties(); if (useDN) { properties.setProperty(LDAPUserInfoImpl.IS_ENTITY_ID_DN, "true"); } UserInfo ldapUserInfo = new LDAPUserInfoImpl(properties); Assertions.assertThat(ldapUserInfo.getEntityForEmail(email)).isEqualTo(expected); }
private void testHasEmail(Group group, boolean hasEmail, boolean customAttribute) { Properties properties = createUserInfoProperties(); if (customAttribute) { properties.setProperty(LDAPUserInfoImpl.EMAIL_ATTR_ID, "email"); } if (group.getId().startsWith("cn=")) { properties.setProperty(LDAPUserInfoImpl.IS_ENTITY_ID_DN, "true"); } UserInfo ldapUserInfo = new LDAPUserInfoImpl(properties); Assertions.assertThat(ldapUserInfo.hasEmail(group)).isEqualTo(hasEmail); }
private void testGetEmailForEntity(OrganizationalEntity entity, String email, boolean customAttribute) { Properties properties = createUserInfoProperties(); if (customAttribute) { properties.setProperty(LDAPUserInfoImpl.EMAIL_ATTR_ID, "email"); } if (entity.getId().startsWith("uid=") || entity.getId().startsWith("cn=")) { properties.setProperty(LDAPUserInfoImpl.IS_ENTITY_ID_DN, "true"); } UserInfo ldapUserInfo = new LDAPUserInfoImpl(properties); Assertions.assertThat(ldapUserInfo.getEmailForEntity(entity)).isEqualTo(email); }
private void testGetLanguageForEntity(OrganizationalEntity entity, String language, boolean customAttribute) { Properties properties = createUserInfoProperties(); if (customAttribute) { properties.setProperty(LDAPUserInfoImpl.LANG_ATTR_ID, "language"); } if (entity.getId().startsWith("uid=") || entity.getId().startsWith("cn=")) { properties.setProperty(LDAPUserInfoImpl.IS_ENTITY_ID_DN, "true"); } UserInfo ldapUserInfo = new LDAPUserInfoImpl(properties); Assertions.assertThat(ldapUserInfo.getLanguageForEntity(entity)).isEqualTo(language); }
private void testGetDisplayName(OrganizationalEntity entity, String expectedName, boolean customAttribute) { Properties properties = createUserInfoProperties(); if (customAttribute) { properties.setProperty(LDAPUserInfoImpl.NAME_ATTR_ID, "name"); } if (entity.getId().startsWith("uid=") || entity.getId().startsWith("cn=")) { properties.setProperty(LDAPUserInfoImpl.IS_ENTITY_ID_DN, "true"); } UserInfo ldapUserInfo = new LDAPUserInfoImpl(properties); String name = ldapUserInfo.getDisplayName(entity); Assertions.assertThat(name).isNotNull(); Assertions.assertThat(name).isEqualTo(expectedName); }
private void testGetMembersForGroup(boolean emptyGroup, boolean customAttribute, boolean distinguishedName) { Properties properties = createUserInfoProperties(); if (customAttribute) { properties.setProperty(LDAPUserInfoImpl.MEMBER_ATTR_ID, "representative"); } if (distinguishedName) { properties.setProperty(LDAPUserInfoImpl.IS_ENTITY_ID_DN, "true"); } UserInfo ldapUserInfo = new LDAPUserInfoImpl(properties); Group group; if (distinguishedName) { group = emptyGroup ? USER_DN : MANAGER_DN; } else { group = emptyGroup ? USER : MANAGER; } Iterator<OrganizationalEntity> iterator = ldapUserInfo.getMembersForGroup(group); if (emptyGroup) { Assertions.assertThat(iterator.hasNext()).isFalse(); return; } Assertions.assertThat(iterator.hasNext()).isTrue(); User user = (User) iterator.next(); if (customAttribute) { Assertions.assertThat(user.getId()).isEqualTo(MARY_DN.getId()); } else { Assertions.assertThat(user.getId()).isEqualTo(JOHN_DN.getId()); } Assertions.assertThat(iterator.hasNext()).isFalse(); }
public static UserInfo getUserInfo() { UserInfo userInfo = new DefaultUserInfo(true); if ("ldap".equalsIgnoreCase(USER_INFO_IMPL)) { userInfo = new LDAPUserInfoImpl(true); } else if ("db".equalsIgnoreCase(USER_INFO_IMPL)) { userInfo = new DBUserInfoImpl(true); } else if ("props".equalsIgnoreCase(USER_INFO_IMPL)) { userInfo = new PropertyUserInfoImpl(true); } else if ("custom".equalsIgnoreCase(USER_INFO_IMPL)) { try { userInfo = (UserInfo) Class.forName(CUSTOM_USER_INFO_IMPL).newInstance(); } catch (Exception e) { throw new RuntimeException("Unable to create instance of custom user info impl", e); } } return userInfo; } }