12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package org.acegisecurity.config;
- import junit.framework.TestCase;
- import org.acegisecurity.ldap.InitialDirContextFactory;
- import org.acegisecurity.providers.ldap.LdapAuthenticationProvider;
- import org.acegisecurity.providers.ldap.authenticator.BindAuthenticator;
- import org.springframework.beans.PropertyValue;
- import org.springframework.beans.PropertyValues;
- import org.springframework.beans.factory.config.BeanDefinition;
- import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
- import org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder;
- import org.springframework.beans.factory.support.ManagedList;
- import org.springframework.beans.factory.support.RootBeanDefinition;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- /**
- * @author Vishal Puri
- *
- */
- public class LdapAuthenticationProviderBeanDefinitionParserTests extends TestCase {
- public void testBeanDefinitionCreation() {
- ApplicationContext context = new ClassPathXmlApplicationContext("org/acegisecurity/config/ldap-config.xml");
- ConfigurableListableBeanFactory bf = (ConfigurableListableBeanFactory) context.getAutowireCapableBeanFactory();
- BeanDefinition def = (RootBeanDefinition) bf.getBeanDefinition("authenticationManager");
- assertNotNull(def);
- PropertyValues values = def.getPropertyValues();
- PropertyValue value = values.getPropertyValue("providers");
- assertNotNull(value);
- ManagedList list = (ManagedList) value.getValue();
- assertEquals(1, list.size());
- RootBeanDefinition definition = (RootBeanDefinition) list.get(0);
- assertEquals(LdapAuthenticationProvider.class, definition.getBeanClass());
- assertEquals(2, definition.getConstructorArgumentValues().getArgumentCount());
- ValueHolder holder = definition.getConstructorArgumentValues().getArgumentValue(0, BindAuthenticator.class);
- assertNotNull(holder.getConvertedValue() instanceof BindAuthenticator);
- RootBeanDefinition authenticatorDefinition = (RootBeanDefinition) holder.getValue();
- assertEquals(1, authenticatorDefinition.getConstructorArgumentValues().getArgumentCount());
- RootBeanDefinition initialContextDir = (RootBeanDefinition) authenticatorDefinition
- .getConstructorArgumentValues().getArgumentValue(0, InitialDirContextFactory.class).getValue();
- assertEquals("cn=manager,dc=acegisecurity,dc=org", initialContextDir.getPropertyValues().getPropertyValue(
- "managerDn").getValue());
- assertEquals("ldap://monkeymachine:389/dc=acegisecurity,dc=org", initialContextDir.getConstructorArgumentValues()
- .getArgumentValue(0, String.class).getValue());
- }
- }
|