1 package org.apache.stratum.component;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 import junit.framework.TestCase;
21
22 import org.apache.commons.configuration.Configuration;
23 import org.apache.commons.configuration.ConfigurationException;
24 import org.apache.commons.configuration.PropertiesConfiguration;
25 import org.apache.log4j.Category;
26
27 /***
28 * TODO: DOCUMENT ME!
29 *
30 * @author $author$
31 * @version $Id: TestComponentLoader.java 264191 2005-08-29 18:07:52Z henning $
32 */
33 public class TestComponentLoader
34 extends TestCase
35 {
36 /*** TODO: DOCUMENT ME! */
37 private static Category log = Category.getInstance(TestComponentLoader.class);
38
39 /*** TODO: DOCUMENT ME! */
40 private static String CONFIG = "src/test-conf/ComponentLoader.properties";
41
42 /*** TODO: DOCUMENT ME! */
43 private static Configuration config;
44
45 static
46 {
47 try
48 {
49 config = new PropertiesConfiguration(CONFIG);
50 }
51 catch (ConfigurationException ce)
52 {
53 log.error("unable to configure ComponentLoader from '" + CONFIG + "'.");
54 }
55 }
56
57 /*** TODO: DOCUMENT ME! */
58 private ComponentLoader cl = new ComponentLoader(config);
59
60 /***
61 * Creates a new TestComponentLoader object.
62 *
63 * @param name TODO: DOCUMENT ME!
64 */
65 public TestComponentLoader(String name)
66 {
67 super(name);
68 }
69
70 /***
71 * TODO: DOCUMENT ME!
72 */
73 public void testConstructor()
74 {
75 ComponentLoader loader = new ComponentLoader(config);
76 Configuration loaderConfig = loader.getConfiguration();
77 assertNotNull(loaderConfig);
78 assertEquals("org.apache.stratum.component.MockComponent", loaderConfig.getString("component.testing.classname"));
79 }
80
81 /***
82 * TODO: DOCUMENT ME!
83 */
84 public void testLoadComponent()
85 {
86 String goodClassName = "org.apache.stratum.component.MockComponent";
87 String goodConfigFile = "src/test-conf/TestComponentLoader.properties";
88 String badClassName = "org.apache.stratum.component.MissingMockComponent";
89 String badConfigFile = "src/test-conf/MissingTestComponentLoader.properties";
90
91
92 MockComponent comp = (MockComponent) cl.loadComponent(goodClassName, goodConfigFile, null);
93
94
95 cl.loadComponent(badClassName, goodConfigFile, null);
96
97
98 cl.loadComponent(goodClassName, badConfigFile, null);
99 }
100
101 /***
102 * TODO: DOCUMENT ME!
103 */
104 public void testLoad()
105 {
106 assertNotNull(cl);
107
108 Object [] comps = cl.load();
109
110 int key1FinderCount = 0;
111
112 for (int i = 0; i < comps.length; i++)
113 {
114 if (comps[i] instanceof MockComponent)
115 {
116 MockComponent mc = (MockComponent) comps[i];
117 Configuration config = mc.getConfiguration();
118
119 if (config.getProperty("key1") != null)
120 {
121 assertEquals("ensure key2 is present and correct", "value2", config.getProperty("key2"));
122 key1FinderCount++;
123 }
124 }
125 }
126
127 assertEquals("should only find key1 once", key1FinderCount, 1);
128 }
129 }