import java.util.Properties; import com.c2kernel.process.AbstractMain; import com.c2kernel.process.resource.BadArgumentsException; import com.c2kernel.utils.Logger; public class LauncherTest { String[] args; Properties props; public LauncherTest() { } private void standardArgs() { args = new String[8]; args[0] = "-logLevel"; args[1] = "0"; args[2] = "-logFile"; args[3] = "log.txt"; args[4] = "-config"; args[5] = LauncherTest.class.getResource("server.conf").getPath(); args[6] = "-connect"; args[7] = LauncherTest.class.getResource("test.clc").getPath(); } public void testValidC2KArgs() throws Exception { standardArgs(); Logger.msg("Testing valid startup args"); props = AbstractMain.readC2KArgs(args); assert "MemoryOnlyClusterStorage".equals(props.get("ClusterStorage")) : "Config file properties not loaded"; assert "1553".equals(props.get("ItemServer.Proxy.port")) : "Connect file properties not loaded"; } public void testWrongConfigFileName() throws Exception { standardArgs(); args[5] = "filenotfound"; try { props = AbstractMain.readC2KArgs(args); assert false: "Invalid connect file not detected"; } catch (BadArgumentsException ex) { } } public void testWrongConnectFileName() throws Exception { standardArgs(); args[7] = "alsonotfound"; try { props = AbstractMain.readC2KArgs(args); assert false : "Invalid connect file not detected"; } catch (BadArgumentsException ex) { } } public void testMissingConnectArg() throws Exception { args = new String[2]; args[0] = "-config"; args[1] = LauncherTest.class.getResource("server.conf").getPath(); try { props = AbstractMain.readC2KArgs(args); assert false: "Missing connect file not detected"; } catch (BadArgumentsException ex) { } } public void testMissingConfigArg() throws Exception { args = new String[2]; args[0] = "-connect"; args[1] = LauncherTest.class.getResource("test.clc").getPath(); try { props = AbstractMain.readC2KArgs(args); assert false: "Missing config file not detected"; } catch (BadArgumentsException ex) { } } }