diff options
Diffstat (limited to 'qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionSettingsTest.java')
-rw-r--r-- | qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionSettingsTest.java | 133 |
1 files changed, 119 insertions, 14 deletions
diff --git a/qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionSettingsTest.java b/qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionSettingsTest.java index 57c0549193..fc4f5374f0 100644 --- a/qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionSettingsTest.java +++ b/qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionSettingsTest.java @@ -20,12 +20,17 @@ */ package org.apache.qpid.transport; +import javax.net.ssl.KeyManagerFactory; +import javax.net.ssl.TrustManagerFactory; + import org.apache.qpid.configuration.ClientProperties; import org.apache.qpid.test.utils.QpidTestCase; public class ConnectionSettingsTest extends QpidTestCase { - ConnectionSettings _conConnectionSettings; + private static final String TEST_ALGORITHM_NAME = "algorithmName"; + + private ConnectionSettings _conConnectionSettings; protected void setUp() throws Exception { @@ -33,37 +38,137 @@ public class ConnectionSettingsTest extends QpidTestCase _conConnectionSettings = new ConnectionSettings(); } - public void testDefaultTCP_NODELAY() + public void testTcpNoDelayDefault() { assertTrue("Default for isTcpNodelay() should be true", _conConnectionSettings.isTcpNodelay()); } - public void testSystemPropertyOverrideTrueForTCP_NODELAY() + public void testTcpNoDelayOverrideTrue() { - systemPropertyOverrideForTCP_NODELAYImpl(ClientProperties.QPID_TCP_NODELAY_PROP_NAME, true); + systemPropertyOverrideForTcpDelay(ClientProperties.QPID_TCP_NODELAY_PROP_NAME, true); } - public void testSystemPropertyOverrideFalseForTCP_NODELAY() + public void testTcpNoDelayOverrideFalse() { - systemPropertyOverrideForTCP_NODELAYImpl(ClientProperties.QPID_TCP_NODELAY_PROP_NAME, false); + systemPropertyOverrideForTcpDelay(ClientProperties.QPID_TCP_NODELAY_PROP_NAME, false); } - public void testLegacySystemPropertyOverrideTrueForTCP_NODELAY() + @SuppressWarnings("deprecation") + public void testTcpNoDelayLegacyOverrideTrue() { - systemPropertyOverrideForTCP_NODELAYImpl(ClientProperties.AMQJ_TCP_NODELAY_PROP_NAME, true); + systemPropertyOverrideForTcpDelay(ClientProperties.AMQJ_TCP_NODELAY_PROP_NAME, true); } - public void testLegacySystemPropertyOverrideFalseForTCP_NODELAY() + @SuppressWarnings("deprecation") + public void testTcpNoDelayLegacyOverrideFalse() { - systemPropertyOverrideForTCP_NODELAYImpl(ClientProperties.AMQJ_TCP_NODELAY_PROP_NAME, false); + systemPropertyOverrideForTcpDelay(ClientProperties.AMQJ_TCP_NODELAY_PROP_NAME, false); } - private void systemPropertyOverrideForTCP_NODELAYImpl(String propertyName, boolean value) + public void testKeyManagerFactoryAlgorithmDefault() { - //set the default via system property - setTestSystemProperty(propertyName, String.valueOf(value)); + assertEquals(KeyManagerFactory.getDefaultAlgorithm(), _conConnectionSettings.getKeyManagerFactoryAlgorithm()); + } - _conConnectionSettings = new ConnectionSettings(); + public void testKeyManagerFactoryAlgorithmOverridden() + { + String algorithmName = TEST_ALGORITHM_NAME; + systemPropertyOverrideForKeyFactoryAlgorithm(ClientProperties.QPID_SSL_KEY_MANAGER_FACTORY_ALGORITHM_PROP_NAME, algorithmName); + } + + @SuppressWarnings("deprecation") + public void testKeyManagerFactoryAlgorithmLegacyOverridden() + { + String algorithmName = TEST_ALGORITHM_NAME; + systemPropertyOverrideForKeyFactoryAlgorithm(ClientProperties.QPID_SSL_KEY_STORE_CERT_TYPE_PROP_NAME, algorithmName); + } + + public void testTrustManagerFactoryAlgorithmDefault() + { + assertEquals(TrustManagerFactory.getDefaultAlgorithm(), _conConnectionSettings.getTrustManagerFactoryAlgorithm()); + } + + public void testTrustManagerFactoryAlgorithmOverridden() + { + String algorithmName = TEST_ALGORITHM_NAME; + systemPropertyOverrideForTrustFactoryAlgorithm(ClientProperties.QPID_SSL_TRUST_MANAGER_FACTORY_ALGORITHM_PROP_NAME, algorithmName); + } + + @SuppressWarnings("deprecation") + public void testTrustManagerFactoryAlgorithmLegacyOverridden() + { + String algorithmName = TEST_ALGORITHM_NAME; + systemPropertyOverrideForTrustFactoryAlgorithm(ClientProperties.QPID_SSL_TRUST_STORE_CERT_TYPE_PROP_NAME, algorithmName); + } + + public void testSendBufferSizeDefault() + { + assertEquals("unexpected default for buffer size", 65535, _conConnectionSettings.getWriteBufferSize()); + } + + public void testSendBufferSizeOverridden() + { + systemPropertyOverrideForSocketBufferSize(ClientProperties.SEND_BUFFER_SIZE_PROP_NAME, 1024, false); + } + + @SuppressWarnings("deprecation") + public void testtestSendBufferSizeOverriddenLegacyOverridden() + { + systemPropertyOverrideForSocketBufferSize(ClientProperties.LEGACY_SEND_BUFFER_SIZE_PROP_NAME, 1024, false); + } + + public void testReceiveBufferSizeDefault() + { + assertEquals("unexpected default for buffer size", 65535, _conConnectionSettings.getReadBufferSize()); + } + + public void testReceiveBufferSizeOverridden() + { + systemPropertyOverrideForSocketBufferSize(ClientProperties.RECEIVE_BUFFER_SIZE_PROP_NAME, 1024, true); + } + + @SuppressWarnings("deprecation") + public void testtestReceiveBufferSizeOverriddenLegacyOverridden() + { + systemPropertyOverrideForSocketBufferSize(ClientProperties.LEGACY_RECEIVE_BUFFER_SIZE_PROP_NAME, 1024, true); + } + + private void systemPropertyOverrideForTcpDelay(String propertyName, boolean value) + { + resetSystemProperty(propertyName, String.valueOf(value)); assertEquals("Value for isTcpNodelay() is incorrect", value, _conConnectionSettings.isTcpNodelay()); } + + private void systemPropertyOverrideForKeyFactoryAlgorithm(String propertyName, String value) + { + resetSystemProperty(propertyName, value); + assertEquals(value, _conConnectionSettings.getKeyManagerFactoryAlgorithm()); + } + + private void systemPropertyOverrideForTrustFactoryAlgorithm(String propertyName, String value) + { + resetSystemProperty(propertyName, value); + assertEquals(value, _conConnectionSettings.getTrustManagerFactoryAlgorithm()); + } + + + private void systemPropertyOverrideForSocketBufferSize(String propertyName, int value, boolean read) + { + resetSystemProperty(propertyName, String.valueOf(value)); + if(read) + { + assertEquals("unexpected value for receive buffer", value, _conConnectionSettings.getReadBufferSize()); + } + else + { + assertEquals("unexpected value for send buffer", value, _conConnectionSettings.getWriteBufferSize()); + } + } + + private void resetSystemProperty(String propertyName, String value) + { + setTestSystemProperty(propertyName, value); + + _conConnectionSettings = new ConnectionSettings(); + } } |