diff options
| author | Robert Gemmell <robbie@apache.org> | 2011-07-14 10:01:18 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2011-07-14 10:01:18 +0000 |
| commit | efbb50c1c2a5bf65b3bb206e116c8bcf6acb5df7 (patch) | |
| tree | 709486af2c17cb51377960a5b9acfefd84cc2617 /java/broker/src/test | |
| parent | f86abf60f63019062c2b102c7298ecaecfe1dc39 (diff) | |
| download | qpid-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.java | 143 |
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; + } + } +} |
