You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/12/06 05:49:46 UTC

svn commit: r601610 - in /incubator/tuscany/java/sca/demos/alert-aggregator-webapp: ./ src/main/resources/ src/main/webapp/WEB-INF/ src/test/java/org/apache/tuscany/sca/demos/aggregator/

Author: rfeng
Date: Wed Dec  5 20:49:45 2007
New Revision: 601610

URL: http://svn.apache.org/viewvc?rev=601610&view=rev
Log:
Use cargo maven plugin to automate the integration test as a web app with Jetty

Added:
    incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/main/resources/alerts-client.composite
    incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsIntegrationTest.java
      - copied, changed from r601566, incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsTestCase.java
Removed:
    incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsTestCase.java
Modified:
    incubator/tuscany/java/sca/demos/alert-aggregator-webapp/pom.xml
    incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/main/webapp/WEB-INF/web.xml

Modified: incubator/tuscany/java/sca/demos/alert-aggregator-webapp/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/demos/alert-aggregator-webapp/pom.xml?rev=601610&r1=601609&r2=601610&view=diff
==============================================================================
--- incubator/tuscany/java/sca/demos/alert-aggregator-webapp/pom.xml (original)
+++ incubator/tuscany/java/sca/demos/alert-aggregator-webapp/pom.xml Wed Dec  5 20:49:45 2007
@@ -17,9 +17,8 @@
     * specific language governing permissions and limitations
     * under the License.    
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" 
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
@@ -34,7 +33,7 @@
     <packaging>war</packaging>
     <version>1.1-incubating-SNAPSHOT</version>
     <name>Apache Tuscany SCA Alert Aggregator Demo</name>
-    <url>http://cwiki.apache.org/TUSCANY</url>  
+    <url>http://cwiki.apache.org/TUSCANY</url>
 
     <dependencies>
         <dependency>
@@ -44,22 +43,22 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-	    <groupId>httpunit</groupId>
-	    <artifactId>httpunit</artifactId>
-	    <version>1.6.1</version>
-	    <scope>test</scope>
-        </dependency>        
+            <groupId>httpunit</groupId>
+            <artifactId>httpunit</artifactId>
+            <version>1.6.1</version>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.apache.tuscany.sdo</groupId>
             <artifactId>tuscany-sdo-impl</artifactId>
             <version>1.0-incubating-SNAPSHOT</version>
-        </dependency>        
+        </dependency>
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-binding-ws-axis2</artifactId>
             <version>${pom.version}</version>
             <scope>runtime</scope>
-        </dependency>        
+        </dependency>
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-core-databinding</artifactId>
@@ -89,25 +88,27 @@
             <artifactId>tuscany-host-embedded</artifactId>
             <version>${pom.version}</version>
             <scope>compile</scope>
-        </dependency> 
+        </dependency>
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-implementation-java-runtime</artifactId>
             <version>${pom.version}</version>
             <scope>compile</scope>
-        </dependency> 
+        </dependency>
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-interface-java-xml</artifactId>
             <version>${pom.version}</version>
             <scope>compile</scope>
-        </dependency> 
-        <dependency>
+        </dependency>
+        <!-- 
+            <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-host-jetty</artifactId>
             <version>${pom.version}</version>
             <scope>test</scope>
-        </dependency>   
+            </dependency>
+        -->
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-host-webapp</artifactId>
@@ -118,23 +119,23 @@
             <artifactId>tuscany-binding-jsonrpc</artifactId>
             <version>1.1-incubating-SNAPSHOT</version>
             <scope>runtime</scope>
-        </dependency>    
+        </dependency>
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-binding-feed</artifactId>
             <version>1.1-incubating-SNAPSHOT</version>
             <scope>compile</scope>
-        </dependency>              
+        </dependency>
         <dependency>
             <groupId>rome</groupId>
             <artifactId>rome</artifactId>
             <version>0.9</version>
-        </dependency>                       
+        </dependency>
     </dependencies>
-    
+
     <build>
         <finalName>demo-alert-aggregator-webapp</finalName>
-        <plugins>  
+        <plugins>
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>build-helper-maven-plugin</artifactId>
@@ -167,16 +168,16 @@
                                 <configuration>
                                     <fileName>${project.build.directory}/classes/Alerts.wsdl</fileName>
                                     <javaPackage>org.apache.tuscany.sca.demos.aggregator.service</javaPackage>
-                                </configuration> 
+                                </configuration>
                                 <configuration>
                                     <fileName>${project.build.directory}/classes/AlertsSources.wsdl</fileName>
                                     <javaPackage>org.apache.tuscany.sca.demos.aggregator.sources</javaPackage>
-                                </configuration>                                 
+                                </configuration>
                                 <configuration>
                                     <fileName>${project.build.directory}/classes/Alerts.xsd</fileName>
                                     <javaPackage>org.apache.tuscany.sca.demos.aggregator.types</javaPackage>
