1 changed files with 56 additions and 0 deletions
@ -0,0 +1,56 @@
@@ -0,0 +1,56 @@
|
||||
/** |
||||
* |
||||
*/ |
||||
package org.acegisecurity.config; |
||||
|
||||
import java.lang.reflect.Field; |
||||
import java.util.Map; |
||||
|
||||
import junit.framework.TestCase; |
||||
|
||||
import org.acegisecurity.AuthenticationManager; |
||||
import org.acegisecurity.ui.rememberme.RememberMeProcessingFilter; |
||||
import org.acegisecurity.ui.rememberme.RememberMeServices; |
||||
import org.acegisecurity.ui.rememberme.TokenBasedRememberMeServices; |
||||
import org.acegisecurity.userdetails.UserDetailsService; |
||||
import org.springframework.beans.PropertyValue; |
||||
import org.springframework.beans.factory.config.BeanDefinition; |
||||
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; |
||||
import org.springframework.beans.factory.support.RootBeanDefinition; |
||||
import org.springframework.context.ApplicationContext; |
||||
import org.springframework.context.support.ClassPathXmlApplicationContext; |
||||
import org.springframework.util.ReflectionUtils; |
||||
|
||||
/** |
||||
* @author Vishal Puri |
||||
* |
||||
*/ |
||||
public class RememberMeServicesBeanDefinitionParserTests extends TestCase { |
||||
|
||||
public void testFilterConfiguration() { |
||||
ApplicationContext context = new ClassPathXmlApplicationContext("org/acegisecurity/config/remember-me-defaults.xml"); |
||||
ConfigurableListableBeanFactory bf = (ConfigurableListableBeanFactory)context.getAutowireCapableBeanFactory(); |
||||
String[] names = bf.getBeanNamesForType(RememberMeProcessingFilter.class); |
||||
assertEquals(1, names.length); |
||||
RootBeanDefinition definition = (RootBeanDefinition)bf.getBeanDefinition(names[0]); |
||||
assertEquals(definition.getBeanClass(), RememberMeProcessingFilter.class); |
||||
} |
||||
|
||||
public void testRuntimeAutoDetectionOfDependencies() throws Exception { |
||||
ApplicationContext context = new ClassPathXmlApplicationContext("org/acegisecurity/config/remember-me-autodetect.xml"); |
||||
ConfigurableListableBeanFactory factory = (ConfigurableListableBeanFactory) context.getAutowireCapableBeanFactory(); |
||||
Map map = factory.getBeansOfType(RememberMeProcessingFilter.class); |
||||
RememberMeProcessingFilter filter = (RememberMeProcessingFilter)map.values().iterator().next(); |
||||
RememberMeServices services = filter.getRememberMeServices(); |
||||
assertNotNull(services); |
||||
TokenBasedRememberMeServices rememberMeServices = (TokenBasedRememberMeServices)services; |
||||
UserDetailsService ud = rememberMeServices.getUserDetailsService(); |
||||
assertNotNull(ud); |
||||
Field field = filter.getClass().getDeclaredField("authenticationManager"); |
||||
ReflectionUtils.makeAccessible(field); |
||||
Object obj = field.get(filter); |
||||
assertNotNull("authentication manager should not have been null", obj); |
||||
assertTrue(obj instanceof AuthenticationManager); |
||||
} |
||||
|
||||
} |
||||
Loading…
Reference in new issue