Polished the SSLContextParametersTest
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/fd32a08e Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/fd32a08e Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/fd32a08e Branch: refs/heads/camel-2.11.x Commit: fd32a08e85d58e23d96968dffa9dacd7604ba777 Parents: 202cca1 Author: Willem Jiang <willem.ji...@gmail.com> Authored: Thu Nov 14 10:40:41 2013 +0800 Committer: Willem Jiang <willem.ji...@gmail.com> Committed: Thu Nov 14 12:03:31 2013 +0800 ---------------------------------------------------------------------- .../camel/util/jsse/FilterParametersTest.java | 2 +- .../util/jsse/SSLContextParametersTest.java | 70 +++++++++++++------- 2 files changed, 48 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/fd32a08e/camel-core/src/test/java/org/apache/camel/util/jsse/FilterParametersTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/util/jsse/FilterParametersTest.java b/camel-core/src/test/java/org/apache/camel/util/jsse/FilterParametersTest.java index d3e0a9c..b8b6283 100644 --- a/camel-core/src/test/java/org/apache/camel/util/jsse/FilterParametersTest.java +++ b/camel-core/src/test/java/org/apache/camel/util/jsse/FilterParametersTest.java @@ -90,7 +90,7 @@ public class FilterParametersTest extends AbstractJsseParametersTest { public void test() { FilterParameters filter = new FilterParameters(); - filter.getInclude().add("asdfsadfsadfsadf"); + filter.getInclude().add("asdf.*"); filter.getExclude().add("aa"); FilterParameters.Patterns patterns = filter.getPatterns(); http://git-wip-us.apache.org/repos/asf/camel/blob/fd32a08e/camel-core/src/test/java/org/apache/camel/util/jsse/SSLContextParametersTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/util/jsse/SSLContextParametersTest.java b/camel-core/src/test/java/org/apache/camel/util/jsse/SSLContextParametersTest.java index 74424f8..cecde3d 100644 --- a/camel-core/src/test/java/org/apache/camel/util/jsse/SSLContextParametersTest.java +++ b/camel-core/src/test/java/org/apache/camel/util/jsse/SSLContextParametersTest.java @@ -16,9 +16,12 @@ */ package org.apache.camel.util.jsse; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.LinkedList; import java.util.List; +import java.util.regex.Pattern; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLEngine; @@ -29,6 +32,17 @@ import org.apache.camel.CamelContext; public class SSLContextParametersTest extends AbstractJsseParametersTest { + public void testFilter() { + SSLContextParameters parameters = new SSLContextParameters(); + + Collection<String> result = parameters.filter(null, + Arrays.asList(new String[]{"SSLv3", "TLSv1", "TLSv1.1"}), + Arrays.asList(new Pattern[]{Pattern.compile("TLS.*")}), + Arrays.asList(new Pattern[0])); + assertEquals(2, result.size()); + assertStartsWith(result, "TLS"); + } + public void testPropertyPlaceholders() throws Exception { CamelContext camelContext = this.createPropertiesPlaceholderAwareContext(); @@ -173,6 +187,8 @@ public class SSLContextParametersTest extends AbstractJsseParametersTest { socket = (SSLSocket) context.getSocketFactory().createSocket(); serverSocket = (SSLServerSocket) context.getServerSocketFactory().createServerSocket(); + assertEquals(0, engine.getEnabledCipherSuites().length); + assertEquals(0, socket.getEnabledCipherSuites().length); assertEquals(0, serverSocket.getEnabledCipherSuites().length); // Csp on server params @@ -474,39 +490,41 @@ public class SSLContextParametersTest extends AbstractJsseParametersTest { SSLContext context = scp.createSSLContext(); + CipherSuitesParameters csp = new CipherSuitesParameters(); + scp.setCipherSuites(csp); + SSLEngine engine = context.createSSLEngine(); SSLSocket socket = (SSLSocket) context.getSocketFactory().createSocket(); SSLServerSocket serverSocket = (SSLServerSocket) context.getServerSocketFactory().createServerSocket(); - assertTrue(Arrays.equals(controlEngine.getEnabledProtocols(), engine.getEnabledProtocols())); - assertTrue(Arrays.equals(controlSocket.getEnabledProtocols(), socket.getEnabledProtocols())); - checkProtocols(controlServerSocket.getEnabledProtocols(), serverSocket.getEnabledProtocols()); + assertTrue(Arrays.equals(controlEngine.getEnabledCipherSuites(), engine.getEnabledCipherSuites())); + assertTrue(Arrays.equals(controlSocket.getEnabledCipherSuites(), socket.getEnabledCipherSuites())); + assertTrue(Arrays.equals(this.getDefaultCipherSuiteIncludes(controlServerSocket.getSupportedCipherSuites()), serverSocket.getEnabledCipherSuites())); - // empty filter + // empty filter FilterParameters filter = new FilterParameters(); - scp.setSecureSocketProtocolsFilter(filter); + scp.setCipherSuitesFilter(filter); context = scp.createSSLContext(); engine = context.createSSLEngine(); socket = (SSLSocket) context.getSocketFactory().createSocket(); serverSocket = (SSLServerSocket) context.getServerSocketFactory().createServerSocket(); - assertEquals(0, engine.getEnabledProtocols().length); - assertEquals(0, socket.getEnabledProtocols().length); - assertEquals(0, serverSocket.getEnabledProtocols().length); + assertEquals(0, engine.getEnabledCipherSuites().length); + assertEquals(0, socket.getEnabledCipherSuites().length); + assertEquals(0, serverSocket.getEnabledCipherSuites().length); // explicit filter - filter.getInclude().add(".*"); context = scp.createSSLContext(); engine = context.createSSLEngine(); socket = (SSLSocket) context.getSocketFactory().createSocket(); serverSocket = (SSLServerSocket) context.getServerSocketFactory().createServerSocket(); - assertTrue(Arrays.equals(controlEngine.getEnabledProtocols(), engine.getEnabledProtocols())); - assertTrue(Arrays.equals(controlSocket.getEnabledProtocols(), socket.getEnabledProtocols())); - checkProtocols(controlServerSocket.getEnabledProtocols(), serverSocket.getEnabledProtocols()); - + assertEquals(0, engine.getEnabledCipherSuites().length); + assertEquals(0, socket.getEnabledCipherSuites().length); + assertEquals(0, serverSocket.getEnabledCipherSuites().length); + // explicit filter with excludes (excludes overrides) filter.getExclude().add(".*"); context = scp.createSSLContext(); @@ -514,26 +532,27 @@ public class SSLContextParametersTest extends AbstractJsseParametersTest { socket = (SSLSocket) context.getSocketFactory().createSocket(); serverSocket = (SSLServerSocket) context.getServerSocketFactory().createServerSocket(); - assertEquals(0, engine.getEnabledProtocols().length); - assertEquals(0, socket.getEnabledProtocols().length); - assertEquals(0, serverSocket.getEnabledProtocols().length); + assertEquals(0, engine.getEnabledCipherSuites().length); + assertEquals(0, socket.getEnabledCipherSuites().length); + assertEquals(0, serverSocket.getEnabledCipherSuites().length); // explicit filter single include filter.getInclude().clear(); filter.getExclude().clear(); + csp.getCipherSuite().add(controlEngine.getEnabledCipherSuites()[0]); filter.getInclude().add("TLS.*"); context = scp.createSSLContext(); engine = context.createSSLEngine(); socket = (SSLSocket) context.getSocketFactory().createSocket(); serverSocket = (SSLServerSocket) context.getServerSocketFactory().createServerSocket(); - assertTrue(engine.getEnabledProtocols().length >= 1); - assertStartsWith(engine.getEnabledProtocols(), "TLS"); - assertTrue(socket.getEnabledProtocols().length >= 1); - assertStartsWith(socket.getEnabledProtocols(), "TLS"); - assertTrue(socket.getEnabledProtocols().length >= 1); - assertStartsWith(serverSocket.getEnabledProtocols(), "TLS"); + assertTrue(engine.getEnabledCipherSuites().length >= 1); + assertStartsWith(engine.getEnabledCipherSuites(), "TLS"); + assertTrue(socket.getEnabledCipherSuites().length >= 1); + assertStartsWith(socket.getEnabledCipherSuites(), "TLS"); + assertTrue(serverSocket.getEnabledCipherSuites().length >= 1); + assertStartsWith(serverSocket.getEnabledCipherSuites(), "TLS"); } public void testSecureSocketProtocols() throws Exception { @@ -659,7 +678,6 @@ public class SSLContextParametersTest extends AbstractJsseParametersTest { assertEquals(0, serverSocket.getEnabledProtocols().length); // explicit filter single include - filter.getInclude().clear(); filter.getExclude().clear(); filter.getInclude().add("TLS.*"); @@ -739,4 +757,10 @@ public class SSLContextParametersTest extends AbstractJsseParametersTest { assertTrue(value.startsWith(prefix)); } } + + protected void assertStartsWith(Collection<String> values, String prefix) { + for (String value : values) { + assertTrue(value.startsWith(prefix)); + } + } }