You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by dd...@apache.org on 2005/03/10 05:04:39 UTC

svn commit: r156738 [3/3] - in portals/pluto/trunk: deploy/ deploy/src/java/org/apache/pluto/driver/deploy/ descriptors/ descriptors/src/conf/org/apache/pluto/descriptors/services/ descriptors/src/conf/org/apache/pluto/descriptors/services/impl/ descriptors/src/java/org/apache/pluto/descriptors/services/impl/ portal/ portal/src/java/org/apache/pluto/portalImpl/ portal/src/webapp/ portal/src/webapp/WEB-INF/ portal/src/webapp/portlets/ portal/src/webapp/portlets/admin/ testsuite/ testsuite/src/java/org/apache/pluto/portalImpl/portlet/ testsuite/src/java/org/apache/pluto/portalImpl/portlet/test/ testsuite/src/webapp/WEB-INF/ testsuite/src/webapp/jsp/

Added: portals/pluto/trunk/testsuite/src/java/org/apache/pluto/portalImpl/portlet/test/SimpleRenderParameterTest.java
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/testsuite/src/java/org/apache/pluto/portalImpl/portlet/test/SimpleRenderParameterTest.java?view=auto&rev=156738
==============================================================================
--- portals/pluto/trunk/testsuite/src/java/org/apache/pluto/portalImpl/portlet/test/SimpleRenderParameterTest.java (added)
+++ portals/pluto/trunk/testsuite/src/java/org/apache/pluto/portalImpl/portlet/test/SimpleRenderParameterTest.java Wed Mar  9 20:04:27 2005
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2003,2004 The Apache Software Foundation.
+ *
+ * Licensed 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.pluto.portalImpl.portlet.test;
+
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Enumeration;
+
+import javax.portlet.PortletRequest;
+
+/**
+ * @author <a href="ddewolf@apache.org">David H. DeWolf</a>
+ */
+public class SimpleRenderParameterTest extends AbstractReflectivePortletTest {
+
+    public static final String KEY = "org.apache.pluto.testsuite.PARAM_TEST_KEY";
+    public static final String VALUE = "org.apache.pluto.testsuite.PARAM_TEST_VALUE";
+
+    private static final String IKEY = "org.apache.pluto.testsuite.PARAM_TEST_KEY_I";
+
+    public String getTestSuiteName() {
+        return "Simple Parameter Test";
+    }
+
+    // Unlike other tests, we DON'T want to include anything but the test id.
+    public Map getRenderParameters(PortletRequest req) {
+        Map map = new HashMap();
+        map.put(IKEY, new String[] {VALUE});
+        return map;
+    }
+
+    protected TestResult checkActionParametersNotHere(PortletRequest req) {
+        TestResult res = new TestResult();
+        res.setName("No Action Parameters Test");
+        res.setDesc("Ensure that parameters sent through the action query stream have NOT made it.");
+
+        String val = req.getParameter(KEY);
+        if(val != null) {
+            res.setReturnCode(TestResult.FAILED);
+            res.setResults("Retrieved action parameter ("+KEY+"="+VALUE+" inappropriately");
+        }
+        else {
+            res.setReturnCode(TestResult.PASSED);
+        }
+        return res;
+    }
+
+
+    protected TestResult checkInternalRenderParameter(PortletRequest req) {
+        TestResult res = new TestResult();
+        res.setName("Render Parameter Test");
+        res.setDesc("Validate the appropriate render parameters");
+
+        String val = req.getParameter(IKEY);
+        if(val == null || !VALUE.equals(val)) {
+            res.setReturnCode(TestResult.FAILED);
+            res.setResults("Expected : "+VALUE+" retrieved "+val);
+        }
+        else {
+            res.setReturnCode(TestResult.PASSED);
+        }
+        return res;
+    }
+
+    protected TestResult checkInternalRenderParameterValues(PortletRequest req) {
+        TestResult res = new TestResult();
+        res.setName("Render Parameter Values Test");
+        res.setDesc("Validate the appropriate render parameter values");
+
+        String[] val = req.getParameterValues(IKEY);
+        if(val == null || val.length<1 || !VALUE.equals(val[0])) {
+            res.setReturnCode(TestResult.FAILED);
+            res.setResults("Expected : "+VALUE+" retrieved "+val);
+        }
+        else {
+            res.setReturnCode(TestResult.PASSED);
+        }
+        return res;
+    }
+
+    protected TestResult checkParameterMap(PortletRequest req) {
+        TestResult res = new TestResult();
+        res.setName("Render Parameter Map Test");
+        res.setName("Check the contents of the render parameter map");
+
+        Map map = req.getParameterMap();
+        String[] val = (String[])map.get(IKEY);
+        if(map.containsKey(KEY) || val==null || val.length < 1 || !VALUE.equals(val[0])) {
+            res.setReturnCode(TestResult.FAILED);
+            if(map.containsKey(KEY)) {
+                res.setResults("Found Action Parameter: "+KEY+"="+map.get(KEY));
+            }
+            if(!map.containsKey(IKEY) || val.length <1 || !VALUE.equals(val[0])) {
+                res.setResults("Render Parameter: "+IKEY+"="+(val.length<1?"null":val[0])+" does not contain the expected value: "+VALUE);
+            }
+            return res;
+        }
+        res.setReturnCode(TestResult.PASSED);
+        return res;
+    }
+
+    protected TestResult checkParameterNames(PortletRequest req) {
+        TestResult res = new TestResult();
+        res.setName("Test Parameter Names Enumeration.");
+        res.setDesc("Enumerate through all expected names.");
+
+        boolean hasExternal = false;
+        boolean hasInternal = false;
+        Enumeration enumerator= req.getParameterNames();
+        while(enumerator.hasMoreElements()) {
+            String val = enumerator.nextElement().toString();
+            if(KEY.equals(val)) {
+                hasExternal = true;
+            }
+            if(IKEY.equals(val)) {
+                hasInternal = true;
+            }
+        }
+        if(!hasInternal || hasExternal) {
+            res.setReturnCode(TestResult.FAILED);
+            StringBuffer sb = new StringBuffer();
+            if(!hasInternal) {
+                sb.append("Render Parameter Not Found. ");
+            }
+            if(!hasExternal) {
+                sb.append("Action Parameter Found. ");
+            }
+            res.setResults(sb.toString());
+        }
+        else {
+            res.setReturnCode(TestResult.PASSED);
+        }
+        return res;
+    }
+}

