This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new 22b076e  Split into two tests in preparation for improving coverage
22b076e is described below

commit 22b076eca050a99a826e461a85d411ac5a6b81ff
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Aug 19 09:19:38 2021 +0100

    Split into two tests in preparation for improving coverage
    
    Need to parameterise tests to cover JSSE and OpenSSL. Need to separate
    out the test that uses a custom implementation.
---
 test/org/apache/tomcat/util/net/TestCustomSsl.java | 98 ----------------------
 ...stomSsl.java => TestCustomSslTrustManager.java} | 49 +----------
 2 files changed, 1 insertion(+), 146 deletions(-)

diff --git a/test/org/apache/tomcat/util/net/TestCustomSsl.java 
b/test/org/apache/tomcat/util/net/TestCustomSsl.java
index 3907d74..e9bb46d 100644
--- a/test/org/apache/tomcat/util/net/TestCustomSsl.java
+++ b/test/org/apache/tomcat/util/net/TestCustomSsl.java
@@ -17,10 +17,6 @@
 package org.apache.tomcat.util.net;
 
 import java.io.File;
-import java.net.SocketException;
-
-import javax.net.ssl.SSLException;
-
 import org.junit.Assert;
 import org.junit.Assume;
 import org.junit.Test;
@@ -29,8 +25,6 @@ import org.apache.catalina.Context;
 import org.apache.catalina.connector.Connector;
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.startup.TomcatBaseTest;
-import org.apache.coyote.ProtocolHandler;
-import org.apache.coyote.http11.AbstractHttp11JsseProtocol;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.net.SSLHostConfigCertificate.Type;
 import org.apache.tomcat.util.net.jsse.TesterBug50640SslImpl;
@@ -43,12 +37,6 @@ import org.apache.tomcat.websocket.server.WsContextListener;
  */
 public class TestCustomSsl extends TomcatBaseTest {
 
-    private enum TrustType {
-        ALL,
-        CA,
-        NONE
-    }
-
     @Test
     public void testCustomSslImplementation() throws Exception {
 
@@ -90,90 +78,4 @@ public class TestCustomSsl extends TomcatBaseTest {
             "/examples/servlets/servlet/HelloWorldExample");
         Assert.assertTrue(res.toString().indexOf("<a 
href=\"../helloworld.html\">") > 0);
     }
-
-    @Test
-    public void testCustomTrustManagerAll() throws Exception {
-        doTestCustomTrustManager(TrustType.ALL);
-    }
-
-    @Test
-    public void testCustomTrustManagerCA() throws Exception {
-        doTestCustomTrustManager(TrustType.CA);
-    }
-
-    @Test
-    public void testCustomTrustManagerNone() throws Exception {
-        doTestCustomTrustManager(TrustType.NONE);
-    }
-
-    private void doTestCustomTrustManager(TrustType trustType)
-            throws Exception {
-
-        Tomcat tomcat = getTomcatInstance();
-
-        Assume.assumeTrue("SSL renegotiation has to be supported for this 
test",
-                TesterSupport.isRenegotiationSupported(tomcat));
-
-        TesterSupport.configureClientCertContext(tomcat);
-
-        Connector connector = tomcat.getConnector();
-
-        // Override the defaults
-        ProtocolHandler handler = connector.getProtocolHandler();
-        if (handler instanceof AbstractHttp11JsseProtocol) {
-            connector.findSslHostConfigs()[0].setTruststoreFile(null);
-        } else {
-            // Unexpected
-            Assert.fail("Unexpected handler type");
-        }
-        if (trustType.equals(TrustType.ALL)) {
-            connector.findSslHostConfigs()[0].setTrustManagerClassName(
-                    "org.apache.tomcat.util.net.TesterSupport$TrustAllCerts");
-        } else if (trustType.equals(TrustType.CA)) {
-            connector.findSslHostConfigs()[0].setTrustManagerClassName(
-                    
"org.apache.tomcat.util.net.TesterSupport$SequentialTrustManager");
-        }
-
-        // Start Tomcat
-        tomcat.start();
-
-        TesterSupport.configureClientSsl();
-
-        // Unprotected resource
-        ByteChunk res = getUrl("https://localhost:"; + getPort() + 
"/unprotected");
-        Assert.assertEquals("OK", res.toString());
-
-        // Protected resource
-        res.recycle();
-        int rc = -1;
-        try {
-            rc = getUrl("https://localhost:"; + getPort() + "/protected", res, 
null, null);
-        } catch (SocketException | SSLException e) {
-            if (!trustType.equals(TrustType.NONE)) {
-                Assert.fail(e.getMessage());
-                e.printStackTrace();
-            }
-        }
-
-        if (trustType.equals(TrustType.CA)) {
-            if (log.isDebugEnabled()) {
-                int count = 
TesterSupport.getLastClientAuthRequestedIssuerCount();
-                log.debug("Last client KeyManager usage: " + 
TesterSupport.getLastClientAuthKeyManagerUsage() +
-                          ", " + count + " requested Issuers, first one: " +
-                          (count > 0 ? 
TesterSupport.getLastClientAuthRequestedIssuer(0).getName() : "NONE"));
-                log.debug("Expected requested Issuer: " + 
TesterSupport.getClientAuthExpectedIssuer());
-            }
-            Assert.assertTrue("Checking requested client issuer against " +
-                    TesterSupport.getClientAuthExpectedIssuer(),
-                    TesterSupport.checkLastClientAuthRequestedIssuers());
-        }
-
-        if (trustType.equals(TrustType.NONE)) {
-            Assert.assertTrue(rc != 200);
-            Assert.assertNull(res.toString());
-        } else {
-            Assert.assertEquals(200, rc);
-            Assert.assertEquals("OK-" + TesterSupport.ROLE, res.toString());
-        }
-    }
 }
