@SuppressWarnings( "rawtypes" )
@Test
public void testGetSupportedPerformers() throws AuthenticationConsumptionException, AuthenticationFactoryException {
manager.registerConsumerClass( DelegatingNoAuthConsumer.class );
manager.registerConsumerClass( DelegatingUsernamePasswordConsumer.class );
manager.registerConsumerClass( DelegatingKerberosConsumer.class );
UsernamePasswordAuthenticationProvider usernamePasswordAuthenticationProvider =
new UsernamePasswordAuthenticationProvider( "upass", "u", "pass" );
manager.registerAuthenticationProvider( usernamePasswordAuthenticationProvider );
KerberosAuthenticationProvider kerberosAuthenticationProvider =
new KerberosAuthenticationProvider( "kerb", "kerb", true, "pass", true, "none" );
manager.registerAuthenticationProvider( kerberosAuthenticationProvider );
List<AuthenticationPerformer<Object, AuthenticationConsumer>> performers =
manager.getSupportedAuthenticationPerformers( Object.class, AuthenticationConsumer.class );
assertEquals( 3, performers.size() );
Set<String> ids =
new HashSet<String>( Arrays.asList( NoAuthenticationAuthenticationProvider.NO_AUTH_ID,
usernamePasswordAuthenticationProvider.getId(), kerberosAuthenticationProvider.getId() ) );
for ( AuthenticationPerformer<Object, AuthenticationConsumer> performer : performers ) {
ids.remove( performer.getAuthenticationProvider().getId() );
}
assertEquals( 0, ids.size() );
}