1 package org.jellyfish.implementation; 2 3 import junit.framework.TestCase; 4 5 import org.apache.avalon.framework.configuration.Configuration; 6 import org.apache.avalon.framework.configuration.DefaultConfiguration; 7 import org.jellyfish.config.AttributeMapping; 8 import org.jellyfish.config.Config; 9 import org.jellyfish.config.ObjectMapping; 10 11 public class ConfigurationManagerDefaultTest extends TestCase { 12 private ConfigurationManagerDefault configurationManager; 13 private static final String USER_DN = "cn=${username},ou=jellyfish"; 14 15 public ConfigurationManagerDefaultTest(String arg0) { 16 super(arg0); 17 } 18 19 protected void setUp() throws Exception { 20 configurationManager = new ConfigurationManagerDefault(); 21 configurationManager.configure(createConfiguration()); 22 } 23 24 private Configuration createConfiguration() { 25 DefaultConfiguration configuration = new DefaultConfiguration("configuration-manager"); 26 configuration.addChild(createConfiguration("connection-url", "/tmp/jndi")); 27 configuration.addChild(createConfiguration("base-dn", "ou=jellyfish,dc=jellyfish,dc=org")); 28 configuration.addChild( 29 createConfiguration( 30 "context-factory", 31 "org.jellyfish.provider.FileSystemDirectoryContextFactory")); 32 configuration.addChild(createConfiguration("user-dn", USER_DN)); 33 DefaultConfiguration objectMapping = new DefaultConfiguration("object-mapping"); 34 objectMapping.addChild(createConfiguration("java-name", "org.jellyfish.model.Person")); 35 objectMapping.addChild(createConfiguration("ldap-name", "person")); 36 objectMapping.addChild(createConfiguration("dn", "cn=${firstName},ou=people")); 37 objectMapping.addChild(createAttributeMappingConfiguration("firstName", "cn")); 38 objectMapping.addChild(createAttributeMappingConfiguration("lastName", "sn")); 39 objectMapping.addChild(createAttributeMappingConfiguration("manager", "mgr")); 40 objectMapping.addChild(createAttributeMappingConfiguration("firstName", "cn")); 41 DefaultConfiguration skillsConfiguration = 42 createAttributeMappingConfiguration("skills", "skill"); 43 skillsConfiguration.addChild(createConfiguration("type", "java.util.ArrayList")); 44 objectMapping.addChild(skillsConfiguration); 45 configuration.addChild(objectMapping); 46 return configuration; 47 } 48 49 private DefaultConfiguration createAttributeMappingConfiguration( 50 String javaName, 51 String ldapName) { 52 DefaultConfiguration configuration = new DefaultConfiguration("attribute-mapping"); 53 configuration.addChild(createConfiguration("java-name", javaName)); 54 configuration.addChild(createConfiguration("ldap-name", ldapName)); 55 return configuration; 56 } 57 58 private Configuration createConfiguration(String name, String value) { 59 DefaultConfiguration configuration = new DefaultConfiguration(name); 60 configuration.setValue(value); 61 return configuration; 62 } 63 64 public void testGetConfiguration() { 65 Config config = configurationManager.getConfiguration(); 66 ObjectMapping objectMapping = (ObjectMapping) config.getObjectMappings().get(0); 67 AttributeMapping skillsMapping = null; 68 for (int index = 0; index < objectMapping.getAttributeMappings().size(); index++) { 69 AttributeMapping attributeMapping = 70 (AttributeMapping) objectMapping.getAttributeMappings().get(index); 71 if ("skills".equals(attributeMapping.getJavaName())) { 72 skillsMapping = (AttributeMapping) objectMapping.getAttributeMappings().get(index); 73 } 74 } 75 assertEquals("java.util.ArrayList", skillsMapping.getType()); 76 } 77 78 public void testGetConfigurationWithUserDn() { 79 Config config = configurationManager.getConfiguration(); 80 assertEquals(USER_DN, config.getUserDn()); 81 } 82 }

This page was automatically generated by Maven