diff --git a/test/org/apache/tomcat/util/net/TestCustomSsl.java 
b/test/org/apache/tomcat/util/net/TestCustomSslTrustManager.java
similarity index 70%
copy from test/org/apache/tomcat/util/net/TestCustomSsl.java
copy to test/org/apache/tomcat/util/net/TestCustomSslTrustManager.java
index 3907d74..f2afd93 100644
--- a/test/org/apache/tomcat/util/net/TestCustomSsl.java
+++ b/test/org/apache/tomcat/util/net/TestCustomSslTrustManager.java
@@ -16,7 +16,6 @@
  */
 package org.apache.tomcat.util.net;
 
-import java.io.File;
 import java.net.SocketException;
 
 import javax.net.ssl.SSLException;
@@ -25,23 +24,19 @@ import org.junit.Assert;
 import org.junit.Assume;
 import org.junit.Test;
 
-import org.apache.catalina.Context;
 import org.apache.catalina.connector.Connector;
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.startup.TomcatBaseTest;
 import org.apache.coyote.ProtocolHandler;
 import org.apache.coyote.http11.AbstractHttp11JsseProtocol;
 import org.apache.tomcat.util.buf.ByteChunk;
-import org.apache.tomcat.util.net.SSLHostConfigCertificate.Type;
-import org.apache.tomcat.util.net.jsse.TesterBug50640SslImpl;
-import org.apache.tomcat.websocket.server.WsContextListener;
 
 /**
  * The keys and certificates used in this file are all available in svn and 
were
  * generated using a test CA the files for which are in the Tomcat PMC private
  * repository since not all of them are AL2 licensed.
  */
-public class TestCustomSsl extends TomcatBaseTest {
+public class TestCustomSslTrustManager extends TomcatBaseTest {
 
     private enum TrustType {
         ALL,
@@ -50,48 +45,6 @@ public class TestCustomSsl extends TomcatBaseTest {
     }
 
     @Test
-    public void testCustomSslImplementation() throws Exception {
-
-        TesterSupport.configureClientSsl();
-
-        Tomcat tomcat = getTomcatInstance();
-        Connector connector = tomcat.getConnector();
-
-        Assume.assumeFalse("This test is only for JSSE based SSL connectors",
-                connector.getProtocolHandlerClassName().contains("Apr"));
-
-        SSLHostConfig sslHostConfig = new SSLHostConfig();
-        SSLHostConfigCertificate certificate = new 
SSLHostConfigCertificate(sslHostConfig, Type.UNDEFINED);
-        sslHostConfig.addCertificate(certificate);
-        connector.addSslHostConfig(sslHostConfig);
-
-        Assert.assertTrue(connector.setProperty(
-                "sslImplementationName", 
"org.apache.tomcat.util.net.jsse.TesterBug50640SslImpl"));
-
-        // This setting will break ssl configuration unless the custom
-        // implementation is used.
-        sslHostConfig.setProtocols(TesterBug50640SslImpl.PROPERTY_VALUE);
-
-        sslHostConfig.setSslProtocol("tls");
-
-        File keystoreFile = new File(TesterSupport.LOCALHOST_RSA_JKS);
-        certificate.setCertificateKeystoreFile(keystoreFile.getAbsolutePath());
-
-        connector.setSecure(true);
-        Assert.assertTrue(connector.setProperty("SSLEnabled", "true"));
-
-        File appDir = new File(getBuildDirectory(), "webapps/examples");
-        Context ctxt  = tomcat.addWebapp(
-                null, "/examples", appDir.getAbsolutePath());
-        ctxt.addApplicationListener(WsContextListener.class.getName());
-
-        tomcat.start();
-        ByteChunk res = getUrl("https://localhost:"; + getPort() +
-            "/examples/servlets/servlet/HelloWorldExample");
-        Assert.assertTrue(res.toString().indexOf("<a 
href=\"../helloworld.html\">") > 0);
-    }
-
-    @Test
     public void testCustomTrustManagerAll() throws Exception {
         doTestCustomTrustManager(TrustType.ALL);
     }

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to