diff options
author | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-06-23 21:14:46 +0000 |
---|---|---|
committer | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-06-23 21:14:46 +0000 |
commit | 870fb91f8a26ef64fecc9a271ca09ef08b74c1d5 (patch) | |
tree | 8cc037f51c8cb7ded4949a5179e4c03abfbc43af /java/sca/itest/nodes/two-nodes-two-vms-test | |
parent | baf8012570331e3016f64021d294e82da30167ac (diff) |
add test with two nodes running in separate vms. Just the service side at the moment to look at how the style of binding.sca we use would affect what configuration and registration information is required.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@787837 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/itest/nodes/two-nodes-two-vms-test')
5 files changed, 301 insertions, 0 deletions
diff --git a/java/sca/itest/nodes/two-nodes-two-vms-test/build.xml b/java/sca/itest/nodes/two-nodes-two-vms-test/build.xml new file mode 100644 index 0000000000..2c20db4839 --- /dev/null +++ b/java/sca/itest/nodes/two-nodes-two-vms-test/build.xml @@ -0,0 +1,40 @@ +<!-- + * 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 name="itest-samples" default="run"> + + <target name="run"> + <ant antfile="server.xml"/> + + <!--parallel> + + <daemons> + <ant antfile="server.xml"/> + </daemons> + + <sequential> + <sleep seconds="4"/> + <ant antfile="client.xml" + dir="."/> + </sequential> + + </parallel--> + + </target> + +</project> diff --git a/java/sca/itest/nodes/two-nodes-two-vms-test/pom.xml b/java/sca/itest/nodes/two-nodes-two-vms-test/pom.xml new file mode 100644 index 0000000000..3adb740c97 --- /dev/null +++ b/java/sca/itest/nodes/two-nodes-two-vms-test/pom.xml @@ -0,0 +1,106 @@ +<?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>tuscany-itest</artifactId> + <version>2.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>itest-nodes-two-nodes-two-vms-test</artifactId> + <name>Apache Tuscany SCA iTest Nodes Two Nodes Two VMs Test</name> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>itest-nodes-helloworld-iface</artifactId> + <version>2.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-node-impl</artifactId> + <version>2.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-node-launcher</artifactId> + <version>2.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-sca-client-impl</artifactId> + <version>2.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>2.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-sca-axis2-runtime</artifactId> + <version>2.0-SNAPSHOT</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <version>1.3</version> + + <dependencies> + <dependency> + <groupId>ant</groupId> + <artifactId>ant-trax</artifactId> + <version>1.6.5</version> + </dependency> + <!-- this JDk dependency is a workaround for Maven bug - http://jira.codehaus.org/browse/MNG-1323 --> + <dependency> + <groupId>sun.jdk</groupId> + <artifactId>tools</artifactId> + <version>1.6</version> + <scope>system</scope> + <systemPath>${java.home}/../lib/tools.jar</systemPath> + </dependency> + </dependencies> + + <executions> + <execution> + <id>run-samples</id> + <phase>verify</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <tasks> + <property name="tuscany.version" value="${version}" /> + <property name="runtime_classpath" refid="maven.runtime.classpath"/> + <ant antfile="./build.xml" target="run"/> + </tasks> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/java/sca/itest/nodes/two-nodes-two-vms-test/server-config.xml b/java/sca/itest/nodes/two-nodes-two-vms-test/server-config.xml new file mode 100644 index 0000000000..ea3462c891 --- /dev/null +++ b/java/sca/itest/nodes/two-nodes-two-vms-test/server-config.xml @@ -0,0 +1,37 @@ +<?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. +--> +<node xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200903" + xmlns="http://tuscany.apache.org/xmlns/sca/1.1" + xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" + uri="http://sample/nodes/TestNode1" + domain="http://domain1"> + + <!-- Configure the base URIs for a given binding --> + <!-- Each base URI is for a protocol supported by the binding --> + <binding name="sca:binding.ws" baseURIs="http://localhost:8080/ws https://localhost:8081/ws"/> + + <!-- Configure a list of contributions --> + <contribution uri="iface" location="file:../helloworld-iface/target/itest-nodes-helloworld-iface-2.0-SNAPSHOT.jar"/> + <contribution uri="service" location="file:../helloworld-service/target/itest-nodes-helloworld-service-2.0-SNAPSHOT.jar"> + <!-- doesn't pick up the deployable composite properly without this?--> + <deploymentComposite location="helloworld-service.composite"/> + </contribution> + +</node>
\ No newline at end of file diff --git a/java/sca/itest/nodes/two-nodes-two-vms-test/server.xml b/java/sca/itest/nodes/two-nodes-two-vms-test/server.xml new file mode 100644 index 0000000000..00d4446ac3 --- /dev/null +++ b/java/sca/itest/nodes/two-nodes-two-vms-test/server.xml @@ -0,0 +1,33 @@ +<!-- + * 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 name="server" default="run"> + + <echo>${runtime_classpath}</echo> + + <target name="run"> + <java classpath="${runtime_classpath}" classname="org.apache.tuscany.sca.node.launcher.NodeMain" fork="true"> + <jvmarg value="-Djava.util.logging.config.file=../logging.properties"/> + <!--arg value="-ttl"/> + <arg value="0"/--> + <arg value="-node"/> + <arg value="file://./server-config.xml"/> + </java> + </target> + +</project>
\ No newline at end of file diff --git a/java/sca/itest/nodes/two-nodes-two-vms-test/src/test/java/itest/TwoNodesTestCase.java b/java/sca/itest/nodes/two-nodes-two-vms-test/src/test/java/itest/TwoNodesTestCase.java new file mode 100644 index 0000000000..6f0c7565e7 --- /dev/null +++ b/java/sca/itest/nodes/two-nodes-two-vms-test/src/test/java/itest/TwoNodesTestCase.java @@ -0,0 +1,85 @@ +/* + * 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 static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import itest.nodes.Helloworld; + +import java.io.File; +import java.net.URL; + +import org.apache.tuscany.sca.node.Contribution; +import org.apache.tuscany.sca.node.Node; +import org.apache.tuscany.sca.node.NodeFactory; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.oasisopen.sca.client.SCAClient; +import org.oasisopen.sca.client.SCAClientFactory; + +/** + * This shows how to test the Calculator service component. + */ +public class TwoNodesTestCase{ + + private static Node serviceNode; + private static Node clientNode; + + @BeforeClass + public static void setUpBeforeClass() throws Exception { + NodeFactory factory = NodeFactory.newInstance(); + + serviceNode = factory.createNode(new URL("file:./server-config.xml")); + serviceNode.start(); + + //clientNode = factory.createNode(new Contribution("client", getJar("../helloworld-client/target"))); + //clientNode.start(); + } + + /** + * Get the jar in the target folder without being dependent on the version name to + * make tuscany releases easier + */ + private static String getJar(String targetDirectory) { + File f = new File(targetDirectory); + for (File file : f.listFiles()) { + if (file.getName().endsWith(".jar")) { + return file.toURI().toString(); + } + } + throw new IllegalStateException("Can't find jar in: " + targetDirectory); + } + + @Test + public void testNothing() throws Exception { + + } + + @AfterClass + public static void tearDownAfterClass() throws Exception { + if (serviceNode != null) { + serviceNode.stop(); + } + if (clientNode != null) { + clientNode.stop(); + } + } +} |