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

dsoumis pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 90b3026a66b76467bf9c3b9153075f40b020480e
Author: Dimitris Soumis <[email protected]>
AuthorDate: Wed Mar 18 14:45:41 2026 +0200

    Add round-trip verification to TestStoreConfig to ensure persisted 
server.xml produces startable configuration
---
 .../apache/catalina/storeconfig/TestStoreConfig.java   | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/test/org/apache/catalina/storeconfig/TestStoreConfig.java 
b/test/org/apache/catalina/storeconfig/TestStoreConfig.java
index c1f6516eb5..5ece5707c0 100644
--- a/test/org/apache/catalina/storeconfig/TestStoreConfig.java
+++ b/test/org/apache/catalina/storeconfig/TestStoreConfig.java
@@ -26,7 +26,9 @@ import javax.xml.parsers.SAXParserFactory;
 import org.junit.Assert;
 import org.junit.Test;
 
+import org.apache.catalina.connector.Connector;
 import org.apache.catalina.startup.Catalina;
+import org.apache.catalina.startup.CatalinaBaseConfigurationSource;
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.startup.TomcatBaseTest;
 import org.apache.catalina.util.IOTools;
@@ -129,7 +131,7 @@ public class TestStoreConfig extends TomcatBaseTest {
         File serverXml = new File(tomcat.getServer().getCatalinaBase(), 
Catalina.SERVER_XML);
         Assert.assertTrue(serverXml.canRead());
         addDeleteOnTearDown(serverXml);
-        String serverXmlDump = "";
+        String serverXmlDump;
         try (FileReader reader = new FileReader(serverXml);
                 StringWriter writer = new StringWriter()) {
             IOTools.flow(reader, writer);
@@ -143,6 +145,20 @@ public class TestStoreConfig extends TomcatBaseTest {
         SAXParserFactory.newInstance().newSAXParser().getXMLReader().parse(new 
InputSource(new StringReader(serverXmlDump)));
 
         tomcat.stop();
+
+        tomcat.init(new 
CatalinaBaseConfigurationSource(getTemporaryDirectory(), Catalina.SERVER_XML));
+        // If the persisted server.xml is malformed, start() will fail
+        tomcat.start();
+        Connector[] connectors = tomcat.getService().findConnectors();
+        boolean foundSsl = false;
+        for (Connector c : connectors) {
+            if (c.getSecure()) {
+                foundSsl = true;
+                break;
+            }
+        }
+        Assert.assertTrue("SSL connector not found after round-trip", 
foundSsl);
+        tomcat.stop();
     }
 
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to