You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2024/10/22 09:53:16 UTC

(tomcat) branch main updated: Add a bit more of XML validation

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

remm 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 6e442ffc35 Add a bit more of XML validation
6e442ffc35 is described below

commit 6e442ffc35e58944945e926d56998778c45fb71c
Author: remm <re...@apache.org>
AuthorDate: Tue Oct 22 11:52:50 2024 +0200

    Add a bit more of XML validation
---
 test/org/apache/catalina/servlets/TestWebdavServlet.java | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/test/org/apache/catalina/servlets/TestWebdavServlet.java b/test/org/apache/catalina/servlets/TestWebdavServlet.java
index 99f4e9bd13..a55f1fb208 100644
--- a/test/org/apache/catalina/servlets/TestWebdavServlet.java
+++ b/test/org/apache/catalina/servlets/TestWebdavServlet.java
@@ -296,6 +296,7 @@ public class TestWebdavServlet extends TomcatBaseTest {
         client.processRequest(true);
         Assert.assertEquals(WebdavStatus.SC_MULTI_STATUS, client.getStatusCode());
         Assert.assertTrue(client.getResponseBody().contains("<T:othercustomprop"));
+        validateXml(client.getResponseBody());
 
         client.setRequest(new String[] { "PROPFIND /file1.txt HTTP/1.1" + SimpleHttpClient.CRLF +
                 "Host: localhost:" + getPort() + SimpleHttpClient.CRLF +
@@ -339,6 +340,7 @@ public class TestWebdavServlet extends TomcatBaseTest {
         Assert.assertTrue(client.getResponseBody().contains("<D:getcontenttype>"));
         Assert.assertFalse(client.getResponseBody().contains("<D:getlastmodified>"));
         Assert.assertTrue(client.getResponseBody().contains("<myvalue xmlns=\"http://tomcat.apache.org/testsuite\">"));
+        validateXml(client.getResponseBody());
 
     }
 
@@ -650,6 +652,7 @@ public class TestWebdavServlet extends TomcatBaseTest {
         client.processRequest(true);
         Assert.assertEquals(WebdavStatus.SC_MULTI_STATUS, client.getStatusCode());
         Assert.assertFalse(client.getResponseBody().contains("/myfolder"));
+        validateXml(client.getResponseBody());
 
     }
 
@@ -813,6 +816,7 @@ public class TestWebdavServlet extends TomcatBaseTest {
             }
         }
         Assert.assertNotNull(lockToken3);
+        validateXml(client.getResponseBody());
 
         client.setRequest(new String[] { "PROPFIND / HTTP/1.1" + SimpleHttpClient.CRLF +
                 "Host: localhost:" + getPort() + SimpleHttpClient.CRLF +
@@ -826,6 +830,7 @@ public class TestWebdavServlet extends TomcatBaseTest {
         String timeoutValue = client.getResponseBody().substring(client.getResponseBody().indexOf("Second-"));
         timeoutValue = timeoutValue.substring("Second-".length(), timeoutValue.indexOf('<'));
         Assert.assertTrue(Integer.valueOf(timeoutValue).intValue() > 100000);
+        validateXml(client.getResponseBody());
 
         client.setRequest(new String[] { "PUT /myfolder/myfolder2/myfolder4/myfolder5/file4.txt HTTP/1.1" + SimpleHttpClient.CRLF +
                 "Host: localhost:" + getPort() + SimpleHttpClient.CRLF +
@@ -920,6 +925,7 @@ public class TestWebdavServlet extends TomcatBaseTest {
         Assert.assertEquals(WebdavStatus.SC_MULTI_STATUS, client.getStatusCode());
         // Verify all the shared locks are cleared
         Assert.assertFalse(client.getResponseBody().contains("opaquelocktoken:"));
+        validateXml(client.getResponseBody());
 
     }
 
@@ -1029,6 +1035,10 @@ public class TestWebdavServlet extends TomcatBaseTest {
 
     }
 
+    private void validateXml(String xmlContent) throws Exception {
+        SAXParserFactory.newInstance().newSAXParser().getXMLReader().parse(new InputSource(new StringReader(xmlContent)));
+    }
+
     private static final class Client extends SimpleHttpClient {
 
         @Override


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