Author: nilsga
Date: Thu Nov 15 22:43:29 2007
New Revision: 595575

URL: http://svn.apache.org/viewvc?rev=595575&view=rev
Log:
Added the tests again, but excluding them from beeing run with excludes in 
pom.xml

Added:
    struts/struts2/trunk/apps/portlet/src/test/java/org/
    struts/struts2/trunk/apps/portlet/src/test/java/org/apache/
    struts/struts2/trunk/apps/portlet/src/test/java/org/apache/struts2/
    struts/struts2/trunk/apps/portlet/src/test/java/org/apache/struts2/portlet/
    
struts/struts2/trunk/apps/portlet/src/test/java/org/apache/struts2/portlet/test/
    
struts/struts2/trunk/apps/portlet/src/test/java/org/apache/struts2/portlet/test/BasePortletTest.java
    
struts/struts2/trunk/apps/portlet/src/test/java/org/apache/struts2/portlet/test/Struts2PortletTest.java
Modified:
    struts/struts2/trunk/apps/portlet/pom.xml

Modified: struts/struts2/trunk/apps/portlet/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/apps/portlet/pom.xml?rev=595575&r1=595574&r2=595575&view=diff
==============================================================================
--- struts/struts2/trunk/apps/portlet/pom.xml (original)
+++ struts/struts2/trunk/apps/portlet/pom.xml Thu Nov 15 22:43:29 2007
@@ -40,6 +40,21 @@
        
<url>http://svn.apache.org/viewcvs.cgi/struts/struts2/trunk/apps/portlet/</url>
     </scm>
        
