diff --git a/java/sca/itest/distribution/webapp-helloworld-jsf/pom.xml b/java/sca/itest/distribution/webapp-helloworld-jsf/pom.xml new file mode 100644 index 0000000000..0d7d7f0ff5 --- /dev/null +++ b/java/sca/itest/distribution/webapp-helloworld-jsf/pom.xml @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * 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. +--> +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>itest-distribution</artifactId> + <version>2.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>itest-distribution-webapp-helloworld-jsf</artifactId> + <name>Apache Tuscany SCA iTest Distribution Webapp helloworld-jsf</name> + + <dependencies> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>itest-bin-distro-unzip</artifactId> + <type>pom</type> + <version>2.0-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>helloworld-jsf</artifactId> + <type>war</type> + <version>2.0-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.5</version> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>htmlunit</groupId> + <artifactId>htmlunit</artifactId> + <version>1.9</version> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>javax.el</groupId> + <artifactId>el-api</artifactId> + <version>1.0</version> + </dependency> + + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.codehaus.cargo</groupId> + <artifactId>cargo-maven2-plugin</artifactId> + <version>1.0</version> + <executions> + <execution> + <id>start-container</id> + <phase>compile</phase> + <goals> + <goal>start</goal> + </goals> + </execution> + <execution> + <id>stop-container</id> + <phase>post-integration-test</phase> + <goals> + <goal>stop</goal> + </goals> + </execution> + </executions> + <configuration> + <wait>false</wait> + <container> + <containerId>jetty6x</containerId> + <type>embedded</type> + <systemProperties> + <org.apache.commons.logging.Log>org.apache.commons.logging.impl.SimpleLog</org.apache.commons.logging.Log> + </systemProperties> + </container> + <!-- container> + <containerId>tomcat6x</containerId> + <home>/Tomcat/apache-tomcat-6.0.18</home> + </container --> + <configuration> + <home>${project.build.directory}/cargo-jetty</home> + <properties> + <!-- NOTE: remote debugging doesn't work with the embedded Jetty container. To remote debug + uncomment/comment the container above to be the Tomcat container and set home to point + to your local Tomcat installation --> + <cargo.jvmargs><![CDATA[-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y]]></cargo.jvmargs> + <cargo.servlet.port>8085</cargo.servlet.port> + <context>helloworld-jsf</context> + </properties> + <deployables> + <deployable> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>helloworld-jsf</artifactId> + <type>war</type> + <properties> + <context>helloworld-jsf</context> + </properties> + </deployable> + </deployables> + </configuration> + </configuration> + </plugin> + + </plugins> + </build> +</project> diff --git a/java/sca/itest/distribution/webapp-helloworld-jsf/src/test/java/itest/HelloworldTestCaseFIXME.java b/java/sca/itest/distribution/webapp-helloworld-jsf/src/test/java/itest/HelloworldTestCaseFIXME.java new file mode 100644 index 0000000000..2b7db9cb75 --- /dev/null +++ b/java/sca/itest/distribution/webapp-helloworld-jsf/src/test/java/itest/HelloworldTestCaseFIXME.java @@ -0,0 +1,71 @@ +/* + * 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 itest; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.util.Iterator; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException; +import com.gargoylesoftware.htmlunit.WebClient; +import com.gargoylesoftware.htmlunit.html.HtmlForm; +import com.gargoylesoftware.htmlunit.html.HtmlInput; +import com.gargoylesoftware.htmlunit.html.HtmlPage; +import com.gargoylesoftware.htmlunit.html.HtmlParagraph; + +/** + * TODO: This doesn't work yet, I can't find the hello response in the + * the response page from the button click. Not sure if thats just + * looking in the wrong place or the button click is not working + * Also the Cargo maven plugin has a problem finding the el-api when using Jetty + */ +public class HelloworldTestCaseFIXME { + + @Test + public void testA() throws FailingHttpStatusCodeException, MalformedURLException, IOException { + HtmlPage page = (HtmlPage)new WebClient().getPage("http://localhost:8085/helloworld-jsf"); + + HtmlForm form = page.getFormByName("mainForm"); + + HtmlInput textField = form.getInputByName("mainForm:name"); + textField.setValueAttribute("root"); + + Iterator i = form.getChildIterator(); + i.next(); + HtmlInput button = (HtmlInput)i.next(); + + HtmlPage page2 = (HtmlPage)button.click(); + + Iterator<?> ss = page2.getAllHtmlChildElements(); + ss.next(); + ss.next(); + ss.next(); + ss.next(); + HtmlForm form2 = (HtmlForm)ss.next(); + + Object oow = form2.getFirstChild(); + System.out.println(oow); +// assertTrue(p.asText().startsWith("Hello Petra")); + } + +}