1 package org.xmlBlaster.test.classtest;
2
3 import org.xmlBlaster.util.FileLocator;
4 import org.xmlBlaster.util.Global;
5
6 import junit.framework.*;
7
8 /**
9 * Test util Global.
10 * <p />
11 * All methods starting with 'test' and without arguments are invoked automatically
12 * <p />
13 * java -Dproperty.verbose=1 -Djava.compiler= junit.textui.TestRunner -noloading org.xmlBlaster.test.classtest.GlobalTest
14 * <p />
15 * TODO: http://xmlunit.sourceforge.net/
16 * @see org.xmlBlaster.util.Global
17 */
18 public class GlobalTest extends TestCase {
19 protected Global glob;
20
21 public GlobalTest(String name) {
22 super(name);
23 }
24
25 protected void setUp() {
26 System.out.println("***GlobalTest: setup ...");
27 String[] args = new String[2];
28 args[0] = "-test.xy";
29 args[1] = "true";
30 Global tmp = Global.instance();
31 tmp.init(args);
32 assertEquals("Argument not set", true, tmp.getProperty().get("test.xy", false));
33 }
34
35 public void testInstanceAccess() {
36 System.out.println("***GlobalTest: testInstanceAccess ...");
37 Global glob = Global.instance();
38 assertEquals("Argument is lost", true, glob.getProperty().get("test.xy", false));
39 System.out.println("***GlobalTest: testInstanceAccess [SUCCESS]");
40 }
41
42 public void testClone() {
43 System.out.println("***GlobalTest: testClone ...");
44
45 Global old = Global.instance();
46 assertEquals("Argument not set", true, old.getProperty().get("test.xy", false));
47
48 String[] args = new String[2];
49 args[0] = "-test.clone";
50 args[1] = "true";
51 Global glob = old.getClone(args);
52
53 assertEquals("Argument not set anymore", true, old.getProperty().get("test.xy", false));
54 assertEquals("Second argument should not be in original instance", false, old.getProperty().get("test.clone", false));
55
56 assertEquals("First argument is lost", true, glob.getProperty().get("test.xy", false));
57 assertEquals("Second argument is lost", true, glob.getProperty().get("test.clone", false));
58
59 System.out.println("***GlobalTest: testClone [SUCCESS]");
60 }
61
62 public void testPropertyFile() {
63 System.out.println("***GlobalTest: testPropertyFile ...");
64
65 try {
66 FileLocator.writeFile(System.getProperty("user.home"), "_tmp.properties", "oo=aa\ncluster.node.id=bilbo".getBytes());
67 String path = FileLocator.concatPath(System.getProperty("user.home"), "_tmp.properties");
68 String[] args = { "-propertyFile", path };
69 System.err.println("***GlobalTest: testPropertyFile -propertyFile " + path);
70 Global.instance().init(args);
71 assertEquals("Argument not set", path, Global.instance().getProperty().get("propertyFile", (String)null));
72 assertEquals("Argument not set", "aa", Global.instance().getProperty().get("oo", (String)null));
73 assertEquals("Argument not set", "bilbo", Global.instance().getProperty().get("cluster.node.id", (String)null));
74 assertEquals("Invalid cluster node id", "bilbo", Global.instance().getId());
75
76 org.xmlBlaster.engine.ServerScope eGlobal = new org.xmlBlaster.engine.ServerScope(Global.instance().getProperty().getProperties(), false);
77 assertEquals("Argument not set after creating engine.Global", true, eGlobal.getProperty().get("test.xy", false));
78 assertEquals("Argument not set after creating engine.Global", "aa", eGlobal.getProperty().get("oo", (String)null));
79 assertEquals("Argument not set", "bilbo", eGlobal.getProperty().get("cluster.node.id", (String)null));
80
81 Global bilboGlob = Global.instance().getClone(null);
82 assertEquals("Argument not set", "bilbo", eGlobal.getProperty().get("cluster.node.id", (String)null));
83 assertEquals("Invalid cluster node id", "bilbo", bilboGlob.getId());
84 }
85 catch(Exception e) {
86 fail("property file check failed: " + e.toString());
87 }
88
89 System.out.println("***GlobalTest: testPropertyFile [SUCCESS]");
90 }
91
92 public void testUtilToEngine() {
93 System.out.println("***GlobalTest: testUtilToEngine ...");
94
95 assertEquals("Argument not set", true, Global.instance().getProperty().get("test.xy", false));
96 org.xmlBlaster.engine.ServerScope eGlobal = new org.xmlBlaster.engine.ServerScope(Global.instance().getProperty().getProperties(), false);
97 assertEquals("Argument not set after creating engine.Global", true, eGlobal.getProperty().get("test.xy", false));
98
99 System.out.println("***GlobalTest: testUtilToEngine [SUCCESS]");
100 }
101 }
syntax highlighted by Code2HTML, v. 0.9.1