diff --git a/core/src/test/java/org/springframework/security/config/AuthenticationProviderBeanDefinitionParserTests.java b/core/src/test/java/org/springframework/security/config/AuthenticationProviderBeanDefinitionParserTests.java index 7a6b1c7629..ea2e475abb 100644 --- a/core/src/test/java/org/springframework/security/config/AuthenticationProviderBeanDefinitionParserTests.java +++ b/core/src/test/java/org/springframework/security/config/AuthenticationProviderBeanDefinitionParserTests.java @@ -3,47 +3,100 @@ package org.springframework.security.config; import org.springframework.security.providers.ProviderManager; import org.springframework.security.providers.UsernamePasswordAuthenticationToken; import org.springframework.security.providers.AuthenticationProvider; -import org.springframework.context.support.ClassPathXmlApplicationContext; -import org.springframework.beans.BeansException; +import org.springframework.security.util.InMemoryXmlApplicationContext; +import org.springframework.context.support.AbstractXmlApplicationContext; -import org.junit.BeforeClass; -import org.junit.AfterClass; import org.junit.Test; +import org.junit.After; import java.util.List; /** + * Tests for {@link AuthenticationProviderBeanDefinitionParser}. + * * @author Luke Taylor * @version $Id$ */ public class AuthenticationProviderBeanDefinitionParserTests { - private static ClassPathXmlApplicationContext appContext; - - @BeforeClass - public static void loadContext() { - try { - appContext = new ClassPathXmlApplicationContext("org/springframework/security/config/auth-provider.xml"); - } catch (BeansException e) { - e.printStackTrace(); - } - } + private AbstractXmlApplicationContext appContext; + private UsernamePasswordAuthenticationToken bob = new UsernamePasswordAuthenticationToken("bob", "bobspassword"); - @AfterClass - public static void closeAppContext() { + @After + public void closeAppContext() { if (appContext != null) { appContext.close(); } } @Test - public void configuredProvidersAllAuthenticateUser() { + public void worksWithEmbeddedUserService() { + setContext(" " + + " " + + " " + + " " + + " "); + getProvider().authenticate(bob); + } + + @Test + public void externalUserServiceRefWorks() throws Exception { + setContext(" " + + " " + + " " + + " "); + getProvider().authenticate(bob); + } + + @Test + public void providerWithMd5PasswordEncoderWorks() throws Exception { + setContext(" " + + " " + + " " + + " " + + " " + + " "); + + getProvider().authenticate(bob); + } + + @Test + public void providerWithShaPasswordEncoderWorks() throws Exception { + setContext(" " + + " " + + " " + + " " + + " " + + " "); + + getProvider().authenticate(bob); + } + + @Test + public void externalUserServiceAndPasswordEncoderWork() throws Exception { + setContext(" " + + " " + + " " + + " " + + " " + + + " " + + + " " + + " " + + " "); + getProvider().authenticate(bob); + } + + private AuthenticationProvider getProvider() { List providers = ((ProviderManager)appContext.getBean(BeanIds.AUTHENTICATION_MANAGER)).getProviders(); - UsernamePasswordAuthenticationToken bob = new UsernamePasswordAuthenticationToken("bob", "bobspassword"); + return providers.get(0); + } - for (AuthenticationProvider provider : providers) { - provider.authenticate(bob); - } + private void setContext(String context) { + appContext = new InMemoryXmlApplicationContext(context); } } diff --git a/core/src/test/resources/org/springframework/security/config/auth-provider.xml b/core/src/test/resources/org/springframework/security/config/auth-provider.xml deleted file mode 100644 index 393068609c..0000000000 --- a/core/src/test/resources/org/springframework/security/config/auth-provider.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file