@ -102,6 +102,31 @@ public class ProviderManagerTests {
@@ -102,6 +102,31 @@ public class ProviderManagerTests {
new ProviderManager ( ( AuthenticationProvider ) null ) ;
}
@Test ( expected = IllegalArgumentException . class )
public void testStartupFailsIfProvidersContainNullElement ( ) {
new ProviderManager ( Arrays . asList ( mock ( AuthenticationProvider . class ) , null ) ) ;
}
@Test
public void testUsingNullNotPermittedList ( ) {
// imitated Java9 List.of(e) object, which disallows null elements and
// throws NPE when contains(null) called
List < AuthenticationProvider > providers = new ArrayList < AuthenticationProvider > ( ) {
private static final long serialVersionUID = 1L ;
@Override
public boolean contains ( Object o ) {
if ( o = = null ) {
throw new NullPointerException ( ) ;
}
return super . contains ( o ) ;
}
} ;
providers . add ( mock ( AuthenticationProvider . class ) ) ;
new ProviderManager ( providers ) ;
}
@Test
public void detailsAreNotSetOnAuthenticationTokenIfAlreadySetByProvider ( ) {
Object requestDetails = "(Request Details)" ;