Author: markt
Date: Wed Jun 5 11:12:08 2013
New Revision: 1489812
URL: http://svn.apache.org/r1489812
Log:
Add test cases for context level copyXML and fix bug they identified.
Added:
tomcat/trunk/test/deployment/contextCopyXMLFalse.war (with props)
tomcat/trunk/test/deployment/contextCopyXMLTrue.war (with props)
Modified:
tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java
tomcat/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java
Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java?rev=1489812&r1=1489811&r2=1489812&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Wed Jun 5
11:12:08 2013
@@ -894,8 +894,8 @@ public class HostConfig
}
// If Host is using default value Context can override it.
- if (!copyXML && context instanceof StandardContext) {
- copyXML = ((StandardContext) context).getCopyXML();
+ if (!copyThisXml && context instanceof StandardContext) {
+ copyThisXml = ((StandardContext) context).getCopyXML();
}
if (xmlInWar && copyThisXml) {
Added: tomcat/trunk/test/deployment/contextCopyXMLFalse.war
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/deployment/contextCopyXMLFalse.war?rev=1489812&view=auto
==============================================================================
Binary file - no diff available.
Propchange: tomcat/trunk/test/deployment/contextCopyXMLFalse.war
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: tomcat/trunk/test/deployment/contextCopyXMLTrue.war
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/deployment/contextCopyXMLTrue.war?rev=1489812&view=auto
==============================================================================
Binary file - no diff available.
Propchange: tomcat/trunk/test/deployment/contextCopyXMLTrue.war
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified:
tomcat/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java?rev=1489812&r1=1489811&r2=1489812&view=diff
==============================================================================
---
tomcat/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java
(original)
+++
tomcat/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java
Wed Jun 5 11:12:08 2013
@@ -49,6 +49,10 @@ public class TestHostConfigAutomaticDepl
new File("test/deployment/context.xml");
private static final File WAR_XML_SOURCE =
new File("test/deployment/context.war");
+ private static final File WAR_XML_COPYXML_FALSE_SOURCE =
+ new File("test/deployment/contextCopyXMLFalse.war");
+ private static final File WAR_XML_COPYXML_TRUE_SOURCE =
+ new File("test/deployment/contextCopyXMLTrue.war");
private static final File WAR_XML_UNPACKWAR_FALSE_SOURCE =
new File("test/deployment/contextUnpackWARFalse.war");
private static final File WAR_XML_UNPACKWAR_TRUE_SOURCE =
@@ -1726,4 +1730,87 @@ public class TestHostConfigAutomaticDepl
return stateHistory.toString();
}
}
+
+
+ /*
+ * Test context copyXML setting.
+ * If context.copyXML != Host.copyXML the Host wins.
+ * For external WARs, a context.xml must always already exist
+ */
+ @Test
+ public void testCopyXMLFFF() throws Exception {
+ doTestCopyXML(false, false, false, false);
+ }
+
+ @Test
+ public void testCopyXMLFFT() throws Exception {
+ doTestCopyXML(false, false, true, true);
+ }
+
+ @Test
+ public void testCopyXMLFTF() throws Exception {
+ doTestCopyXML(false, true, false, true);
+ }
+
+ @Test
+ public void testCopyXMLFTT() throws Exception {
+ doTestCopyXML(false, true, true, true);
+ }
+
+ @Test
+ public void testCopyXMLTFF() throws Exception {
+ doTestCopyXML(true, false, false, true);
+ }
+
+ @Test
+ public void testCopyXMLTFT() throws Exception {
+ doTestCopyXML(true, false, true, true);
+ }
+
+ @Test
+ public void testCopyXMLTTF() throws Exception {
+ doTestCopyXML(true, true, false, true);
+ }
+
+ @Test
+ public void testCopyXMLTTT() throws Exception {
+ doTestCopyXML(true, true, true, true);
+ }
+
+ private void doTestCopyXML(boolean copyXmlHost, boolean copyXmlWar,
+ boolean external, boolean resultXml) throws Exception {
+
+ Tomcat tomcat = getTomcatInstance();
+ StandardHost host = (StandardHost) tomcat.getHost();
+
+ host.setCopyXML(copyXmlHost);
+
+ tomcat.start();
+
+ File war;
+ if (copyXmlWar) {
+ war = createWar(WAR_XML_COPYXML_TRUE_SOURCE, !external);
+ } else {
+ war = createWar(WAR_XML_COPYXML_FALSE_SOURCE, !external);
+ }
+ if (external) {
+ createXmlInConfigBaseForExternal(war);
+ }
+
+ host.backgroundProcess();
+
+ File xml = new File(host.getConfigBaseFile(),
+ APP_NAME.getBaseName() + ".xml");
+ Assert.assertEquals(
+ Boolean.valueOf(resultXml), Boolean.valueOf(xml.isFile()));
+
+ Context context = (Context) host.findChild(APP_NAME.getName());
+ if (external) {
+ Assert.assertEquals(XML_COOKIE_NAME,
+ context.getSessionCookieName());
+ } else {
+ Assert.assertEquals(WAR_COOKIE_NAME,
+ context.getSessionCookieName());
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]