-                                </configuration>                                                           
-                             </schemaFiles>
+                                </configuration>
+                            </schemaFiles>
                             <noNotification>true</noNotification>
                             <noContainment>true</noContainment>
                             <noUnsettable>true</noUnsettable>
@@ -191,7 +192,7 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-antrun-plugin</artifactId>
                 <version>1.1</version>
-                
+
                 <dependencies>
                     <dependency>
                         <groupId>ant</groupId>
@@ -199,10 +200,10 @@
                         <version>1.6.5</version>
                     </dependency>
                 </dependencies>
-                
+
                 <executions>
-                    <execution> 
-                        <id>install-dojo</id>                       
+                    <execution>
+                        <id>install-dojo</id>
                         <phase>validate</phase>
                         <goals>
                             <goal>run</goal>
@@ -210,13 +211,13 @@
                         <configuration>
                             <tasks>
                                 <ant antfile="./build-dojo.xml" target="install-dojo">
-                                    <property name="localRepository" value="${settings.localRepository}"/>
+                                    <property name="localRepository" value="${settings.localRepository}" />
                                 </ant>
                             </tasks>
                         </configuration>
                     </execution>
-                    <execution> 
-                        <id>copy-dojo-files</id>                       
+                    <execution>
+                        <id>copy-dojo-files</id>
                         <phase>generate-resources</phase>
                         <goals>
                             <goal>run</goal>
@@ -224,14 +225,14 @@
                         <configuration>
                             <tasks>
                                 <ant antfile="./build-dojo.xml" target="unpack-dojo-files">
-                                    <property name="localRepository" value="${settings.localRepository}"/>
-                                    <property name="artifactId" value="${artifactId}"/>
+                                    <property name="localRepository" value="${settings.localRepository}" />
+                                    <property name="artifactId" value="${artifactId}" />
                                 </ant>
                             </tasks>
                         </configuration>
                     </execution>
-                    <execution> 
-                        <id>clean-dojo-files</id>                       
+                    <execution>
+                        <id>clean-dojo-files</id>
                         <phase>clean</phase>
                         <goals>
                             <goal>run</goal>
@@ -239,15 +240,83 @@
                         <configuration>
                             <tasks>
                                 <ant antfile="./build-dojo.xml" target="clean-dojo-files">
-                                    <property name="localRepository" value="${settings.localRepository}"/>
-                                    <property name="artifactId" value="${artifactId}"/>
+                                    <property name="localRepository" value="${settings.localRepository}" />
+                                    <property name="artifactId" value="${artifactId}" />
                                 </ant>
                             </tasks>
                         </configuration>
                     </execution>
                 </executions>