+       <build>
+               <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <!-- Excluded so the integration tests don't run in the 
main Bamboo build -->
+                    <excludes>
+                                                  
<exclude>org/apache/struts2/portlet/test/*</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+               </plugins>
+       </build>
+       
        <profiles>
                <profile>
                        <id>pluto</id>

Added: 
struts/struts2/trunk/apps/portlet/src/test/java/org/apache/struts2/portlet/test/BasePortletTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/apps/portlet/src/test/java/org/apache/struts2/portlet/test/BasePortletTest.java?rev=595575&view=auto
==============================================================================
--- 
struts/struts2/trunk/apps/portlet/src/test/java/org/apache/struts2/portlet/test/BasePortletTest.java
 (added)
+++ 
struts/struts2/trunk/apps/portlet/src/test/java/org/apache/struts2/portlet/test/BasePortletTest.java
 Thu Nov 15 22:43:29 2007
@@ -0,0 +1,75 @@
+package org.apache.struts2.portlet.test;
+
+import net.sourceforge.jwebunit.junit.WebTestCase;
+
+import org.apache.pluto.core.PortletServlet;
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.servlet.ServletHolder;
+import org.mortbay.jetty.webapp.WebAppContext;
+
+public abstract class BasePortletTest extends WebTestCase {
+       
+       protected Server server;
+
+       private int port = 9876;
+       
+       private String contextPath = "/test";
+       
+       public void setUp() throws Exception {
+               System.setProperty("org.apache.pluto.embedded.portletId", 
getPortletName());
+               server = new Server(port);
+               WebAppContext webapp = new WebAppContext("src/main/webapp", 
contextPath);
+               
webapp.setDefaultsDescriptor("/WEB-INF/jetty-pluto-web-default.xml");
+               ServletHolder portletServlet = new ServletHolder(new 
PortletServlet());
+               portletServlet.setInitParameter("portlet-name", 
getPortletName());
+               portletServlet.setInitOrder(1);
+               webapp.addServlet(portletServlet, "/PlutoInvoker/" + 
getPortletName());
+               server.addHandler(webapp);
+               server.start();
+               getTestContext().setBaseUrl("http://localhost:"; + port + 
contextPath);
+       }
+       
+
+       public void tearDown() throws Exception {
+               server.stop();
+       }
+       
+       public void minimizeWindow() {
+               clickElementByXPath("//[EMAIL PROTECTED]'minimized']/..");
+       }
+       
+       public void maximizeWindow() {
+               clickElementByXPath("//[EMAIL PROTECTED]'minimized']/..");
+       }
+       
+       public void restoreWindow() {
+               clickElementByXPath("//[EMAIL PROTECTED]'normal']/..");
+       }
+       
+       public void switchEdit() {
+               clickElementByXPath("//[EMAIL PROTECTED]'edit']/..");
+       }
+       
+       public void switchView() {
+               clickElementByXPath("//[EMAIL PROTECTED]'view']/..");
+       }
+       
+       public void switchHelp() {
+               clickElementByXPath("//[EMAIL PROTECTED]'help']/..");
+       }
+       
+       public void setPort(int port) {
+               this.port = port;
+       }
+       
+       public void setContextPath(String contextPath) {
+               if(!contextPath.startsWith("/")) {
+                       this.contextPath = "/" + contextPath;
+               }
+               else {
+                       this.contextPath = contextPath;
+               }
+       }
+       
+       public abstract String getPortletName();
+}

Added: 
struts/struts2/trunk/apps/portlet/src/test/java/org/apache/struts2/portlet/test/Struts2PortletTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/apps/portlet/src/test/java/org/apache/struts2/portlet/test/Struts2PortletTest.java?rev=595575&view=auto
==============================================================================
--- 
struts/struts2/trunk/apps/portlet/src/test/java/org/apache/struts2/portlet/test/Struts2PortletTest.java
 (added)
+++ 
struts/struts2/trunk/apps/portlet/src/test/java/org/apache/struts2/portlet/test/Struts2PortletTest.java
 Thu Nov 15 22:43:29 2007
@@ -0,0 +1,83 @@
+package org.apache.struts2.portlet.test;
+
+public class Struts2PortletTest extends BasePortletTest {
+       
+       private final static String PORTLET_NAME = "StrutsPortlet";
+       
+       public void testIndexPage() throws Exception {
+               beginAt("pluto/index.jsp");
+               assertTextPresent("Welcome to the Struts example portlet");
+               assertLinkPresentWithExactText("A simple form");
+               assertLinkPresentWithExactText("Validation");
+       }
+       
+       public void testFormExample() throws Exception {
+               beginAt("pluto/index.jsp");
+               clickLinkWithExactText("A simple form");
+               assertFormPresent("processFormExample");
+               assertTextPresent("Input your name");
+               setWorkingForm("processFormExample");
+               setTextField("firstName", "Nils-Helge");
+               setTextField("lastName", "Garli");
+               submit();
+               assertTextPresent("Hello Nils-Helge Garli");
+       }
+       
+       public void testValidationExample() throws Exception {
+               beginAt("pluto/index.jsp");
+               clickLinkWithExactText("Validation");
+               assertFormPresent("processValidationExample");
+               assertTextPresent("Input your name");
+               setWorkingForm("processValidationExample");
+               setTextField("firstName", "Nils-Helge");
+               submit();
+               assertTextFieldEquals("firstName", "Nils-Helge");
+               assertTextPresent("You must enter a last name");
+               setTextField("lastName", "Garli");
+               submit();
+               assertTextPresent("Hello Nils-Helge Garli");
+       }
+       
+       public void testValidationErrorMessagesStickBetweenWindowStateChanges() 
throws Exception {
+               beginAt("pluto/index.jsp");
+               clickLinkWithExactText("Validation");
+               assertFormPresent("processValidationExample");
+               assertTextPresent("Input your name");
+               setWorkingForm("processValidationExample");
+               setTextField("firstName", "Nils-Helge");
+               submit();
+               assertTextFieldEquals("firstName", "Nils-Helge");
+               assertTextPresent("You must enter a last name");
+               minimizeWindow();
+               assertTextNotPresent("Input your name");
+               restoreWindow();
+               assertTextPresent("Input your name");
+               assertTextPresent("You must enter a last name");
+       }
+       
+       public void testTokenExample() throws Exception {
+               beginAt("pluto/index.jsp");
+               clickLinkWithText("Token");
+               setWorkingForm(0);
+               setTextField("theValue", "something");
+               submit();
+               assertTextPresent("ERROR");
+               setWorkingForm(1);
+               setTextField("theValue", "somethingElse");
+               submit();
+               assertTextPresent("The form was successfully submitted with a 
valid token");
+       }
+       
+       public void testSwitchFromViewToEditShouldGoToDefaultEditPage() throws 
Exception {
+               beginAt("pluto/index.jsp");
+               assertTextPresent("Welcome to the Struts example portlet");
+               switchEdit();
+               assertTextPresent("Back to view mode");
+       }
+
+       @Override
+       public String getPortletName() {
+               return PORTLET_NAME;
+       }
+       
+}


Reply via email to