Repository: qpid-jms Updated Branches: refs/heads/master 0933c9eee -> 8bf97c4b7
http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportOptionsTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportOptionsTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportOptionsTest.java index f716f79..f3d7ec3 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportOptionsTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportOptionsTest.java @@ -16,11 +16,17 @@ */ package org.apache.qpid.jms.transports; +import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertNull; import static org.junit.Assert.fail; +import javax.net.ssl.SSLContext; + import org.apache.qpid.jms.test.QpidJmsTestCase; import org.junit.Test; +import org.mockito.Mockito; /** * Test for class TransportOptions @@ -39,11 +45,51 @@ public class TransportOptionsTest extends QpidJmsTestCase { public static final boolean TEST_USE_EPOLL_VALUE = !TransportOptions.DEFAULT_USE_EPOLL; public static final boolean TEST_TRACE_BYTES_VALUE = !TransportOptions.DEFAULT_TRACE_BYTES; + private static final String PASSWORD = "password"; + private static final String CLIENT_KEYSTORE = "src/test/resources/client-jks.keystore"; + private static final String CLIENT_TRUSTSTORE = "src/test/resources/client-jks.truststore"; + private static final String KEYSTORE_TYPE = "jks"; + private static final String KEY_ALIAS = "myTestAlias"; + private static final String CONTEXT_PROTOCOL = "TLSv1.1"; + private static final boolean TRUST_ALL = true; + private static final boolean VERIFY_HOST = true; + + private static final int TEST_DEFAULT_SSL_PORT = 5681; + + private static final String[] ENABLED_PROTOCOLS = new String[] {"TLSv1.2"}; + private static final String[] DISABLED_PROTOCOLS = new String[] {"SSLv3", "TLSv1.2"}; + private static final String[] ENABLED_CIPHERS = new String[] {"CIPHER_A", "CIPHER_B"}; + private static final String[] DISABLED_CIPHERS = new String[] {"CIPHER_C"}; + + private static final SSLContext SSL_CONTEXT = Mockito.mock(SSLContext.class); + + private static final String JAVAX_NET_SSL_KEY_STORE = "javax.net.ssl.keyStore"; + private static final String JAVAX_NET_SSL_KEY_STORE_PASSWORD = "javax.net.ssl.keyStorePassword"; + private static final String JAVAX_NET_SSL_TRUST_STORE = "javax.net.ssl.trustStore"; + private static final String JAVAX_NET_SSL_TRUST_STORE_PASSWORD = "javax.net.ssl.trustStorePassword"; + @Test public void testCreate() { TransportOptions options = new TransportOptions(); assertEquals(TransportOptions.DEFAULT_TCP_NO_DELAY, options.isTcpNoDelay()); + assertEquals(TransportOptions.DEFAULT_TRUST_ALL, options.isTrustAll()); + assertEquals(TransportOptions.DEFAULT_STORE_TYPE, options.getKeyStoreType()); + assertEquals(TransportOptions.DEFAULT_STORE_TYPE, options.getTrustStoreType()); + + assertEquals(TransportOptions.DEFAULT_CONTEXT_PROTOCOL, options.getContextProtocol()); + assertNull(options.getEnabledProtocols()); + assertArrayEquals(TransportOptions.DEFAULT_DISABLED_PROTOCOLS.toArray(new String[0]), + options.getDisabledProtocols()); + assertNull(options.getEnabledCipherSuites()); + assertNull(options.getDisabledCipherSuites()); + + assertNull(options.getKeyStoreLocation()); + assertNull(options.getKeyStorePassword()); + assertNull(options.getTrustStoreLocation()); + assertNull(options.getTrustStorePassword()); + assertNull(options.getKeyAlias()); + assertNull(options.getSslContextOverride()); } @Test @@ -76,8 +122,22 @@ public class TransportOptionsTest extends QpidJmsTestCase { assertEquals(TEST_SO_TIMEOUT, options.getSoTimeout()); assertEquals(TEST_CONNECT_TIMEOUT, options.getConnectTimeout()); assertEquals(TEST_DEFAULT_TCP_PORT, options.getDefaultTcpPort()); + assertEquals(TEST_DEFAULT_SSL_PORT, options.getDefaultSslPort()); assertEquals(TEST_USE_EPOLL_VALUE, options.isUseEpoll()); assertEquals(TEST_TRACE_BYTES_VALUE, options.isTraceBytes()); + assertEquals(CLIENT_KEYSTORE, options.getKeyStoreLocation()); + assertEquals(PASSWORD, options.getKeyStorePassword()); + assertEquals(CLIENT_TRUSTSTORE, options.getTrustStoreLocation()); + assertEquals(PASSWORD, options.getTrustStorePassword()); + assertEquals(KEYSTORE_TYPE, options.getKeyStoreType()); + assertEquals(KEYSTORE_TYPE, options.getTrustStoreType()); + assertEquals(KEY_ALIAS, options.getKeyAlias()); + assertEquals(CONTEXT_PROTOCOL, options.getContextProtocol()); + assertEquals(SSL_CONTEXT, options.getSslContextOverride()); + assertArrayEquals(ENABLED_PROTOCOLS,options.getEnabledProtocols()); + assertArrayEquals(DISABLED_PROTOCOLS,options.getDisabledProtocols()); + assertArrayEquals(ENABLED_CIPHERS,options.getEnabledCipherSuites()); + assertArrayEquals(DISABLED_CIPHERS,options.getDisabledCipherSuites()); } @Test @@ -133,6 +193,108 @@ public class TransportOptionsTest extends QpidJmsTestCase { options.setTrafficClass(255); } + @Test + public void testCreateAndConfigure() { + TransportOptions options = createSslOptions(); + + assertEquals(TEST_SEND_BUFFER_SIZE, options.getSendBufferSize()); + assertEquals(TEST_RECEIVE_BUFFER_SIZE, options.getReceiveBufferSize()); + assertEquals(TEST_TRAFFIC_CLASS, options.getTrafficClass()); + assertEquals(TEST_TCP_NO_DELAY, options.isTcpNoDelay()); + assertEquals(TEST_TCP_KEEP_ALIVE, options.isTcpKeepAlive()); + assertEquals(TEST_SO_LINGER, options.getSoLinger()); + assertEquals(TEST_SO_TIMEOUT, options.getSoTimeout()); + assertEquals(TEST_CONNECT_TIMEOUT, options.getConnectTimeout()); + + assertEquals(CLIENT_KEYSTORE, options.getKeyStoreLocation()); + assertEquals(PASSWORD, options.getKeyStorePassword()); + assertEquals(CLIENT_TRUSTSTORE, options.getTrustStoreLocation()); + assertEquals(PASSWORD, options.getTrustStorePassword()); + assertEquals(KEYSTORE_TYPE, options.getKeyStoreType()); + assertEquals(KEYSTORE_TYPE, options.getTrustStoreType()); + assertEquals(KEY_ALIAS, options.getKeyAlias()); + assertEquals(CONTEXT_PROTOCOL, options.getContextProtocol()); + assertEquals(SSL_CONTEXT, options.getSslContextOverride()); + assertArrayEquals(ENABLED_PROTOCOLS,options.getEnabledProtocols()); + assertArrayEquals(DISABLED_PROTOCOLS,options.getDisabledProtocols()); + assertArrayEquals(ENABLED_CIPHERS,options.getEnabledCipherSuites()); + assertArrayEquals(DISABLED_CIPHERS,options.getDisabledCipherSuites()); + } + + private TransportOptions createSslOptions() { + TransportOptions options = new TransportOptions(); + + options.setKeyStoreLocation(CLIENT_KEYSTORE); + options.setTrustStoreLocation(CLIENT_TRUSTSTORE); + options.setKeyStorePassword(PASSWORD); + options.setTrustStorePassword(PASSWORD); + options.setStoreType(KEYSTORE_TYPE); + options.setTrustAll(TRUST_ALL); + options.setVerifyHost(VERIFY_HOST); + options.setKeyAlias(KEY_ALIAS); + options.setContextProtocol(CONTEXT_PROTOCOL); + options.setEnabledProtocols(ENABLED_PROTOCOLS); + options.setDisabledProtocols(DISABLED_PROTOCOLS); + options.setEnabledCipherSuites(ENABLED_CIPHERS); + options.setDisabledCipherSuites(DISABLED_CIPHERS); + + options.setSendBufferSize(TEST_SEND_BUFFER_SIZE); + options.setReceiveBufferSize(TEST_RECEIVE_BUFFER_SIZE); + options.setTrafficClass(TEST_TRAFFIC_CLASS); + options.setTcpNoDelay(TEST_TCP_NO_DELAY); + options.setTcpKeepAlive(TEST_TCP_KEEP_ALIVE); + options.setSoLinger(TEST_SO_LINGER); + options.setSoTimeout(TEST_SO_TIMEOUT); + options.setConnectTimeout(TEST_CONNECT_TIMEOUT); + options.setDefaultSslPort(TEST_DEFAULT_SSL_PORT); + options.setSslContextOverride(SSL_CONTEXT); + + return options; + } + + @Test + public void testSslSystemPropertiesInfluenceDefaults() { + String keystore = "keystore"; + String keystorePass = "keystorePass"; + String truststore = "truststore"; + String truststorePass = "truststorePass"; + + setSslSystemPropertiesForCurrentTest(keystore, keystorePass, truststore, truststorePass); + + TransportOptions options1 = new TransportOptions(); + + assertEquals(keystore, options1.getKeyStoreLocation()); + assertEquals(keystorePass, options1.getKeyStorePassword()); + assertEquals(truststore, options1.getTrustStoreLocation()); + assertEquals(truststorePass, options1.getTrustStorePassword()); + + keystore +="2"; + keystorePass +="2"; + truststore +="2"; + truststorePass +="2"; + + setSslSystemPropertiesForCurrentTest(keystore, keystorePass, truststore, truststorePass); + + TransportOptions options2 = new TransportOptions(); + + assertEquals(keystore, options2.getKeyStoreLocation()); + assertEquals(keystorePass, options2.getKeyStorePassword()); + assertEquals(truststore, options2.getTrustStoreLocation()); + assertEquals(truststorePass, options2.getTrustStorePassword()); + + assertNotEquals(options1.getKeyStoreLocation(), options2.getKeyStoreLocation()); + assertNotEquals(options1.getKeyStorePassword(), options2.getKeyStorePassword()); + assertNotEquals(options1.getTrustStoreLocation(), options2.getTrustStoreLocation()); + assertNotEquals(options1.getTrustStorePassword(), options2.getTrustStorePassword()); + } + + private void setSslSystemPropertiesForCurrentTest(String keystore, String keystorePassword, String truststore, String truststorePassword) { + setTestSystemProperty(JAVAX_NET_SSL_KEY_STORE, keystore); + setTestSystemProperty(JAVAX_NET_SSL_KEY_STORE_PASSWORD, keystorePassword); + setTestSystemProperty(JAVAX_NET_SSL_TRUST_STORE, truststore); + setTestSystemProperty(JAVAX_NET_SSL_TRUST_STORE_PASSWORD, truststorePassword); + } + private TransportOptions createNonDefaultOptions() { TransportOptions options = new TransportOptions(); @@ -145,8 +307,20 @@ public class TransportOptionsTest extends QpidJmsTestCase { options.setSoTimeout(TEST_SO_TIMEOUT); options.setConnectTimeout(TEST_CONNECT_TIMEOUT); options.setDefaultTcpPort(TEST_DEFAULT_TCP_PORT); + options.setDefaultSslPort(TEST_DEFAULT_SSL_PORT); options.setUseEpoll(TEST_USE_EPOLL_VALUE); options.setTraceBytes(TEST_TRACE_BYTES_VALUE); + options.setKeyStoreLocation(CLIENT_KEYSTORE); + options.setKeyStorePassword(PASSWORD); + options.setTrustStoreLocation(CLIENT_TRUSTSTORE); + options.setTrustStorePassword(PASSWORD); + options.setKeyAlias(KEY_ALIAS); + options.setContextProtocol(CONTEXT_PROTOCOL); + options.setSslContextOverride(SSL_CONTEXT); + options.setEnabledProtocols(ENABLED_PROTOCOLS); + options.setEnabledCipherSuites(ENABLED_CIPHERS); + options.setDisabledProtocols(DISABLED_PROTOCOLS); + options.setDisabledCipherSuites(DISABLED_CIPHERS); return options; } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportSslOptionsTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportSslOptionsTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportSslOptionsTest.java deleted file mode 100644 index 7d1a30d..0000000 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportSslOptionsTest.java +++ /dev/null @@ -1,220 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.qpid.jms.transports; - -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertNull; - -import javax.net.ssl.SSLContext; - -import org.apache.qpid.jms.test.QpidJmsTestCase; -import org.junit.Test; -import org.mockito.Mockito; - -/** - * Test for class TransportSslOptions - */ -public class TransportSslOptionsTest extends QpidJmsTestCase { - - private static final String PASSWORD = "password"; - private static final String CLIENT_KEYSTORE = "src/test/resources/client-jks.keystore"; - private static final String CLIENT_TRUSTSTORE = "src/test/resources/client-jks.truststore"; - private static final String KEYSTORE_TYPE = "jks"; - private static final String KEY_ALIAS = "myTestAlias"; - private static final String CONTEXT_PROTOCOL = "TLSv1.1"; - private static final boolean TRUST_ALL = true; - private static final boolean VERIFY_HOST = true; - - private static final int TEST_SEND_BUFFER_SIZE = 128 * 1024; - private static final int TEST_RECEIVE_BUFFER_SIZE = TEST_SEND_BUFFER_SIZE; - private static final int TEST_TRAFFIC_CLASS = 1; - private static final boolean TEST_TCP_NO_DELAY = false; - private static final boolean TEST_TCP_KEEP_ALIVE = true; - private static final int TEST_SO_LINGER = Short.MAX_VALUE; - private static final int TEST_SO_TIMEOUT = 10; - private static final int TEST_CONNECT_TIMEOUT = 90000; - private static final int TEST_DEFAULT_SSL_PORT = 5681; - - private static final String[] ENABLED_PROTOCOLS = new String[] {"TLSv1.2"}; - private static final String[] DISABLED_PROTOCOLS = new String[] {"SSLv3", "TLSv1.2"}; - private static final String[] ENABLED_CIPHERS = new String[] {"CIPHER_A", "CIPHER_B"}; - private static final String[] DISABLED_CIPHERS = new String[] {"CIPHER_C"}; - - private static final SSLContext SSL_CONTEXT = Mockito.mock(SSLContext.class); - - private static final String JAVAX_NET_SSL_KEY_STORE = "javax.net.ssl.keyStore"; - private static final String JAVAX_NET_SSL_KEY_STORE_PASSWORD = "javax.net.ssl.keyStorePassword"; - private static final String JAVAX_NET_SSL_TRUST_STORE = "javax.net.ssl.trustStore"; - private static final String JAVAX_NET_SSL_TRUST_STORE_PASSWORD = "javax.net.ssl.trustStorePassword"; - - @Test - public void testCreate() { - TransportSslOptions options = new TransportSslOptions(); - - assertEquals(TransportSslOptions.DEFAULT_TRUST_ALL, options.isTrustAll()); - assertEquals(TransportSslOptions.DEFAULT_STORE_TYPE, options.getKeyStoreType()); - assertEquals(TransportSslOptions.DEFAULT_STORE_TYPE, options.getTrustStoreType()); - - assertEquals(TransportSslOptions.DEFAULT_CONTEXT_PROTOCOL, options.getContextProtocol()); - assertNull(options.getEnabledProtocols()); - assertArrayEquals(TransportSslOptions.DEFAULT_DISABLED_PROTOCOLS.toArray(new String[0]), - options.getDisabledProtocols()); - assertNull(options.getEnabledCipherSuites()); - assertNull(options.getDisabledCipherSuites()); - - assertNull(options.getKeyStoreLocation()); - assertNull(options.getKeyStorePassword()); - assertNull(options.getTrustStoreLocation()); - assertNull(options.getTrustStorePassword()); - assertNull(options.getKeyAlias()); - assertNull(options.getSslContextOverride()); - } - - @Test - public void testCreateAndConfigure() { - TransportSslOptions options = createSslOptions(); - - assertEquals(TEST_SEND_BUFFER_SIZE, options.getSendBufferSize()); - assertEquals(TEST_RECEIVE_BUFFER_SIZE, options.getReceiveBufferSize()); - assertEquals(TEST_TRAFFIC_CLASS, options.getTrafficClass()); - assertEquals(TEST_TCP_NO_DELAY, options.isTcpNoDelay()); - assertEquals(TEST_TCP_KEEP_ALIVE, options.isTcpKeepAlive()); - assertEquals(TEST_SO_LINGER, options.getSoLinger()); - assertEquals(TEST_SO_TIMEOUT, options.getSoTimeout()); - assertEquals(TEST_CONNECT_TIMEOUT, options.getConnectTimeout()); - - assertEquals(CLIENT_KEYSTORE, options.getKeyStoreLocation()); - assertEquals(PASSWORD, options.getKeyStorePassword()); - assertEquals(CLIENT_TRUSTSTORE, options.getTrustStoreLocation()); - assertEquals(PASSWORD, options.getTrustStorePassword()); - assertEquals(KEYSTORE_TYPE, options.getKeyStoreType()); - assertEquals(KEYSTORE_TYPE, options.getTrustStoreType()); - assertEquals(KEY_ALIAS, options.getKeyAlias()); - assertEquals(CONTEXT_PROTOCOL, options.getContextProtocol()); - assertEquals(SSL_CONTEXT, options.getSslContextOverride()); - assertArrayEquals(ENABLED_PROTOCOLS,options.getEnabledProtocols()); - assertArrayEquals(DISABLED_PROTOCOLS,options.getDisabledProtocols()); - assertArrayEquals(ENABLED_CIPHERS,options.getEnabledCipherSuites()); - assertArrayEquals(DISABLED_CIPHERS,options.getDisabledCipherSuites()); - } - - @Test - public void testClone() { - TransportSslOptions options = createSslOptions().clone(); - - assertEquals(TEST_SEND_BUFFER_SIZE, options.getSendBufferSize()); - assertEquals(TEST_RECEIVE_BUFFER_SIZE, options.getReceiveBufferSize()); - assertEquals(TEST_TRAFFIC_CLASS, options.getTrafficClass()); - assertEquals(TEST_TCP_NO_DELAY, options.isTcpNoDelay()); - assertEquals(TEST_TCP_KEEP_ALIVE, options.isTcpKeepAlive()); - assertEquals(TEST_SO_LINGER, options.getSoLinger()); - assertEquals(TEST_SO_TIMEOUT, options.getSoTimeout()); - assertEquals(TEST_CONNECT_TIMEOUT, options.getConnectTimeout()); - assertEquals(TEST_DEFAULT_SSL_PORT, options.getDefaultSslPort()); - - assertEquals(CLIENT_KEYSTORE, options.getKeyStoreLocation()); - assertEquals(PASSWORD, options.getKeyStorePassword()); - assertEquals(CLIENT_TRUSTSTORE, options.getTrustStoreLocation()); - assertEquals(PASSWORD, options.getTrustStorePassword()); - assertEquals(KEYSTORE_TYPE, options.getKeyStoreType()); - assertEquals(KEYSTORE_TYPE, options.getTrustStoreType()); - assertEquals(KEY_ALIAS, options.getKeyAlias()); - assertEquals(CONTEXT_PROTOCOL, options.getContextProtocol()); - assertEquals(SSL_CONTEXT, options.getSslContextOverride()); - assertArrayEquals(ENABLED_PROTOCOLS,options.getEnabledProtocols()); - assertArrayEquals(DISABLED_PROTOCOLS,options.getDisabledProtocols()); - assertArrayEquals(ENABLED_CIPHERS,options.getEnabledCipherSuites()); - assertArrayEquals(DISABLED_CIPHERS,options.getDisabledCipherSuites()); - } - - private TransportSslOptions createSslOptions() { - TransportSslOptions options = new TransportSslOptions(); - - options.setKeyStoreLocation(CLIENT_KEYSTORE); - options.setTrustStoreLocation(CLIENT_TRUSTSTORE); - options.setKeyStorePassword(PASSWORD); - options.setTrustStorePassword(PASSWORD); - options.setStoreType(KEYSTORE_TYPE); - options.setTrustAll(TRUST_ALL); - options.setVerifyHost(VERIFY_HOST); - options.setKeyAlias(KEY_ALIAS); - options.setContextProtocol(CONTEXT_PROTOCOL); - options.setEnabledProtocols(ENABLED_PROTOCOLS); - options.setDisabledProtocols(DISABLED_PROTOCOLS); - options.setEnabledCipherSuites(ENABLED_CIPHERS); - options.setDisabledCipherSuites(DISABLED_CIPHERS); - - options.setSendBufferSize(TEST_SEND_BUFFER_SIZE); - options.setReceiveBufferSize(TEST_RECEIVE_BUFFER_SIZE); - options.setTrafficClass(TEST_TRAFFIC_CLASS); - options.setTcpNoDelay(TEST_TCP_NO_DELAY); - options.setTcpKeepAlive(TEST_TCP_KEEP_ALIVE); - options.setSoLinger(TEST_SO_LINGER); - options.setSoTimeout(TEST_SO_TIMEOUT); - options.setConnectTimeout(TEST_CONNECT_TIMEOUT); - options.setDefaultSslPort(TEST_DEFAULT_SSL_PORT); - options.setSslContextOverride(SSL_CONTEXT); - - return options; - } - - @Test - public void testSslSystemPropertiesInfluenceDefaults() { - String keystore = "keystore"; - String keystorePass = "keystorePass"; - String truststore = "truststore"; - String truststorePass = "truststorePass"; - - setSslSystemPropertiesForCurrentTest(keystore, keystorePass, truststore, truststorePass); - - TransportSslOptions options1 = new TransportSslOptions(); - - assertEquals(keystore, options1.getKeyStoreLocation()); - assertEquals(keystorePass, options1.getKeyStorePassword()); - assertEquals(truststore, options1.getTrustStoreLocation()); - assertEquals(truststorePass, options1.getTrustStorePassword()); - - keystore +="2"; - keystorePass +="2"; - truststore +="2"; - truststorePass +="2"; - - setSslSystemPropertiesForCurrentTest(keystore, keystorePass, truststore, truststorePass); - - TransportSslOptions options2 = new TransportSslOptions(); - - assertEquals(keystore, options2.getKeyStoreLocation()); - assertEquals(keystorePass, options2.getKeyStorePassword()); - assertEquals(truststore, options2.getTrustStoreLocation()); - assertEquals(truststorePass, options2.getTrustStorePassword()); - - assertNotEquals(options1.getKeyStoreLocation(), options2.getKeyStoreLocation()); - assertNotEquals(options1.getKeyStorePassword(), options2.getKeyStorePassword()); - assertNotEquals(options1.getTrustStoreLocation(), options2.getTrustStoreLocation()); - assertNotEquals(options1.getTrustStorePassword(), options2.getTrustStorePassword()); - } - - private void setSslSystemPropertiesForCurrentTest(String keystore, String keystorePassword, String truststore, String truststorePassword) { - setTestSystemProperty(JAVAX_NET_SSL_KEY_STORE, keystore); - setTestSystemProperty(JAVAX_NET_SSL_KEY_STORE_PASSWORD, keystorePassword); - setTestSystemProperty(JAVAX_NET_SSL_TRUST_STORE, truststore); - setTestSystemProperty(JAVAX_NET_SSL_TRUST_STORE_PASSWORD, truststorePassword); - } - -} http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportSupportTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportSupportTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportSupportTest.java index bf6e995..23b58ff 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportSupportTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/TransportSupportTest.java @@ -68,7 +68,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testLegacySslProtocolsDisabledByDefault() throws Exception { - TransportSslOptions options = createJksSslOptions(null); + TransportOptions options = createJksSslOptions(null); SSLContext context = TransportSupport.createSslContext(options); assertNotNull(context); @@ -83,7 +83,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslContextJksStore() throws Exception { - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); SSLContext context = TransportSupport.createSslContext(options); assertNotNull(context); @@ -93,7 +93,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslContextJksStoreWithConfiguredContextProtocol() throws Exception { - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); String contextProtocol = "TLSv1.2"; options.setContextProtocol(contextProtocol); @@ -105,42 +105,42 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test(expected = UnrecoverableKeyException.class) public void testCreateSslContextNoKeyStorePassword() throws Exception { - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); options.setKeyStorePassword(null); TransportSupport.createSslContext(options); } @Test(expected = IOException.class) public void testCreateSslContextWrongKeyStorePassword() throws Exception { - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); options.setKeyStorePassword("wrong"); TransportSupport.createSslContext(options); } @Test(expected = IOException.class) public void testCreateSslContextBadPathToKeyStore() throws Exception { - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); options.setKeyStoreLocation(CLIENT_JKS_KEYSTORE + ".bad"); TransportSupport.createSslContext(options); } @Test(expected = IOException.class) public void testCreateSslContextWrongTrustStorePassword() throws Exception { - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); options.setTrustStorePassword("wrong"); TransportSupport.createSslContext(options); } @Test(expected = IOException.class) public void testCreateSslContextBadPathToTrustStore() throws Exception { - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); options.setTrustStoreLocation(CLIENT_JKS_TRUSTSTORE + ".bad"); TransportSupport.createSslContext(options); } @Test public void testCreateSslContextJceksStore() throws Exception { - TransportSslOptions options = createJceksSslOptions(); + TransportOptions options = createJceksSslOptions(); SSLContext context = TransportSupport.createSslContext(options); assertNotNull(context); @@ -150,7 +150,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslContextPkcs12Store() throws Exception { - TransportSslOptions options = createPkcs12SslOptions(); + TransportOptions options = createPkcs12SslOptions(); SSLContext context = TransportSupport.createSslContext(options); assertNotNull(context); @@ -160,14 +160,14 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test(expected = IOException.class) public void testCreateSslContextIncorrectStoreType() throws Exception { - TransportSslOptions options = createPkcs12SslOptions(); + TransportOptions options = createPkcs12SslOptions(); options.setStoreType(KEYSTORE_JCEKS_TYPE); TransportSupport.createSslContext(options); } @Test public void testCreateSslEngineFromPkcs12Store() throws Exception { - TransportSslOptions options = createPkcs12SslOptions(); + TransportOptions options = createPkcs12SslOptions(); SSLContext context = TransportSupport.createSslContext(options); assertNotNull(context); @@ -181,7 +181,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslEngineFromPkcs12StoreWithExplicitEnabledProtocols() throws Exception { - TransportSslOptions options = createPkcs12SslOptions(ENABLED_PROTOCOLS); + TransportOptions options = createPkcs12SslOptions(ENABLED_PROTOCOLS); SSLContext context = TransportSupport.createSslContext(options); assertNotNull(context); @@ -194,7 +194,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslEngineFromJksStore() throws Exception { - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); SSLContext context = TransportSupport.createSslContext(options); assertNotNull(context); @@ -208,7 +208,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslEngineFromJksStoreWithExplicitEnabledProtocols() throws Exception { - TransportSslOptions options = createJksSslOptions(ENABLED_PROTOCOLS); + TransportOptions options = createJksSslOptions(ENABLED_PROTOCOLS); SSLContext context = TransportSupport.createSslContext(options); assertNotNull(context); @@ -222,7 +222,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslEngineFromJksStoreWithExplicitDisabledProtocols() throws Exception { // Discover the default enabled protocols - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); SSLEngine directEngine = createSSLEngineDirectly(options); String[] protocols = directEngine.getEnabledProtocols(); assertTrue("There were no initial protocols to choose from!", protocols.length > 0); @@ -242,7 +242,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslEngineFromJksStoreWithExplicitEnabledAndDisabledProtocols() throws Exception { // Discover the default enabled protocols - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); SSLEngine directEngine = createSSLEngineDirectly(options); String[] protocols = directEngine.getEnabledProtocols(); assertTrue("There were no initial protocols to choose from!", protocols.length > 1); @@ -266,7 +266,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslEngineFromJksStoreWithExplicitEnabledCiphers() throws Exception { // Discover the default enabled ciphers - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); SSLEngine directEngine = createSSLEngineDirectly(options); String[] ciphers = directEngine.getEnabledCipherSuites(); assertTrue("There were no initial ciphers to choose from!", ciphers.length > 0); @@ -286,7 +286,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslEngineFromJksStoreWithExplicitDisabledCiphers() throws Exception { // Discover the default enabled ciphers - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); SSLEngine directEngine = createSSLEngineDirectly(options); String[] ciphers = directEngine.getEnabledCipherSuites(); assertTrue("There were no initial ciphers to choose from!", ciphers.length > 0); @@ -306,7 +306,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslEngineFromJksStoreWithExplicitEnabledAndDisabledCiphers() throws Exception { // Discover the default enabled ciphers - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); SSLEngine directEngine = createSSLEngineDirectly(options); String[] ciphers = directEngine.getEnabledCipherSuites(); assertTrue("There werent enough initial ciphers to choose from!", ciphers.length > 1); @@ -329,7 +329,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslEngineFromJceksStore() throws Exception { - TransportSslOptions options = createJceksSslOptions(); + TransportOptions options = createJceksSslOptions(); SSLContext context = TransportSupport.createSslContext(options); assertNotNull(context); @@ -343,7 +343,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslEngineFromJceksStoreWithExplicitEnabledProtocols() throws Exception { - TransportSslOptions options = createJceksSslOptions(ENABLED_PROTOCOLS); + TransportOptions options = createJceksSslOptions(ENABLED_PROTOCOLS); SSLContext context = TransportSupport.createSslContext(options); assertNotNull(context); @@ -356,7 +356,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslEngineWithVerifyHost() throws Exception { - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); options.setVerifyHost(true); SSLContext context = TransportSupport.createSslContext(options); @@ -370,7 +370,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslEngineWithoutVerifyHost() throws Exception { - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); options.setVerifyHost(false); SSLContext context = TransportSupport.createSslContext(options); @@ -384,7 +384,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslContextWithKeyAliasWhichDoesntExist() throws Exception { - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); options.setKeyAlias(ALIAS_DOES_NOT_EXIST); try { @@ -397,7 +397,7 @@ public class TransportSupportTest extends QpidJmsTestCase { @Test public void testCreateSslContextWithKeyAliasWhichRepresentsNonKeyEntry() throws Exception { - TransportSslOptions options = createJksSslOptions(); + TransportOptions options = createJksSslOptions(); options.setKeyAlias(ALIAS_CA_CERT); try { @@ -408,12 +408,12 @@ public class TransportSupportTest extends QpidJmsTestCase { } } - private TransportSslOptions createJksSslOptions() { + private TransportOptions createJksSslOptions() { return createJksSslOptions(null); } - private TransportSslOptions createJksSslOptions(String[] enabledProtocols) { - TransportSslOptions options = new TransportSslOptions(); + private TransportOptions createJksSslOptions(String[] enabledProtocols) { + TransportOptions options = new TransportOptions(); options.setKeyStoreLocation(CLIENT_JKS_KEYSTORE); options.setTrustStoreLocation(CLIENT_JKS_TRUSTSTORE); @@ -427,12 +427,12 @@ public class TransportSupportTest extends QpidJmsTestCase { return options; } - private TransportSslOptions createJceksSslOptions() { + private TransportOptions createJceksSslOptions() { return createJceksSslOptions(null); } - private TransportSslOptions createJceksSslOptions(String[] enabledProtocols) { - TransportSslOptions options = new TransportSslOptions(); + private TransportOptions createJceksSslOptions(String[] enabledProtocols) { + TransportOptions options = new TransportOptions(); options.setKeyStoreLocation(CLIENT_JCEKS_KEYSTORE); options.setTrustStoreLocation(CLIENT_JCEKS_TRUSTSTORE); @@ -446,12 +446,12 @@ public class TransportSupportTest extends QpidJmsTestCase { return options; } - private TransportSslOptions createPkcs12SslOptions() { + private TransportOptions createPkcs12SslOptions() { return createPkcs12SslOptions(null); } - private TransportSslOptions createPkcs12SslOptions(String[] enabledProtocols) { - TransportSslOptions options = new TransportSslOptions(); + private TransportOptions createPkcs12SslOptions(String[] enabledProtocols) { + TransportOptions options = new TransportOptions(); options.setKeyStoreLocation(CLIENT_PKCS12_KEYSTORE); options.setTrustStoreLocation(CLIENT_PKCS12_TRUSTSTORE); @@ -465,10 +465,9 @@ public class TransportSupportTest extends QpidJmsTestCase { return options; } - private SSLEngine createSSLEngineDirectly(TransportSslOptions options) throws Exception { + private SSLEngine createSSLEngineDirectly(TransportOptions options) throws Exception { SSLContext context = TransportSupport.createSslContext(options); SSLEngine engine = context.createSSLEngine(); return engine; } - } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyEchoServer.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyEchoServer.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyEchoServer.java index 32e86f8..3e9cbdc 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyEchoServer.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyEchoServer.java @@ -32,12 +32,12 @@ public class NettyEchoServer extends NettyServer { private static final Logger LOG = LoggerFactory.getLogger(NettyEchoServer.class); - public NettyEchoServer(TransportOptions options, boolean needClientAuth) { - super(options, needClientAuth); + public NettyEchoServer(TransportOptions options, boolean secure, boolean needClientAuth) { + super(options, secure, needClientAuth); } - public NettyEchoServer(TransportOptions options, boolean needClientAuth, boolean webSocketServer) { - super(options, needClientAuth, webSocketServer); + public NettyEchoServer(TransportOptions options, boolean secure, boolean needClientAuth, boolean webSocketServer) { + super(options, secure, needClientAuth, webSocketServer); } @Override http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyServer.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyServer.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyServer.java index 55e3624..afde7d6 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyServer.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyServer.java @@ -31,7 +31,6 @@ import javax.net.ssl.SSLContext; import javax.net.ssl.SSLEngine; import org.apache.qpid.jms.transports.TransportOptions; -import org.apache.qpid.jms.transports.TransportSslOptions; import org.apache.qpid.jms.transports.TransportSupport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -62,6 +61,7 @@ import io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame; import io.netty.handler.codec.http.websocketx.ContinuationWebSocketFrame; import io.netty.handler.codec.http.websocketx.WebSocketFrame; import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler; +import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler.HandshakeComplete; import io.netty.handler.logging.LogLevel; import io.netty.handler.logging.LoggingHandler; import io.netty.handler.ssl.SslHandler; @@ -83,6 +83,7 @@ public abstract class NettyServer implements AutoCloseable { private EventLoopGroup workerGroup; private Channel serverChannel; private final TransportOptions options; + private final boolean secure; private int serverPort; private final boolean needClientAuth; private final boolean webSocketServer; @@ -90,25 +91,27 @@ public abstract class NettyServer implements AutoCloseable { private String webSocketPath = WEBSOCKET_PATH; private volatile boolean fragmentWrites; private volatile SslHandler sslHandler; + private volatile HandshakeComplete handshakeComplete; private final AtomicBoolean started = new AtomicBoolean(); - public NettyServer(TransportOptions options) { - this(options, false); + public NettyServer(TransportOptions options, boolean secure) { + this(options, secure, false); } - public NettyServer(TransportOptions options, boolean needClientAuth) { - this(options, needClientAuth, false); + public NettyServer(TransportOptions options, boolean secure, boolean needClientAuth) { + this(options, secure, needClientAuth, false); } - public NettyServer(TransportOptions options, boolean needClientAuth, boolean webSocketServer) { + public NettyServer(TransportOptions options, boolean secure, boolean needClientAuth, boolean webSocketServer) { + this.secure = secure; this.options = options; this.needClientAuth = needClientAuth; this.webSocketServer = webSocketServer; } public boolean isSecureServer() { - return options instanceof TransportSslOptions; + return secure; } public boolean isWebSocketServer() { @@ -143,6 +146,10 @@ public abstract class NettyServer implements AutoCloseable { return fragmentWrites; } + public HandshakeComplete getHandshakeComplete() { + return handshakeComplete; + } + protected URI getConnectionURI() throws Exception { if (!started.get()) { throw new IllegalStateException("Cannot get URI of non-started server"); @@ -193,10 +200,9 @@ public abstract class NettyServer implements AutoCloseable { @Override public void initChannel(Channel ch) throws Exception { - if (options instanceof TransportSslOptions) { - TransportSslOptions sslOptions = (TransportSslOptions) options; - SSLContext context = TransportSupport.createSslContext(sslOptions); - SSLEngine engine = TransportSupport.createSslEngine(context, sslOptions); + if (isSecureServer()) { + SSLContext context = TransportSupport.createSslContext(options); + SSLEngine engine = TransportSupport.createSslEngine(context, options); engine.setUseClientMode(false); engine.setNeedClientAuth(needClientAuth); sslHandler = new SslHandler(engine); @@ -273,7 +279,7 @@ public abstract class NettyServer implements AutoCloseable { public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception { LOG.trace("NettyServerHandler: Channel write: {}", msg); if (isWebSocketServer() && msg instanceof ByteBuf) { - if(isFragmentWrites()) { + if (isFragmentWrites()) { ByteBuf orig = (ByteBuf) msg; int origIndex = orig.readerIndex(); int split = orig.readableBytes()/2; @@ -300,6 +306,13 @@ public abstract class NettyServer implements AutoCloseable { private class NettyServerInboundHandler extends ChannelInboundHandlerAdapter { @Override + public void userEventTriggered(ChannelHandlerContext context, Object payload) { + if (payload instanceof HandshakeComplete) { + handshakeComplete = (HandshakeComplete) payload; + } + } + + @Override public void channelActive(final ChannelHandlerContext ctx) { LOG.info("NettyServerHandler -> New active channel: {}", ctx.channel()); SslHandler handler = ctx.pipeline().get(SslHandler.class); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySimpleAmqpServer.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySimpleAmqpServer.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySimpleAmqpServer.java index 1525144..01d1f32 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySimpleAmqpServer.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySimpleAmqpServer.java @@ -85,16 +85,16 @@ public class NettySimpleAmqpServer extends NettyServer { private boolean allowNonSaslConnections; private ConnectionIntercepter connectionIntercepter; - public NettySimpleAmqpServer(TransportOptions options) { + public NettySimpleAmqpServer(TransportOptions options, boolean secure) { this(options, false, false); } - public NettySimpleAmqpServer(TransportOptions options, boolean needClientAuth) { - this(options, needClientAuth, false); + public NettySimpleAmqpServer(TransportOptions options, boolean secure, boolean needClientAuth) { + this(options, secure, needClientAuth, false); } - public NettySimpleAmqpServer(TransportOptions options, boolean needClientAuth, boolean webSocketServer) { - super(options, needClientAuth, webSocketServer); + public NettySimpleAmqpServer(TransportOptions options, boolean secure, boolean needClientAuth, boolean webSocketServer) { + super(options, secure, needClientAuth, webSocketServer); this.serializer = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() { http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportFactoryTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportFactoryTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportFactoryTest.java index c37a29e..054d41c 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportFactoryTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportFactoryTest.java @@ -32,7 +32,6 @@ import java.util.List; import org.apache.qpid.jms.transports.Transport; import org.apache.qpid.jms.transports.TransportOptions; -import org.apache.qpid.jms.transports.TransportSslOptions; import org.junit.Test; /** @@ -90,18 +89,15 @@ public class NettySslTransportFactoryTest { assertEquals(TransportOptions.DEFAULT_SO_LINGER, options.getSoLinger()); assertEquals(TransportOptions.DEFAULT_SO_TIMEOUT, options.getSoTimeout()); - assertTrue(options instanceof TransportSslOptions); - TransportSslOptions sslOptions = (TransportSslOptions) options; + assertEquals(TransportOptions.DEFAULT_CONTEXT_PROTOCOL, options.getContextProtocol()); + assertNull(options.getEnabledProtocols()); + assertArrayEquals(TransportOptions.DEFAULT_DISABLED_PROTOCOLS.toArray(new String[0]), options.getDisabledProtocols()); + assertNull(options.getEnabledCipherSuites()); - assertEquals(TransportSslOptions.DEFAULT_CONTEXT_PROTOCOL, sslOptions.getContextProtocol()); - assertNull(sslOptions.getEnabledProtocols()); - assertArrayEquals(TransportSslOptions.DEFAULT_DISABLED_PROTOCOLS.toArray(new String[0]), sslOptions.getDisabledProtocols()); - assertNull(sslOptions.getEnabledCipherSuites()); - - assertEquals(TransportSslOptions.DEFAULT_STORE_TYPE, sslOptions.getKeyStoreType()); - assertEquals(TransportSslOptions.DEFAULT_STORE_TYPE, sslOptions.getTrustStoreType()); - assertEquals(TransportSslOptions.DEFAULT_VERIFY_HOST, sslOptions.isVerifyHost()); - assertNull(sslOptions.getKeyAlias()); + assertEquals(TransportOptions.DEFAULT_STORE_TYPE, options.getKeyStoreType()); + assertEquals(TransportOptions.DEFAULT_STORE_TYPE, options.getTrustStoreType()); + assertEquals(TransportOptions.DEFAULT_VERIFY_HOST, options.isVerifyHost()); + assertNull(options.getKeyAlias()); } @Test(expected = IllegalArgumentException.class) @@ -162,8 +158,8 @@ public class NettySslTransportFactoryTest { assertEquals(CUSTOM_SO_LINGER, options.getSoLinger()); assertEquals(CUSTOM_SO_TIMEOUT, options.getSoTimeout()); - assertTrue(options instanceof TransportSslOptions); - TransportSslOptions sslOptions = (TransportSslOptions) options; + assertTrue(options instanceof TransportOptions); + TransportOptions sslOptions = options; List<String> enabledProtocols = Arrays.asList(sslOptions.getEnabledProtocols()); List<String> customProtocols = Arrays.asList(CUSTOM_ENABLED_PROTOCOLS); @@ -197,11 +193,11 @@ public class NettySslTransportFactoryTest { NettySslTransportFactory factory = new NettySslTransportFactory(); Transport transport = factory.createTransport(configuredURI); TransportOptions options = transport.getTransportOptions(); - assertTrue(options instanceof TransportSslOptions); - TransportSslOptions sslOptions = (TransportSslOptions) options; + assertTrue(options instanceof TransportOptions); + TransportOptions sslOptions = options; assertEquals(CUSTOM_STORE_TYPE, sslOptions.getKeyStoreType()); - assertEquals(TransportSslOptions.DEFAULT_STORE_TYPE, sslOptions.getTrustStoreType()); + assertEquals(TransportOptions.DEFAULT_STORE_TYPE, sslOptions.getTrustStoreType()); } @Test @@ -213,10 +209,10 @@ public class NettySslTransportFactoryTest { NettySslTransportFactory factory = new NettySslTransportFactory(); Transport transport = factory.createTransport(configuredURI); TransportOptions options = transport.getTransportOptions(); - assertTrue(options instanceof TransportSslOptions); - TransportSslOptions sslOptions = (TransportSslOptions) options; + assertTrue(options instanceof TransportOptions); + TransportOptions sslOptions = options; - assertEquals(TransportSslOptions.DEFAULT_STORE_TYPE, sslOptions.getKeyStoreType()); + assertEquals(TransportOptions.DEFAULT_STORE_TYPE, sslOptions.getKeyStoreType()); assertEquals(CUSTOM_STORE_TYPE, sslOptions.getTrustStoreType()); } @@ -230,11 +226,10 @@ public class NettySslTransportFactoryTest { NettySslTransportFactory factory = new NettySslTransportFactory(); Transport transport = factory.createTransport(configuredURI); TransportOptions options = transport.getTransportOptions(); - assertTrue(options instanceof TransportSslOptions); - TransportSslOptions sslOptions = (TransportSslOptions) options; + assertTrue(options instanceof TransportOptions); - assertEquals(CUSTOM_STORE_TYPE_PKCS12, sslOptions.getKeyStoreType()); - assertEquals(CUSTOM_STORE_TYPE, sslOptions.getTrustStoreType()); + assertEquals(CUSTOM_STORE_TYPE_PKCS12, options.getKeyStoreType()); + assertEquals(CUSTOM_STORE_TYPE, options.getTrustStoreType()); } @Test @@ -249,8 +244,8 @@ public class NettySslTransportFactoryTest { NettySslTransportFactory factory = new NettySslTransportFactory(); Transport transport = factory.createTransport(configuredURI); TransportOptions options = transport.getTransportOptions(); - assertTrue(options instanceof TransportSslOptions); - TransportSslOptions sslOptions = (TransportSslOptions) options; + assertTrue(options instanceof TransportOptions); + TransportOptions sslOptions = options; assertEquals(CUSTOM_TRUST_STORE_LOCATION, sslOptions.getTrustStoreLocation()); assertEquals(CUSTOM_TRUST_STORE_PASSWORD, sslOptions.getTrustStorePassword()); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportTest.java index 4fbc66c..fa62a10 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettySslTransportTest.java @@ -31,7 +31,6 @@ import java.security.cert.X509Certificate; import org.apache.qpid.jms.transports.Transport; import org.apache.qpid.jms.transports.TransportListener; import org.apache.qpid.jms.transports.TransportOptions; -import org.apache.qpid.jms.transports.TransportSslOptions; import org.apache.qpid.jms.util.QpidJMSTestRunner; import org.apache.qpid.jms.util.Repeat; import org.junit.Test; @@ -110,7 +109,7 @@ public class NettySslTransportTest extends NettyTcpTransportTest { int port = server.getServerPort(); URI serverLocation = new URI("tcp://localhost:" + port); - TransportSslOptions options = new TransportSslOptions(); + TransportOptions options = new TransportOptions(); options.setTrustStoreLocation(OTHER_CA_TRUSTSTORE); options.setTrustStorePassword(PASSWORD); @@ -157,7 +156,7 @@ public class NettySslTransportTest extends NettyTcpTransportTest { @Test(timeout = 60 * 1000) public void testConnectWithNeedClientAuth() throws Exception { - TransportSslOptions serverOptions = createServerOptions(); + TransportOptions serverOptions = createServerOptions(); try (NettyEchoServer server = createEchoServer(serverOptions, true)) { server.start(); @@ -165,7 +164,7 @@ public class NettySslTransportTest extends NettyTcpTransportTest { int port = server.getServerPort(); URI serverLocation = new URI("tcp://localhost:" + port); - TransportSslOptions clientOptions = createClientOptions(); + TransportOptions clientOptions = createClientOptions(); NettyTcpTransport transport = createTransport(serverLocation, testListener, clientOptions); try { @@ -195,7 +194,7 @@ public class NettySslTransportTest extends NettyTcpTransportTest { } private void doClientAuthAliasTestImpl(String alias, String expectedDN) throws Exception, URISyntaxException, IOException, InterruptedException { - TransportSslOptions serverOptions = createServerOptions(); + TransportOptions serverOptions = createServerOptions(); try (NettyEchoServer server = createEchoServer(serverOptions, true)) { server.start(); @@ -203,7 +202,7 @@ public class NettySslTransportTest extends NettyTcpTransportTest { int port = server.getServerPort(); URI serverLocation = new URI("tcp://localhost:" + port); - TransportSslOptions clientOptions = createClientOptions(); + TransportOptions clientOptions = createClientOptions(); clientOptions.setKeyStoreLocation(CLIENT_MULTI_KEYSTORE); clientOptions.setKeyAlias(alias); @@ -244,7 +243,7 @@ public class NettySslTransportTest extends NettyTcpTransportTest { } private void doConnectToServerVerifyHostTestImpl(boolean verifyHost) throws Exception, URISyntaxException, IOException, InterruptedException { - TransportSslOptions serverOptions = createServerOptions(); + TransportOptions serverOptions = createServerOptions(); serverOptions.setKeyStoreLocation(SERVER_WRONG_HOST_KEYSTORE); try (NettyEchoServer server = createEchoServer(serverOptions)) { @@ -253,7 +252,7 @@ public class NettySslTransportTest extends NettyTcpTransportTest { int port = server.getServerPort(); URI serverLocation = new URI("tcp://localhost:" + port); - TransportSslOptions clientOptions = createClientOptionsIsVerify(verifyHost); + TransportOptions clientOptions = createClientOptionsIsVerify(verifyHost); if (verifyHost) { assertTrue("Expected verifyHost to be true", clientOptions.isVerifyHost()); @@ -288,16 +287,26 @@ public class NettySslTransportTest extends NettyTcpTransportTest { @Override protected NettyTcpTransport createTransport(URI serverLocation, TransportListener listener, TransportOptions options) { - return new NettyTcpTransport(listener, serverLocation, options); + return new NettyTcpTransport(listener, serverLocation, options, true); } @Override - protected TransportSslOptions createClientOptions() { + protected NettyEchoServer createEchoServer(TransportOptions options) { + return createEchoServer(options, false); + } + + @Override + protected NettyEchoServer createEchoServer(TransportOptions options, boolean needClientAuth) { + return new NettyEchoServer(options, true, needClientAuth); + } + + @Override + protected TransportOptions createClientOptions() { return createClientOptionsIsVerify(false); } - protected TransportSslOptions createClientOptionsIsVerify(boolean verifyHost) { - TransportSslOptions options = new TransportSslOptions(); + protected TransportOptions createClientOptionsIsVerify(boolean verifyHost) { + TransportOptions options = new TransportOptions(); options.setKeyStoreLocation(CLIENT_KEYSTORE); options.setKeyStorePassword(PASSWORD); @@ -310,8 +319,8 @@ public class NettySslTransportTest extends NettyTcpTransportTest { } @Override - protected TransportSslOptions createServerOptions() { - TransportSslOptions options = new TransportSslOptions(); + protected TransportOptions createServerOptions() { + TransportOptions options = new TransportOptions(); options.setKeyStoreLocation(SERVER_KEYSTORE); options.setKeyStorePassword(PASSWORD); @@ -323,8 +332,8 @@ public class NettySslTransportTest extends NettyTcpTransportTest { return options; } - protected TransportSslOptions createClientOptionsWithoutTrustStore(boolean trustAll) { - TransportSslOptions options = new TransportSslOptions(); + protected TransportOptions createClientOptionsWithoutTrustStore(boolean trustAll) { + TransportOptions options = new TransportOptions(); options.setStoreType(KEYSTORE_TYPE); options.setTrustAll(trustAll); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpToMockServerTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpToMockServerTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpToMockServerTest.java index 14418ef..57fb5eb 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpToMockServerTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpToMockServerTest.java @@ -21,6 +21,8 @@ import static org.apache.qpid.jms.provider.amqp.AmqpSupport.OPEN_HOSTNAME; import static org.apache.qpid.jms.provider.amqp.AmqpSupport.PATH; import static org.apache.qpid.jms.provider.amqp.AmqpSupport.PORT; import static org.apache.qpid.jms.provider.amqp.AmqpSupport.SCHEME; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -34,6 +36,7 @@ import javax.jms.Connection; import javax.jms.InvalidClientIDException; import javax.jms.Session; +import org.apache.qpid.jms.JmsConnectionExtensions; import org.apache.qpid.jms.JmsConnectionFactory; import org.apache.qpid.jms.test.QpidJmsTestCase; import org.apache.qpid.jms.transports.TransportOptions; @@ -47,6 +50,8 @@ import org.junit.rules.TestName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler.HandshakeComplete; + /** * Test Client connection to Mock AMQP server. */ @@ -294,6 +299,43 @@ public class NettyTcpToMockServerTest extends QpidJmsTestCase { } } + @Test(timeout = 60000) + public void testConnectToWSServerWithHttpHeaderConnectionExtensions() throws Exception { + try (NettySimpleAmqpServer server = createWSServer(createServerOptions())) { + server.start(); + + JmsConnectionFactory cf = new JmsConnectionFactory(createConnectionURI(server)); + cf.setExtension(JmsConnectionExtensions.HTTP_HEADERS_OVERRIDE.toString(), (connection) -> { + Map<String, String> headers = new HashMap<>(); + + headers.put("test-header1", "FOO"); + headers.put("test-header2", "BAR"); + + return headers; + }); + + Connection connection = null; + try { + connection = cf.createConnection(); + connection.start(); + + assertNotNull(server.getHandshakeComplete()); + + HandshakeComplete handshake = server.getHandshakeComplete(); + assertTrue(handshake.requestHeaders().contains("test-header1")); + assertTrue(handshake.requestHeaders().contains("test-header2")); + + assertEquals("FOO", handshake.requestHeaders().get("test-header1")); + assertEquals("BAR", handshake.requestHeaders().get("test-header2")); + } catch (Exception ex) { + LOG.error("Caught exception while attempting to connect"); + fail("Should be able to connect in this simple test"); + } finally { + connection.close(); + } + } + } + protected URI createConnectionURI(NettyServer server) throws Exception { return createConnectionURI(server, null); } @@ -328,10 +370,10 @@ public class NettyTcpToMockServerTest extends QpidJmsTestCase { } protected NettySimpleAmqpServer createServer(TransportOptions options, boolean needClientAuth) { - return new NettySimpleAmqpServer(options, needClientAuth); + return new NettySimpleAmqpServer(options, false, needClientAuth); } protected NettySimpleAmqpServer createWSServer(TransportOptions options) { - return new NettySimpleAmqpServer(options, false, true); + return new NettySimpleAmqpServer(options, false, false, true); } } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportFactoryTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportFactoryTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportFactoryTest.java index fb81b35..1f0f97c 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportFactoryTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportFactoryTest.java @@ -81,6 +81,13 @@ public class NettyTcpTransportFactoryTest { factory.createTransport(BASE_URI); } + @Test(expected = IllegalArgumentException.class) + public void testCreateTransportWithHttpHeaders() throws Exception { + URI BASE_URI = new URI("tcp://localhost:5672?transport.httpHeaders=A"); + NettyTcpTransportFactory factory = new NettyTcpTransportFactory(); + factory.createTransport(BASE_URI); + } + @Test(expected = IOException.class) public void testCreateWithBadKey() throws Exception { URI BASE_URI = new URI("tcp://localhost:5672?transport.trafficClass=4096"); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportTest.java index 3d150f5..91a33b9 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportTest.java @@ -649,9 +649,9 @@ public class NettyTcpTransportTest extends QpidJmsTestCase { protected Transport createTransport(URI serverLocation, TransportListener listener, TransportOptions options) { if (listener == null) { - return new NettyTcpTransport(serverLocation, options); + return new NettyTcpTransport(serverLocation, options, false); } else { - return new NettyTcpTransport(listener, serverLocation, options); + return new NettyTcpTransport(listener, serverLocation, options, false); } } @@ -676,7 +676,7 @@ public class NettyTcpTransportTest extends QpidJmsTestCase { } protected NettyEchoServer createEchoServer(TransportOptions options, boolean needClientAuth) { - return new NettyEchoServer(options, needClientAuth); + return new NettyEchoServer(options, false, needClientAuth, false); } public class NettyTransportListener implements TransportListener { http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyWsTransportTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyWsTransportTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyWsTransportTest.java index f7b6b69..fa1935f 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyWsTransportTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyWsTransportTest.java @@ -18,6 +18,7 @@ package org.apache.qpid.jms.transports.netty; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -37,6 +38,7 @@ import org.slf4j.LoggerFactory; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufUtil; import io.netty.buffer.Unpooled; +import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler.HandshakeComplete; /** * Test the Netty based WebSocket Transport @@ -47,15 +49,15 @@ public class NettyWsTransportTest extends NettyTcpTransportTest { @Override protected NettyEchoServer createEchoServer(TransportOptions options, boolean needClientAuth) { - return new NettyEchoServer(options, needClientAuth, true); + return new NettyEchoServer(options, false, needClientAuth, true); } @Override protected Transport createTransport(URI serverLocation, TransportListener listener, TransportOptions options) { if (listener == null) { - return new NettyWsTransport(serverLocation, options); + return new NettyWsTransport(serverLocation, options, false); } else { - return new NettyWsTransport(listener, serverLocation, options); + return new NettyWsTransport(listener, serverLocation, options, false); } } @@ -316,4 +318,66 @@ public class NettyWsTransportTest extends NettyTcpTransportTest { }, 10000, 50)); } } + + @Test(timeout = 30000) + public void testCreateWithHttpHeadersSpecified() throws Exception { + URI BASE_URI = new URI("ws://localhost:5672?" + + "transport.ws.httpHeader.first=FOO&" + + "transport.ws.httpHeader.second=BAR"); + + NettyWsTransportFactory factory = new NettyWsTransportFactory(); + + Transport transport = factory.createTransport(BASE_URI); + + assertNotNull(transport); + assertTrue(transport instanceof NettyWsTransport); + assertFalse(transport.isConnected()); + + TransportOptions options = transport.getTransportOptions(); + assertNotNull(options); + + assertTrue(options.getHttpHeaders().containsKey("first")); + assertTrue(options.getHttpHeaders().containsKey("second")); + + assertEquals("FOO", options.getHttpHeaders().get("first")); + assertEquals("BAR", options.getHttpHeaders().get("second")); + } + + @Test(timeout = 60 * 1000) + public void testConfiguredHttpHeadersArriveAtServer() throws Exception { + try (NettyEchoServer server = createEchoServer(createServerOptions())) { + server.start(); + + int port = server.getServerPort(); + URI serverLocation = new URI("tcp://localhost:" + port); + + TransportOptions clientOptions = createClientOptions(); + clientOptions.getHttpHeaders().put("test-header1", "FOO"); + clientOptions.getHttpHeaders().put("test-header2", "BAR"); + + Transport transport = createTransport(serverLocation, testListener, clientOptions); + try { + transport.connect(null); + LOG.info("Connected to server:{} as expected.", serverLocation); + } catch (Exception e) { + fail("Should have connected to the server at " + serverLocation + " but got exception: " + e); + } + + assertTrue(transport.isConnected()); + assertEquals(serverLocation, transport.getRemoteLocation()); + + HandshakeComplete handshake = server.getHandshakeComplete(); + assertTrue(handshake.requestHeaders().contains("test-header1")); + assertTrue(handshake.requestHeaders().contains("test-header2")); + + assertEquals("FOO", handshake.requestHeaders().get("test-header1")); + assertEquals("BAR", handshake.requestHeaders().get("test-header2")); + + transport.close(); + } + + assertTrue(!transportClosed); // Normal shutdown does not trigger the event. + assertTrue(exceptions.isEmpty()); + assertTrue(data.isEmpty()); + } } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyWssTransportTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyWssTransportTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyWssTransportTest.java index 69fdd57..f157537 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyWssTransportTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyWssTransportTest.java @@ -28,15 +28,15 @@ public class NettyWssTransportTest extends NettySslTransportTest { @Override protected NettyEchoServer createEchoServer(TransportOptions options, boolean needClientAuth) { - return new NettyEchoServer(options, needClientAuth, true); + return new NettyEchoServer(options, true, needClientAuth, true); } @Override protected NettyTcpTransport createTransport(URI serverLocation, TransportListener listener, TransportOptions options) { if (listener == null) { - return new NettyWsTransport(serverLocation, options); + return new NettyWsTransport(serverLocation, options, true); } else { - return new NettyWsTransport(listener, serverLocation, options); + return new NettyWsTransport(listener, serverLocation, options, true); } } } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSSLConnectionTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSSLConnectionTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSSLConnectionTest.java index a458fe6..dae603e 100644 --- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSSLConnectionTest.java +++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsSSLConnectionTest.java @@ -25,7 +25,7 @@ import javax.net.ssl.SSLContext; import org.apache.activemq.broker.BrokerService; import org.apache.activemq.broker.SslContext; import org.apache.activemq.broker.TransportConnector; -import org.apache.qpid.jms.transports.TransportSslOptions; +import org.apache.qpid.jms.transports.TransportOptions; import org.apache.qpid.jms.transports.TransportSupport; import org.junit.After; import org.junit.Before; @@ -53,7 +53,7 @@ public class JmsSSLConnectionTest { brokerService.setUseJmx(false); // Setup broker SSL context... - TransportSslOptions sslOptions = new TransportSslOptions(); + TransportOptions sslOptions = new TransportOptions(); sslOptions.setKeyStoreLocation(KEYSTORE); sslOptions.setKeyStorePassword(PASSWORD); sslOptions.setVerifyHost(false); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8bf97c4b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsWSSConnectionTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsWSSConnectionTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsWSSConnectionTest.java index 4e3b183..3a01e73 100644 --- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsWSSConnectionTest.java +++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/JmsWSSConnectionTest.java @@ -28,7 +28,7 @@ import javax.net.ssl.SSLContext; import org.apache.activemq.broker.BrokerService; import org.apache.activemq.broker.SslContext; import org.apache.activemq.broker.TransportConnector; -import org.apache.qpid.jms.transports.TransportSslOptions; +import org.apache.qpid.jms.transports.TransportOptions; import org.apache.qpid.jms.transports.TransportSupport; import org.junit.After; import org.junit.Before; @@ -60,7 +60,7 @@ public class JmsWSSConnectionTest { brokerService.setUseJmx(false); // Setup broker SSL context... - TransportSslOptions sslOptions = new TransportSslOptions(); + TransportOptions sslOptions = new TransportOptions(); sslOptions.setKeyStoreLocation(KEYSTORE); sslOptions.setKeyStorePassword(PASSWORD); sslOptions.setVerifyHost(false); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