-            </plugin>                       
-     </plugins>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <!-- 
+                <configuration>
+                    <excludes>
+                        <exclude>**/AlertsTestCase.java</exclude>
+                    </excludes>
+                </configuration>
+                 -->
+                <executions>
+                    <execution>
+                        <id>surefire-it</id>
+                        <phase>integration-test</phase>
+                        <goals>
+                            <goal>test</goal>
+                        </goals>
+                        <configuration>
+                            <includes>
+                                <include>**/*AlertsIntegrationTest.java</include>
+                            </includes>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
+
+            <plugin>
+                <groupId>org.codehaus.cargo</groupId>
+                <artifactId>cargo-maven2-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>start-container</id>
+                        <phase>pre-integration-test</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>
+                    <container>
+                        <containerId>jetty6x</containerId>
+                        <type>embedded</type>
+                    </container>
+                    <wait>false</wait>
+                    <configuration>
+                        <properties>
+                            <cargo.servlet.port>8080</cargo.servlet.port>
+                        </properties>
+                        <deployables>
+                            <deployable>
+                                <location>
+                                    ${project.build.directory}/${project.build.finalName}.${project.packaging}
+                                </location>
+                                <pingURL>http://localhost:8080/AlertsSourcesServiceJSONRPC</pingURL>
+                            </deployable>
+                        </deployables>
+                    </configuration>
+                </configuration>
+            </plugin>
+        </plugins>
     </build>
-    
+
 </project>

Added: incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/main/resources/alerts-client.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/main/resources/alerts-client.composite?rev=601610&view=auto
==============================================================================
--- incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/main/resources/alerts-client.composite (added)
+++ incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/main/resources/alerts-client.composite Wed Dec  5 20:49:45 2007
@@ -0,0 +1,49 @@
+<?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.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+    xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"
+    xmlns:dbsdo="http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0" targetNamespace="http://sample"
+    name="FeedAggregatorClient">
+
+    <!-- SDO factory classes -->
+    <!-- dbsdo:import.sdo factory="org.apache.tuscany.sca.demos.aggregator.service.ServiceFactory"/ -->
+    <!-- dbsdo:import.sdo factory="org.apache.tuscany.sca.demos.aggregator.types.TypesFactory"/ -->
+
+    <component name="AlertsFeedServiceComponent">
+        <implementation.java class="org.apache.tuscany.sca.demos.aggregator.AlertsFeedServiceImpl" />
+        <reference name="alerts" target="AlertsServiceComponent" />
+    </component>
+
+    <component name="AlertsServiceComponent">
+        <implementation.java class="org.apache.tuscany.sca.demos.aggregator.AlertsServiceImpl" />
+        <reference name="rssChecker" target="RSSCheckerComponent" />
+        <reference name="alertsSources" target="AlertsSourcesServiceComponent" />
+    </component>
+
+    <component name="AlertsSourcesServiceComponent">
+        <implementation.java class="org.apache.tuscany.sca.demos.aggregator.AlertsSourcesServiceImpl" />
+    </component>
+
+    <!-- The RSS reader -->
+    <component name="RSSCheckerComponent">
+        <implementation.java class="org.apache.tuscany.sca.demos.aggregator.RSSCheckerServiceImpl" />
+    </component>
+
+</composite>

Modified: incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/main/webapp/WEB-INF/web.xml?rev=601610&r1=601609&r2=601610&view=diff
==============================================================================
--- incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/main/webapp/WEB-INF/web.xml (original)
+++ incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/main/webapp/WEB-INF/web.xml Wed Dec  5 20:49:45 2007
@@ -34,10 +34,6 @@
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     
-    <listener>
-        <listener-class>org.apache.tuscany.sca.host.webapp.TuscanyContextListener</listener-class>
-    </listener>
-
     <welcome-file-list id="WelcomeFileList">
         <welcome-file>AlertAggregator.html</welcome-file>
     </welcome-file-list>  

Copied: incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsIntegrationTest.java (from r601566, incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsIntegrationTest.java?p2=incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsIntegrationTest.java&p1=incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsTestCase.java&r1=601566&r2=601610&rev=601610&view=diff
==============================================================================
--- incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsTestCase.java (original)
+++ incubator/tuscany/java/sca/demos/alert-aggregator-webapp/src/test/java/org/apache/tuscany/sca/demos/aggregator/AlertsIntegrationTest.java Wed Dec  5 20:49:45 2007
@@ -34,14 +34,14 @@
 
 /**
  */
-public class AlertsTestCase extends TestCase  {
+public class AlertsIntegrationTest extends TestCase  {
     private SCADomain scaDomain;
     /**
      * Runs before each test method
      */
     @Override
     protected void setUp() throws Exception {
-        scaDomain = SCADomain.newInstance("alerts.composite");
+        scaDomain = SCADomain.newInstance("alerts-client.composite");
         super.setUp();
     }
 
@@ -63,21 +63,21 @@
 
     public void testGetAllNewAlerts() throws Exception {   
         JSONObject jsonRequest = new JSONObject("{\"params\":[\"sometext\"],\"method\":\"getAllNewAlerts\",\"id\":2}");
-        JSONObject jsonResp    = callService ("http://localhost:8080/AlertsServiceJSONRPC",
+        JSONObject jsonResp    = callService ("http://localhost:8080/demo-alert-aggregator-webapp/AlertsServiceJSONRPC",
                                               jsonRequest);
         assertNotNull(jsonResp);
     }   
     
     public void testAddAlertSources() throws Exception {   
         JSONObject jsonRequest = new JSONObject("{\"params\":[{\"name\":\"news\",\"id\":\"2\",\"address\":\"www.news.com\",\"feedAddress\":\"http://news.com.com/2547-1_3-0-20.xml\",\"feedType\":\"rss\",\"lastChecked\":\"lastChecked\",\"javaClass\":\"org.apache.tuscany.sca.demos.aggregator.types.impl.SourceTypeImpl\"}],\"method\":\"addAlertSource\",\"id\":2}");
-        JSONObject jsonResp    = callService ("http://localhost:8080/AlertsSourcesServiceJSONRPC",
+        JSONObject jsonResp    = callService ("http://localhost:8080/demo-alert-aggregator-webapp/AlertsSourcesServiceJSONRPC",
                                               jsonRequest);  
         assertNotNull(jsonResp);
     }
   
     public void testGetAlertSources() throws Exception {  
         JSONObject jsonRequest = new JSONObject("{\"params\":[\"sometext\"],\"method\":\"getAlertSources\",\"id\":2}");
-        JSONObject jsonResp    = callService ("http://localhost:8080/AlertsSourcesServiceJSONRPC",
+        JSONObject jsonResp    = callService ("http://localhost:8080/demo-alert-aggregator-webapp/AlertsSourcesServiceJSONRPC",
                                               jsonRequest);                                 
         assertEquals("BBC News", jsonResp.getJSONObject("result").getJSONObject("source").optJSONArray("list").getJSONObject(0).getString("name")); 
     }    



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org