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