summaryrefslogtreecommitdiff
path: root/qpid/java/common/src/test/java/org/apache/qpid/transport
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/common/src/test/java/org/apache/qpid/transport')
-rw-r--r--qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionSettingsTest.java133
-rw-r--r--qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java26
-rw-r--r--qpid/java/common/src/test/java/org/apache/qpid/transport/RangeSetTest.java123
-rw-r--r--qpid/java/common/src/test/java/org/apache/qpid/transport/TestNetworkConnection.java15
-rw-r--r--qpid/java/common/src/test/java/org/apache/qpid/transport/network/TransportTest.java7
-rw-r--r--qpid/java/common/src/test/java/org/apache/qpid/transport/network/io/IoAcceptor.java2
-rw-r--r--qpid/java/common/src/test/java/org/apache/qpid/transport/network/io/IoTransport.java6
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.