From 5b9cc0f4318309879be677bb0278542217f6a0b5 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 1 Apr 2014 15:58:01 +0200 Subject: AbstractMain - remove usage and help, fail if config or connect args are missing or the files aren't found. Tests. Fixes #177 --- src/test/java/LauncherTest.java | 74 +++++++++++++++++++++++++++++++++++++++++ src/test/java/MainTest.java | 2 +- src/test/resources/server.conf | 1 + src/test/resources/test.clc | 16 +++++++++ 4 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 src/test/java/LauncherTest.java create mode 100644 src/test/resources/server.conf create mode 100644 src/test/resources/test.clc (limited to 'src') diff --git a/src/test/java/LauncherTest.java b/src/test/java/LauncherTest.java new file mode 100644 index 0000000..39c2b6e --- /dev/null +++ b/src/test/java/LauncherTest.java @@ -0,0 +1,74 @@ +import java.util.Properties; + +import com.c2kernel.process.AbstractMain; +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")); + assert "1553".equals(props.get("ItemServer.Proxy.port")); + } + + public void testWrongConfigFileName() throws Exception { + standardArgs(); + args[5] = "filenotfound"; + try { + props = AbstractMain.readC2KArgs(args); + throw new Exception("Invalid connect file not detected"); + } catch (Exception ex) { } + } + + public void testWrongConnectFileName() throws Exception { + standardArgs(); + args[7] = "alsonotfound"; + try { + props = AbstractMain.readC2KArgs(args); + throw new Exception("Invalid connect file not detected"); + } catch (Exception 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); + throw new Exception("Missing connect file not detected"); + } catch (Exception 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); + throw new Exception("Missing config file not detected"); + } catch (Exception ex) { } + } +} diff --git a/src/test/java/MainTest.java b/src/test/java/MainTest.java index 2029dc2..b0a179a 100644 --- a/src/test/java/MainTest.java +++ b/src/test/java/MainTest.java @@ -107,7 +107,7 @@ public class MainTest { assert result!=null; assert result instanceof String; assert ((String)result).equals("TestTest"); - } + } public void testStateMachine() throws Exception { Logger.msg("Validating test state machine"); diff --git a/src/test/resources/server.conf b/src/test/resources/server.conf new file mode 100644 index 0000000..476aeb0 --- /dev/null +++ b/src/test/resources/server.conf @@ -0,0 +1 @@ +ClusterStorage=MemoryOnlyClusterStorage \ No newline at end of file diff --git a/src/test/resources/test.clc b/src/test/resources/test.clc new file mode 100644 index 0000000..be1d5d0 --- /dev/null +++ b/src/test/resources/test.clc @@ -0,0 +1,16 @@ + +Name=Test Cristal Server + +// TCP server ports +ItemServer.name=localhost +ItemServer.iiop=1500 +ItemServer.Proxy.port=1553 + +// LDAP Lookup config +LDAP.GlobalPath=o=cern,c=ch +LDAP.RootPath=cn=cristal +LDAP.LocalPath=cn=test +LDAP.port=389 +LDAP.host=localhost +LDAP.user=cn=Manager,o=cern,c=ch +LDAP.password=test -- cgit v1.2.3