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