From 26077f9bb4c93e90e8484b3fbc4847edd3e7bd89 Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Fri, 11 Nov 2011 10:19:08 +0000 Subject: QPID-3610: set TCP_NODELAY to true by default, add new system property for changing default, add unit tests for system properties + connection url options. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1200803 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/transport/ConnectionSettingsTest.java | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 java/common/src/test/java/org/apache/qpid/transport/ConnectionSettingsTest.java (limited to 'java/common/src/test') diff --git a/java/common/src/test/java/org/apache/qpid/transport/ConnectionSettingsTest.java b/java/common/src/test/java/org/apache/qpid/transport/ConnectionSettingsTest.java new file mode 100644 index 0000000000..62ca0b70ba --- /dev/null +++ b/java/common/src/test/java/org/apache/qpid/transport/ConnectionSettingsTest.java @@ -0,0 +1,49 @@ +package org.apache.qpid.transport; + +import org.apache.qpid.configuration.ClientProperties; +import org.apache.qpid.test.utils.QpidTestCase; + +public class ConnectionSettingsTest extends QpidTestCase +{ + ConnectionSettings _conConnectionSettings; + + protected void setUp() throws Exception + { + super.setUp(); + _conConnectionSettings = new ConnectionSettings(); + } + + public void testDefaultTCP_NODELAY() + { + assertTrue("Default for isTcpNodelay() should be true", _conConnectionSettings.isTcpNodelay()); + } + + public void testSystemPropertyOverrideTrueForTCP_NODELAY() + { + systemPropertyOverrideForTCP_NODELAYImpl(ClientProperties.QPID_TCP_NODELAY_PROP_NAME, true); + } + + public void testSystemPropertyOverrideFalseForTCP_NODELAY() + { + systemPropertyOverrideForTCP_NODELAYImpl(ClientProperties.QPID_TCP_NODELAY_PROP_NAME, false); + } + + public void testLegacySystemPropertyOverrideTrueForTCP_NODELAY() + { + systemPropertyOverrideForTCP_NODELAYImpl(ClientProperties.AMQJ_TCP_NODELAY_PROP_NAME, true); + } + + public void testLegacySystemPropertyOverrideFalseForTCP_NODELAY() + { + systemPropertyOverrideForTCP_NODELAYImpl(ClientProperties.AMQJ_TCP_NODELAY_PROP_NAME, false); + } + + private void systemPropertyOverrideForTCP_NODELAYImpl(String propertyName, boolean value) + { + //set the default via system property + setTestSystemProperty(propertyName, String.valueOf(value)); + + _conConnectionSettings = new ConnectionSettings(); + assertEquals("Value for isTcpNodelay() is incorrect", value, _conConnectionSettings.isTcpNodelay()); + } +} -- cgit v1.2.1