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