Modified: portals/pluto/trunk/testsuite/src/webapp/WEB-INF/testsuite-2-config.xml
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/testsuite/src/webapp/WEB-INF/testsuite-2-config.xml?view=diff&r1=156737&r2=156738
==============================================================================
--- portals/pluto/trunk/testsuite/src/webapp/WEB-INF/testsuite-2-config.xml (original)
+++ portals/pluto/trunk/testsuite/src/webapp/WEB-INF/testsuite-2-config.xml Wed Mar  9 20:04:27 2005
@@ -16,11 +16,25 @@
 <testportlet-config>
     
   <testsuite-config>
-    <name>Simple Parameter Test</name>
-    <class>org.apache.pluto.portalImpl.portlet.test.SimpleParameterTest</class>
+    <name>Simple Render Parameter Test</name>
+    <class>org.apache.pluto.portalImpl.portlet.test.SimpleRenderParameterTest</class>
     <display-uri>/jsp/test_results.jsp</display-uri>
+    <action-param>
+      <name>org.apache.pluto.testsuite.PARAM_TEST_KEY</name>
+      <value>org.apache.pluto.testsuite.PARAM_TEST_VALUE</value>
+    </action-param>
   </testsuite-config>
-    
+
+  <testsuite-config>
+      <name>Simple Action Parameter Test</name>
+      <class>org.apache.pluto.portalImpl.portlet.test.SimpleActionParameterTest</class>
+      <display-uri>/jsp/test_results.jsp</display-uri>
+    <action-param>
+      <name>org.apache.pluto.testsuite.PARAM_TEST_KEY</name>
+      <value>org.apache.pluto.testsuite.PARAM_TEST_VALUE</value>
+    </action-param>
+  </testsuite-config>
+
   <testsuite-config>
     <name>Simple Attribute Test</name>
     <class>org.apache.pluto.portalImpl.portlet.test.SimpleAttributeTest</class>

