diff options
Diffstat (limited to 'qpid/java/common/src/test/java/org/apache/qpid/transport')
7 files changed, 261 insertions, 51 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(); + } } diff --git a/qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java b/qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java index 49f6a08007..f3715f351e 100644 --- a/qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java +++ b/qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java @@ -20,6 +20,11 @@ */ package org.apache.qpid.transport; +import org.apache.qpid.test.utils.QpidTestCase; +import org.apache.qpid.transport.network.ConnectionBinding; +import org.apache.qpid.transport.network.io.IoAcceptor; +import org.apache.qpid.transport.util.Waiter; + import static org.apache.qpid.transport.Option.EXPECTED; import static org.apache.qpid.transport.Option.NONE; import static org.apache.qpid.transport.Option.SYNC; @@ -31,11 +36,6 @@ import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import org.apache.qpid.test.utils.QpidTestCase; -import org.apache.qpid.transport.network.ConnectionBinding; -import org.apache.qpid.transport.network.io.IoAcceptor; -import org.apache.qpid.transport.util.Waiter; - /** * ConnectionTest */ @@ -170,7 +170,7 @@ public class ConnectionTest extends QpidTestCase implements SessionListener } } }); - conn.connect("localhost", port, null, "guest", "guest", false); + conn.connect("localhost", port, null, "guest", "guest", false, null); return conn; } @@ -275,7 +275,7 @@ public class ConnectionTest extends QpidTestCase implements SessionListener Connection conn = new Connection(); conn.addConnectionListener(new FailoverConnectionListener()); conn.setConnectionDelegate(new ClientDelegate(new ConnectionSettings())); - conn.connect("localhost", port, null, "guest", "guest"); + conn.connect("localhost", port, null, "guest", "guest", false, null); Session ssn = conn.createSession(1); ssn.setSessionListener(new TestSessionListener()); @@ -331,7 +331,7 @@ public class ConnectionTest extends QpidTestCase implements SessionListener Connection conn = new Connection(); conn.setConnectionDelegate(new ClientDelegate(new ConnectionSettings())); conn.addConnectionListener(new FailoverConnectionListener()); - conn.connect("localhost", port, null, "guest", "guest"); + conn.connect("localhost", port, null, "guest", "guest", false, null); Session ssn = conn.createSession(1); ssn.setSessionListener(new TestSessionListener()); @@ -353,7 +353,7 @@ public class ConnectionTest extends QpidTestCase implements SessionListener Connection conn = new Connection(); conn.setConnectionDelegate(new ClientDelegate(new ConnectionSettings())); - conn.connect("localhost", port, null, "guest", "guest"); + conn.connect("localhost", port, null, "guest", "guest", false, null); Session ssn = conn.createSession(); ssn.sessionFlush(EXPECTED); send(ssn, "SINK 0"); @@ -367,7 +367,7 @@ public class ConnectionTest extends QpidTestCase implements SessionListener startServer(); Connection conn = new Connection(); conn.setConnectionDelegate(new ClientDelegate(new ConnectionSettings())); - conn.connect("localhost", port, null, "guest", "guest"); + conn.connect("localhost", port, null, "guest", "guest", false, null); conn.connectionHeartbeat(); conn.close(); } @@ -378,7 +378,7 @@ public class ConnectionTest extends QpidTestCase implements SessionListener Connection conn = new Connection(); conn.setConnectionDelegate(new ClientDelegate(new ConnectionSettings())); - conn.connect("localhost", port, null, "guest", "guest"); + conn.connect("localhost", port, null, "guest", "guest", false, null); Session ssn = conn.createSession(); send(ssn, "EXCP 0"); Thread.sleep(3000); @@ -398,7 +398,7 @@ public class ConnectionTest extends QpidTestCase implements SessionListener Connection conn = new Connection(); conn.setConnectionDelegate(new ClientDelegate(new ConnectionSettings())); - conn.connect("localhost", port, null, "guest", "guest"); + conn.connect("localhost", port, null, "guest", "guest", false, null); Session ssn = conn.createSession(); send(ssn, "EXCP 0", true); try @@ -424,7 +424,7 @@ public class ConnectionTest extends QpidTestCase implements SessionListener public void closed(Connection conn) { queue = true; - conn.connect("localhost", port, null, "guest", "guest"); + conn.connect("localhost", port, null, "guest", "guest", false, null); conn.resume(); } } diff --git a/qpid/java/common/src/test/java/org/apache/qpid/transport/RangeSetTest.java b/qpid/java/common/src/test/java/org/apache/qpid/transport/RangeSetTest.java index 889250e004..14589eb541 100644 --- a/qpid/java/common/src/test/java/org/apache/qpid/transport/RangeSetTest.java +++ b/qpid/java/common/src/test/java/org/apache/qpid/transport/RangeSetTest.java @@ -20,14 +20,16 @@ */ package org.apache.qpid.transport; +import junit.framework.TestCase; + +import static org.apache.qpid.util.Serial.COMPARATOR; +import static org.apache.qpid.util.Serial.eq; + import java.util.ArrayList; import java.util.Collections; +import java.util.Iterator; import java.util.List; -import junit.framework.TestCase; - -import static org.apache.qpid.util.Serial.*; - /** * RangeSetTest * @@ -235,4 +237,117 @@ public class RangeSetTest extends TestCase assertEquals(d.getUpper(), 10); } + public void testSetSubtract1() + { + final RangeSet orig = createRangeSet(0, 10) ; + final RangeSet update = createRangeSet(3, 15) ; + orig.subtract(update) ; + checkRange(orig, 0, 2) ; + } + + public void testSetSubtract2() + { + final RangeSet orig = createRangeSet(0, 10) ; + final RangeSet update = createRangeSet(3, 10) ; + orig.subtract(update) ; + checkRange(orig, 0, 2) ; + } + + public void testSetSubtract3() + { + final RangeSet orig = createRangeSet(0, 10) ; + final RangeSet update = createRangeSet(3, 4) ; + orig.subtract(update) ; + checkRange(orig, 0, 2, 5, 10) ; + } + + public void testSetSubtract4() + { + final RangeSet orig = createRangeSet(3, 15) ; + final RangeSet update = createRangeSet(0, 10) ; + orig.subtract(update) ; + checkRange(orig, 11, 15) ; + } + + public void testSetSubtract5() + { + final RangeSet orig = createRangeSet(3, 10) ; + final RangeSet update = createRangeSet(0, 10) ; + orig.subtract(update) ; + checkRange(orig) ; + } + + public void testSetSubtract6() + { + final RangeSet orig = createRangeSet(3, 10) ; + final RangeSet update = createRangeSet(0, 15) ; + orig.subtract(update) ; + checkRange(orig) ; + } + + public void testSetSubtract7() + { + final RangeSet orig = createRangeSet(0, 10) ; + final RangeSet update = createRangeSet(0, 15) ; + orig.subtract(update) ; + checkRange(orig) ; + } + + public void testSetSubtract8() + { + final RangeSet orig = createRangeSet(0, 15) ; + final RangeSet update = createRangeSet(0, 10) ; + orig.subtract(update) ; + checkRange(orig, 11, 15) ; + } + + public void testSetSubtract9() + { + final RangeSet orig = createRangeSet(0, 15, 20, 30) ; + final RangeSet update = createRangeSet(2, 3, 5, 6, 8, 9, 22, 23, 27, 28) ; + orig.subtract(update) ; + checkRange(orig, 0, 1, 4, 4, 7, 7, 10, 15, 20, 21, 24, 26, 29, 30) ; + } + + public void testSetSubtract10() + { + final RangeSet orig = createRangeSet(0, 15, 20, 30) ; + final RangeSet update = createRangeSet(0, 2, 4, 6, 10, 22, 24, 24, 27, 30) ; + orig.subtract(update) ; + checkRange(orig, 3, 3, 7, 9, 23, 23, 25, 26) ; + } + + public void testSetSubtract11() + { + final RangeSet orig = createRangeSet(0, 2, 4, 6, 10, 22, 24, 24, 27, 30) ; + final RangeSet update = createRangeSet(0, 2, 4, 6, 10, 22, 24, 24, 27, 30) ; + orig.subtract(update) ; + checkRange(orig) ; + } + + private RangeSet createRangeSet(int ... bounds) + { + RangeSet set = RangeSetFactory.createRangeSet(); + final int length = (bounds == null ? 0 : bounds.length) ; + int count = 0 ; + while(count < length) + { + set.add(bounds[count++], bounds[count++]) ; + } + return set ; + } + + private void checkRange(final RangeSet rangeSet, int ... bounds) + { + final int length = (bounds == null ? 0 : bounds.length) ; + assertEquals("Range count", length/2, rangeSet.size()) ; + final Iterator<Range> iter = rangeSet.iterator() ; + int count = 0 ; + while(count < length) + { + final Range range = iter.next() ; + assertEquals("Range lower", bounds[count++], range.getLower()) ; + assertEquals("Range upper", bounds[count++], range.getUpper()) ; + } + } } diff --git a/qpid/java/common/src/test/java/org/apache/qpid/transport/TestNetworkConnection.java b/qpid/java/common/src/test/java/org/apache/qpid/transport/TestNetworkConnection.java index 8533c64fab..548e8dab12 100644 --- a/qpid/java/common/src/test/java/org/apache/qpid/transport/TestNetworkConnection.java +++ b/qpid/java/common/src/test/java/org/apache/qpid/transport/TestNetworkConnection.java @@ -20,17 +20,16 @@ */ package org.apache.qpid.transport; +import org.apache.qpid.protocol.ProtocolEngineFactory; +import org.apache.qpid.ssl.SSLContextFactory; +import org.apache.qpid.transport.network.NetworkConnection; + import java.net.BindException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.SocketAddress; import java.nio.ByteBuffer; -import org.apache.qpid.protocol.ProtocolEngine; -import org.apache.qpid.protocol.ProtocolEngineFactory; -import org.apache.qpid.ssl.SSLContextFactory; -import org.apache.qpid.transport.network.NetworkConnection; - /** * Test implementation of IoSession, which is required for some tests. Methods not being used are not implemented, * so if this class is being used and some methods are to be used, then please update those. @@ -67,12 +66,6 @@ public class TestNetworkConnection implements NetworkConnection return (_remoteAddress != null) ? _remoteAddress : new InetSocketAddress(_remoteHost, _port); } - public void open(int port, InetAddress destination, ProtocolEngine engine, NetworkTransportConfiguration config, - SSLContextFactory sslFactory) throws OpenException - { - - } - public void setMaxReadIdle(int idleTime) { diff --git a/qpid/java/common/src/test/java/org/apache/qpid/transport/network/TransportTest.java b/qpid/java/common/src/test/java/org/apache/qpid/transport/network/TransportTest.java index 7039b904e3..c882d3437e 100644 --- a/qpid/java/common/src/test/java/org/apache/qpid/transport/network/TransportTest.java +++ b/qpid/java/common/src/test/java/org/apache/qpid/transport/network/TransportTest.java @@ -21,10 +21,6 @@ package org.apache.qpid.transport.network; -import java.nio.ByteBuffer; - -import javax.net.ssl.SSLContext; - import org.apache.qpid.framing.ProtocolVersion; import org.apache.qpid.protocol.ProtocolEngineFactory; import org.apache.qpid.test.utils.QpidTestCase; @@ -34,6 +30,9 @@ import org.apache.qpid.transport.Receiver; import org.apache.qpid.transport.TransportException; import org.apache.qpid.transport.network.io.IoNetworkTransport; +import javax.net.ssl.SSLContext; +import java.nio.ByteBuffer; + public class TransportTest extends QpidTestCase { diff --git a/qpid/java/common/src/test/java/org/apache/qpid/transport/network/io/IoAcceptor.java b/qpid/java/common/src/test/java/org/apache/qpid/transport/network/io/IoAcceptor.java index e075681acb..641bc5fa34 100644 --- a/qpid/java/common/src/test/java/org/apache/qpid/transport/network/io/IoAcceptor.java +++ b/qpid/java/common/src/test/java/org/apache/qpid/transport/network/io/IoAcceptor.java @@ -24,12 +24,10 @@ import org.apache.qpid.transport.Binding; import org.apache.qpid.transport.TransportException; import java.io.IOException; - import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketAddress; - import java.nio.ByteBuffer; diff --git a/qpid/java/common/src/test/java/org/apache/qpid/transport/network/io/IoTransport.java b/qpid/java/common/src/test/java/org/apache/qpid/transport/network/io/IoTransport.java index 215c6d9931..e9005ab2e4 100644 --- a/qpid/java/common/src/test/java/org/apache/qpid/transport/network/io/IoTransport.java +++ b/qpid/java/common/src/test/java/org/apache/qpid/transport/network/io/IoTransport.java @@ -19,13 +19,13 @@ package org.apache.qpid.transport.network.io; -import java.net.Socket; -import java.nio.ByteBuffer; - import org.apache.qpid.transport.Binding; import org.apache.qpid.transport.Sender; import org.apache.qpid.transport.util.Logger; +import java.net.Socket; +import java.nio.ByteBuffer; + /** * This class provides a socket based transport using the java.io * classes. |