@ -20,6 +20,8 @@ import junit.framework.TestCase;
@@ -20,6 +20,8 @@ import junit.framework.TestCase;
import javax.naming.directory.BasicAttributes ;
import javax.naming.directory.BasicAttribute ;
import org.acegisecurity.GrantedAuthorityImpl ;
/ * *
* Tests { @link LdapUserDetailsMapper } .
*
@ -64,4 +66,17 @@ public class LdapUserDetailsMapperTests extends TestCase {
@@ -64,4 +66,17 @@ public class LdapUserDetailsMapperTests extends TestCase {
assertEquals ( 1 , user . getGrantedAuthorities ( ) . length ) ;
assertEquals ( "ROLE_X" , user . getGrantedAuthorities ( ) [ 0 ] . getAuthority ( ) ) ;
}
public void testNonStringRoleAttributeIsIgnoredByDefault ( ) throws Exception {
LdapUserDetailsMapper mapper = new LdapUserDetailsMapper ( ) ;
mapper . setRoleAttributes ( new String [ ] { "userRole" } ) ;
BasicAttributes attrs = new BasicAttributes ( ) ;
attrs . put ( new BasicAttribute ( "userRole" , new GrantedAuthorityImpl ( "X" ) ) ) ;
LdapUserDetailsImpl . Essence user = ( LdapUserDetailsImpl . Essence ) mapper . mapAttributes ( "cn=someName" , attrs ) ;
assertEquals ( 0 , user . getGrantedAuthorities ( ) . length ) ;
}
}