Modified: portals/pluto/trunk/testsuite/src/webapp/WEB-INF/testsuite-config.xml
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/testsuite/src/webapp/WEB-INF/testsuite-config.xml?view=diff&r1=156737&r2=156738
==============================================================================
--- portals/pluto/trunk/testsuite/src/webapp/WEB-INF/testsuite-config.xml (original)
+++ portals/pluto/trunk/testsuite/src/webapp/WEB-INF/testsuite-config.xml Wed Mar  9 20:04:27 2005
@@ -16,11 +16,25 @@
 <testportlet-config>
     
   <testsuite-config>
-    <name>Simple Parameter Test</name>
-    <class>org.apache.pluto.portalImpl.portlet.test.SimpleParameterTest</class>
+    <name>Simple Render Parameter Test</name>
+    <class>org.apache.pluto.portalImpl.portlet.test.SimpleRenderParameterTest</class>
     <display-uri>/jsp/test_results.jsp</display-uri>
+    <action-param>
+      <name>org.apache.pluto.testsuite.PARAM_TEST_KEY</name>
+      <value>org.apache.pluto.testsuite.PARAM_TEST_VALUE</value>
+    </action-param>
   </testsuite-config>
-    
+
+  <testsuite-config>
+    <name>Simple Action Parameter Test</name>
+    <class>org.apache.pluto.portalImpl.portlet.test.SimpleActionParameterTest</class>
+    <display-uri>/jsp/test_results.jsp</display-uri>
+    <action-param>
+      <name>org.apache.pluto.testsuite.PARAM_TEST_KEY</name>
+      <value>org.apache.pluto.testsuite.PARAM_TEST_VALUE</value>
+    </action-param>
+  </testsuite-config>
+
   <testsuite-config>
     <name>Simple Attribute Test</name>
     <class>org.apache.pluto.portalImpl.portlet.test.SimpleAttributeTest</class>

Modified: portals/pluto/trunk/testsuite/src/webapp/jsp/introduction.jsp
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/testsuite/src/webapp/jsp/introduction.jsp?view=diff&r1=156737&r2=156738
==============================================================================
--- portals/pluto/trunk/testsuite/src/webapp/jsp/introduction.jsp (original)
+++ portals/pluto/trunk/testsuite/src/webapp/jsp/introduction.jsp Wed Mar  9 20:04:27 2005
@@ -1,4 +1,5 @@
-<%--
+<%@ page import="java.util.Map"%>
+ <%--
 Copyright 2004 The Apache Software Foundation
 Licensed  under the  Apache License,  Version 2.0  (the "License");
 you may not use  this file  except in  compliance with the License.
@@ -35,11 +36,16 @@
     <TR><TD><c:out value="${test.name}"/></TD>
         <portlet:actionURL secure="<%=renderRequest.isSecure()?"True":"False"%>" var="url">
     	<portlet:param name="testId" value='<%=((javax.servlet.jsp.jstl.core.LoopTagStatus)pageContext.getAttribute("status")).getIndex()+""%>'/>
+        <c:forEach var="param" items="${test.actionParameters}">
+        <%
+            Map.Entry parm = ((Map.Entry)pageContext.findAttribute("param"));
+        %>
+          <portlet:param name="<%=parm.getKey().toString()%>" value="<%=parm.getValue().toString()%>"/>
+        </c:forEach>
         </portlet:actionURL>
         <TD><A href="<c:out value="${url}"/>">Test</A></TD>
     </c:forEach>
     </TABLE>
-
     </P>
     </TD></TR>
 </TABLE>

