summaryrefslogtreecommitdiff
path: root/java/broker/src/test
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2011-07-14 10:01:18 +0000
committerRobert Gemmell <robbie@apache.org>2011-07-14 10:01:18 +0000
commitefbb50c1c2a5bf65b3bb206e116c8bcf6acb5df7 (patch)
tree709486af2c17cb51377960a5b9acfefd84cc2617 /java/broker/src/test
parentf86abf60f63019062c2b102c7298ecaecfe1dc39 (diff)
downloadqpid-python-efbb50c1c2a5bf65b3bb206e116c8bcf6acb5df7.tar.gz
QPID-2815: move conversion of logWatch argument into milliseconds into Broker, add a unit test for the various argument parsing methods in Main.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1146625 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src/test')
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/MainTest.java143
1 files changed, 143 insertions, 0 deletions
diff --git a/java/broker/src/test/java/org/apache/qpid/server/MainTest.java b/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
new file mode 100644
index 0000000000..3bb8d33190
--- /dev/null
+++ b/java/broker/src/test/java/org/apache/qpid/server/MainTest.java
@@ -0,0 +1,143 @@
+package org.apache.qpid.server;
+
+import java.util.EnumSet;
+
+import org.apache.qpid.test.utils.QpidTestCase;
+
+/**
+ * Test to verify the command line parsing within the Main class, by
+ * providing it a series of command line arguments and verifying the
+ * BrokerOptions emerging for use in starting the Broker instance.
+ */
+public class MainTest extends QpidTestCase
+{
+ public void testNoOptionsSpecified()
+ {
+ BrokerOptions options = startDummyMain("");
+
+ assertTrue(options.getPorts().isEmpty());
+ assertTrue(options.getSSLPorts().isEmpty());
+ assertEquals(null, options.getJmxPort());
+ assertEquals(null, options.getConfigFile());
+ assertEquals(null, options.getLogConfigFile());
+ assertEquals(null, options.getBind());
+
+ for(ProtocolExclusion pe : EnumSet.allOf(ProtocolExclusion.class))
+ {
+ assertEquals(0, options.getExcludedPorts(pe).size());
+ }
+ }
+
+ public void testPortOverriddenSingle()
+ {
+ BrokerOptions options = startDummyMain("-p 1234");
+
+ assertTrue(options.getPorts().contains(1234));
+ assertEquals(1, options.getPorts().size());
+ assertTrue(options.getSSLPorts().isEmpty());
+ }
+
+ public void testPortOverriddenMultiple()
+ {
+ BrokerOptions options = startDummyMain("-p 1234 -p 4321");
+
+ assertTrue(options.getPorts().contains(1234));
+ assertTrue(options.getPorts().contains(4321));
+ assertEquals(2, options.getPorts().size());
+ assertTrue(options.getSSLPorts().isEmpty());
+ }
+
+ public void testSSLPortOverriddenSingle()
+ {
+ BrokerOptions options = startDummyMain("-s 5678");
+
+ assertTrue(options.getSSLPorts().contains(5678));
+ assertEquals(1, options.getSSLPorts().size());
+ assertTrue(options.getPorts().isEmpty());
+ }
+
+ public void testSSLPortOverriddenMultiple()
+ {
+ BrokerOptions options = startDummyMain("-s 5678 -s 8765");
+
+ assertTrue(options.getSSLPorts().contains(5678));
+ assertTrue(options.getSSLPorts().contains(8765));
+ assertEquals(2, options.getSSLPorts().size());
+ assertTrue(options.getPorts().isEmpty());
+ }
+
+ public void testNonSSLandSSLPortsOverridden()
+ {
+ BrokerOptions options = startDummyMain("-p 5678 -s 8765");
+
+ assertTrue(options.getPorts().contains(5678));
+ assertTrue(options.getSSLPorts().contains(8765));
+ assertEquals(1, options.getPorts().size());
+ assertEquals(1, options.getSSLPorts().size());
+ }
+
+ public void testJMXportOverridden()
+ {
+ BrokerOptions options = startDummyMain("-m 3456");
+
+ assertEquals(Integer.valueOf(3456), options.getJmxPort());
+ }
+
+ public void testExclude0_10()
+ {
+ BrokerOptions options = startDummyMain("-p 3456 --exclude-0-10 3456");
+
+ assertTrue(options.getPorts().contains(3456));
+ assertEquals(1, options.getPorts().size());
+ assertTrue(options.getExcludedPorts(ProtocolExclusion.v0_10).contains(3456));
+ assertEquals(1, options.getExcludedPorts(ProtocolExclusion.v0_10).size());
+ assertEquals(0, options.getExcludedPorts(ProtocolExclusion.v0_9_1).size());
+ }
+
+ public void testConfig()
+ {
+ BrokerOptions options = startDummyMain("-c abcd/config.xml");
+
+ assertEquals("abcd/config.xml", options.getConfigFile());
+ }
+
+ public void testLogConfig()
+ {
+ BrokerOptions options = startDummyMain("-l wxyz/log4j.xml");
+
+ assertEquals("wxyz/log4j.xml", options.getLogConfigFile());
+ }
+
+ public void testLogWatch()
+ {
+ BrokerOptions options = startDummyMain("-w 9");
+
+ assertEquals(9, options.getLogWatchFrequency());
+ }
+
+ private BrokerOptions startDummyMain(String commandLine)
+ {
+ return (new TestMain(commandLine.split("\\s"))).getOptions();
+ }
+
+ private class TestMain extends Main
+ {
+ private BrokerOptions _options;
+
+ public TestMain(String[] args)
+ {
+ super(args);
+ }
+
+ @Override
+ protected void startBroker(BrokerOptions options)
+ {
+ _options = options;
+ }
+
+ public BrokerOptions getOptions()
+ {
+ return _options;
+ }
+ }
+}