You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2009/08/06 17:42:36 UTC
svn commit: r801681 - in /sling/trunk/launchpad/testing/src/test:
java/org/apache/sling/launchpad/webapp/integrationtest/
java/org/apache/sling/launchpad/webapp/integrationtest/issues/
resources/integration-test/serverscripts/
Author: bdelacretaz
Date: Thu Aug 6 15:42:36 2009
New Revision: 801681
URL: http://svn.apache.org/viewvc?rev=801681&view=rev
Log:
SLING-1075 use specific JSP script engine config during testing
Added:
sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspTestBase.java (with props)
sling/trunk/launchpad/testing/src/test/resources/integration-test/serverscripts/jsp-engine-setup.jsp (with props)
Modified:
sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/ExecuteScriptTest.java
sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspForwardTest.java
sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspIncludeTest.java
sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspScriptingTest.java
sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/issues/SLING457Test.java
Modified: sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/ExecuteScriptTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/ExecuteScriptTest.java?rev=801681&r1=801680&r2=801681&view=diff
==============================================================================
--- sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/ExecuteScriptTest.java (original)
+++ sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/ExecuteScriptTest.java Thu Aug 6 15:42:36 2009
@@ -17,7 +17,7 @@
package org.apache.sling.launchpad.webapp.integrationtest;
/** Test the executeScript test method */
-public class ExecuteScriptTest extends RenderingTestBase {
+public class ExecuteScriptTest extends JspTestBase {
public void testEspScript() throws Exception {
final String content = executeScript("serverscripts/servertest.esp");
Modified: sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspForwardTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspForwardTest.java?rev=801681&r1=801680&r2=801681&view=diff
==============================================================================
--- sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspForwardTest.java (original)
+++ sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspForwardTest.java Thu Aug 6 15:42:36 2009
@@ -29,7 +29,7 @@
/** Test the {link ScriptHelper#forward) functionality */
- public class JspForwardTest extends HttpTestBase {
+ public class JspForwardTest extends JspTestBase {
private String nodeUrlA;
private String testTextA;
Modified: sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspIncludeTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspIncludeTest.java?rev=801681&r1=801680&r2=801681&view=diff
==============================================================================
--- sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspIncludeTest.java (original)
+++ sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspIncludeTest.java Thu Aug 6 15:42:36 2009
@@ -29,7 +29,7 @@
/** Test the {link ScriptHelper#include) functionality */
- public class JspIncludeTest extends HttpTestBase {
+ public class JspIncludeTest extends JspTestBase {
private String nodeUrlA;
private String testTextA;
Modified: sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspScriptingTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspScriptingTest.java?rev=801681&r1=801680&r2=801681&view=diff
==============================================================================
--- sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspScriptingTest.java (original)
+++ sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspScriptingTest.java Thu Aug 6 15:42:36 2009
@@ -23,7 +23,7 @@
* TODO this class can be generalized to be used for any scripting language,
* that would help in testing all scripting engines.
*/
-public class JspScriptingTest extends HttpTestBase {
+public class JspScriptingTest extends JspTestBase {
private String testRootUrl;
private TestNode rtNode;
@@ -87,8 +87,6 @@
final String [] scripts = { "jsp1.jsp", "jsp2.jsp" };
for(String script : scripts) {
toDelete = uploadTestScript(unstructuredNode.scriptPath, script, "html.jsp");
- // scripts are only checked every 4 seconds for a change (by default) - so we wait 5 seconds
- Thread.sleep(5000);
final String content = getContent(unstructuredNode.nodeUrl + ".html", CONTENT_TYPE_HTML);
final String expected = "text from " + script + ":" + unstructuredNode.testText;
assertTrue("Content contains '" + expected + "'(" + content + ")", content.contains(expected));
Added: sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspTestBase.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspTestBase.java?rev=801681&view=auto
==============================================================================
--- sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspTestBase.java (added)
+++ sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspTestBase.java Thu Aug 6 15:42:36 2009
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.launchpad.webapp.integrationtest;
+
+/** Base class for tests that use JSP - configures the JSP
+ * scripting engine in a test-friendly way
+ */
+public class JspTestBase extends RenderingTestBase {
+
+ public static final String SCRIPT = "serverscripts/jsp-engine-setup.jsp";
+ private static boolean jspEngineConfigured;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ if(!jspEngineConfigured) {
+ final String content = executeScript(SCRIPT);
+ assertTrue("JSP engine setup script must return success message", content.contains("Configuration updated"));
+ jspEngineConfigured = true;
+ System.err.println("JSP script engine configured using " + SCRIPT);
+ }
+ }
+}
Propchange: sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspTestBase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/JspTestBase.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev URL
Modified: sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/issues/SLING457Test.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/issues/SLING457Test.java?rev=801681&r1=801680&r2=801681&view=diff
==============================================================================
--- sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/issues/SLING457Test.java (original)
+++ sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/issues/SLING457Test.java Thu Aug 6 15:42:36 2009
@@ -21,9 +21,9 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.sling.commons.testing.integration.HttpTestBase;
+import org.apache.sling.launchpad.webapp.integrationtest.JspTestBase;
-public class SLING457Test extends HttpTestBase {
+public class SLING457Test extends JspTestBase {
private String testRootUrl;
Added: sling/trunk/launchpad/testing/src/test/resources/integration-test/serverscripts/jsp-engine-setup.jsp
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/testing/src/test/resources/integration-test/serverscripts/jsp-engine-setup.jsp?rev=801681&view=auto
==============================================================================
--- sling/trunk/launchpad/testing/src/test/resources/integration-test/serverscripts/jsp-engine-setup.jsp (added)
+++ sling/trunk/launchpad/testing/src/test/resources/integration-test/serverscripts/jsp-engine-setup.jsp Thu Aug 6 15:42:36 2009
@@ -0,0 +1,65 @@
+<!--
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<!--
+ Configuration script to setup the JSP scripting engine
+ for testing: sets development mode and interval 0 for
+ checking script updates.
+ -->
+
+<%@ page import="
+ org.osgi.service.cm.ConfigurationAdmin,
+ org.osgi.service.cm.Configuration,
+ java.util.Dictionary,
+ java.util.Hashtable
+"%>
+<%@page session="false"%>
+<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0"%>
+<sling:defineObjects/>
+
+<%
+out.println("<pre>");
+final String JSPConfig = "org.apache.sling.scripting.jsp.JspScriptEngineFactory";
+ConfigurationAdmin ca = sling.getService(ConfigurationAdmin.class);
+out.println("ca=" + ca);
+final Configuration c = ca.getConfiguration(JSPConfig);
+out.println("c=" + c);
+
+Dictionary d = c.getProperties();
+if(d == null) {
+ d = new Hashtable();
+}
+
+final String interval = "jasper.modificationTestInterval";
+out.println(interval + " was " + d.get(interval));
+d.put(interval, new Integer(0));
+out.println(interval + " is now " + d.get(interval));
+
+final String dev = "jasper.development";
+out.println(dev + " was " + d.get(dev));
+d.put(dev, new Boolean(true));
+out.println(dev + " is now " + d.get(dev));
+
+c.setBundleLocation(null);
+c.update(d);
+out.println("Configuration updated: " + JSPConfig);
+
+out.println("</pre>");
+%>
\ No newline at end of file
Propchange: sling/trunk/launchpad/testing/src/test/resources/integration-test/serverscripts/jsp-engine-setup.jsp
------------------------------------------------------------------------------
svn:eol-style = native