Modified: portals/pluto/trunk/testsuite/src/webapp/jsp/navigation.inc
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/testsuite/src/webapp/jsp/navigation.inc?view=diff&r1=156737&r2=156738
==============================================================================
--- portals/pluto/trunk/testsuite/src/webapp/jsp/navigation.inc (original)
+++ portals/pluto/trunk/testsuite/src/webapp/jsp/navigation.inc Wed Mar  9 20:04:27 2005
@@ -1,4 +1,6 @@
-<%--
+<%@ page import="java.util.Map,
+                 org.apache.pluto.portalImpl.portlet.TestConfig"%>
+ <%--
 Copyright 2004 The Apache Software Foundation
 Licensed  under the  Apache License,  Version 2.0  (the "License");
 you may not use  this file  except in  compliance with the License.
@@ -24,6 +26,12 @@
 <TR><TD align="center" nowrap="true">
 <portlet:actionURL secure="<%=renderRequest.isSecure()?"True":"False"%>" var="url">
 	<portlet:param name="nextTestId" value="<%=renderRequest.getParameter("testId") %>"/>
+      <c:forEach var="param" items="${prevTest.actionParameters}">
+        <% Map.Entry parm = ((Map.Entry)pageContext.findAttribute("param")); %>
+        <% System.out.println("parm.key: "+parm.getKey()); %>
+         <% System.out.println("parm.key: "+parm.getValue()); %>
+        <portlet:param name="<%=parm.getKey().toString()%>" value="<%=parm.getValue().toString()%>"/>
+      </c:forEach>
 </portlet:actionURL>
 
 <A href="<%=url%>"><IMG SRC="<%=renderResponse.encodeURL(renderRequest.getContextPath() + "/images/previous.png")%>" border="0"></A>
@@ -36,6 +44,11 @@
 
 <portlet:actionURL secure="<%=renderRequest.isSecure()?"True":"False"%>" var="url">
 	<portlet:param name="previousTestId" value="<%=renderRequest.getParameter("testId")%>"/>
+      <% TestConfig test = (TestConfig)pageContext.findAttribute("nextTest"); %>
+      <c:forEach var="param" items="${nextTest.actionParameters}">
+        <% Map.Entry parm = ((Map.Entry)pageContext.findAttribute("param")); %>
+        <portlet:param name="<%=parm.getKey().toString()%>" value="<%=parm.getValue().toString()%>"/>
+      </c:forEach>
 </portlet:actionURL>
 
 <A href="<%=url%>"><IMG SRC="<%=renderResponse.encodeURL(renderRequest.getContextPath() + "/images/next.png")%>" border="0"></A>

Modified: portals/pluto/trunk/testsuite/testsuite.iml
URL: http://svn.apache.org/viewcvs/portals/pluto/trunk/testsuite/testsuite.iml?view=diff&r1=156737&r2=156738
==============================================================================
--- portals/pluto/trunk/testsuite/testsuite.iml (original)
+++ portals/pluto/trunk/testsuite/testsuite.iml Wed Mar  9 20:04:27 2005
@@ -12,6 +12,11 @@
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="portlet-api-1.0" level="application" />
+    <orderEntry type="library" name="servlet-api-2.3" level="application" />
+    <orderEntry type="library" name="jstl-standard-1.0.4" level="application" />
+    <orderEntry type="library" name="jstl-1.0.2" level="application" />
+    <orderEntry type="library" name="commons-digester-1.5" level="application" />
     <orderEntry type="library" name="[portals-pluto] Tomcat" level="application_server_libraries" />
     <orderEntryProperties />
   </component>
@@ -25,6 +30,22 @@
     <setting name="RUN_JASPER_VALIDATION" value="false" />
   </component>
   <component name="WebModuleProperties">
+    <containerElement type="library" level="application" name="commons-digester-1.5">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib" />
+    </containerElement>
+    <containerElement type="library" level="application" name="jstl-1.0.2">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib" />
+    </containerElement>
+    <containerElement type="library" level="application" name="jstl-standard-1.0.4">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib" />
+    </containerElement>
+    <containerElement type="library" level="application" name="portlet-api-1.0">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib" />
+    </containerElement>
     <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/src/webapp/WEB-INF/web.xml" version="2.3" />
     <webroots>
       <root url="file://$MODULE_DIR$/src/webapp" relative="/" />