diff options
Diffstat (limited to 'sca-java-2.x/tags/2.0-M5-RC1/itest/domains')
12 files changed, 538 insertions, 0 deletions
diff --git a/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/distributed/pom.xml b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/distributed/pom.xml new file mode 100644 index 0000000000..eacfda616f --- /dev/null +++ b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/distributed/pom.xml @@ -0,0 +1,51 @@ +<?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-sca</artifactId> + <version>2.0-M5</version> + <relativePath>../../pom.xml</relativePath> + </parent> + <artifactId>itest-domains-distributed</artifactId> + <name>Apache Tuscany SCA itest domain distributed</name> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca.shades</groupId> + <artifactId>tuscany-base-nodep</artifactId> + <version>2.0-M5</version> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.8.1</version> + <scope>test</scope> + </dependency> + + </dependencies> + + <build> + <finalName>${artifactId}</finalName> + </build> + +</project> diff --git a/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/distributed/src/test/java/itest/Helloworld.java b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/distributed/src/test/java/itest/Helloworld.java new file mode 100644 index 0000000000..f764bc8358 --- /dev/null +++ b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/distributed/src/test/java/itest/Helloworld.java @@ -0,0 +1,28 @@ +/*
+ * 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 org.oasisopen.sca.annotation.Remotable;
+
+@Remotable
+public interface Helloworld {
+
+ String sayHello(String name);
+
+}
diff --git a/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/distributed/src/test/java/itest/StandaloneTestCase.java b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/distributed/src/test/java/itest/StandaloneTestCase.java new file mode 100644 index 0000000000..222b3e8c3a --- /dev/null +++ b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/distributed/src/test/java/itest/StandaloneTestCase.java @@ -0,0 +1,46 @@ +/*
+ * 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 java.net.URI;
+
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.junit.Test;
+import org.oasisopen.sca.client.SCAClientFactory;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class StandaloneTestCase{
+
+ @Test
+ public void test1() throws Exception {
+ Node node = NodeFactory.newInstance().createNode(URI.create("tuscany:foo"),"../helloworld/target/itest-domains-helloworld.zip");
+ node.start();
+ assertEquals(1, node.getServiceNames().size());
+ assertEquals("HelloworldComponent/Helloworld", node.getServiceNames().get(0));
+ Helloworld helloworld = SCAClientFactory.newInstance(URI.create("tuscany:foo")).getService(Helloworld.class, "HelloworldComponent");
+ assertEquals("Hello petra", helloworld.sayHello("petra"));
+ }
+
+}
+
diff --git a/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/helloworld/pom.xml b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/helloworld/pom.xml new file mode 100644 index 0000000000..12c084f1ed --- /dev/null +++ b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/helloworld/pom.xml @@ -0,0 +1,83 @@ +<?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-M5</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>itest-domains-helloworld</artifactId> + <name>Apache Tuscany SCA itest domain helloworld</name> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-sca-api</artifactId> + <version>2.0-M5</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>itest-domains-interfaces</artifactId> + <version>2.0-M5</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.8.1</version> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <finalName>${artifactId}</finalName> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.2-beta-3</version> + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-zip-contribution-descriptor</artifactId> + <version>2.0-M5</version> + </dependency> + </dependencies> + <executions> + <execution> + <id>make-assembly</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + <configuration> + <appendAssemblyId>false</appendAssemblyId> + <descriptors> + <descriptor>tuscany-zip-contribution.xml</descriptor> + </descriptors> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> + diff --git a/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/helloworld/src/main/java/itest/HelloworldImpl.java b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/helloworld/src/main/java/itest/HelloworldImpl.java new file mode 100644 index 0000000000..2a10b3fb77 --- /dev/null +++ b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/helloworld/src/main/java/itest/HelloworldImpl.java @@ -0,0 +1,38 @@ +/*
+ * 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 itest.Helloworld;
+
+import org.oasisopen.sca.annotation.EagerInit;
+import org.oasisopen.sca.annotation.Init;
+import org.oasisopen.sca.annotation.Scope;
+
+@Scope("COMPOSITE") @EagerInit
+public class HelloworldImpl implements Helloworld {
+
+ public String sayHello(String name) {
+ return "Hello " + name;
+ }
+
+ @Init
+ public void init() {
+ System.out.println(sayHello("world"));
+ }
+}
diff --git a/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/helloworld/src/main/resources/META-INF/sca-contribution.xml b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/helloworld/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..8939a73d01 --- /dev/null +++ b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/helloworld/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,23 @@ +<?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.
+-->
+<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+ xmlns:itest="http://org.apache.tuscany.sca.itest">
+ <deployable composite="itest:helloworld"/>
+</contribution> diff --git a/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/helloworld/src/main/resources/helloworld.composite b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/helloworld/src/main/resources/helloworld.composite new file mode 100644 index 0000000000..18d064c588 --- /dev/null +++ b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/helloworld/src/main/resources/helloworld.composite @@ -0,0 +1,29 @@ +<?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://docs.oasis-open.org/ns/opencsa/sca/200912"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
+ targetNamespace="http://org.apache.tuscany.sca.itest"
+ name="helloworld">
+
+ <component name="HelloworldComponent">
+ <implementation.java class="itest.HelloworldImpl"/>
+ </component>
+
+</composite>
diff --git a/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/interfaces/pom.xml b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/interfaces/pom.xml new file mode 100644 index 0000000000..15f181b057 --- /dev/null +++ b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/interfaces/pom.xml @@ -0,0 +1,51 @@ +<?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-M5</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>itest-domains-interfaces</artifactId> + <name>Apache Tuscany SCA itest domain interfaces</name> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-sca-api</artifactId> + <version>2.0-M5</version> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.8.1</version> + <scope>test</scope> + </dependency> + + </dependencies> + + <build> + <finalName>${artifactId}</finalName> + </build> +</project> diff --git a/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/interfaces/src/main/java/itest/Helloworld.java b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/interfaces/src/main/java/itest/Helloworld.java new file mode 100644 index 0000000000..f764bc8358 --- /dev/null +++ b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/interfaces/src/main/java/itest/Helloworld.java @@ -0,0 +1,28 @@ +/*
+ * 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 org.oasisopen.sca.annotation.Remotable;
+
+@Remotable
+public interface Helloworld {
+
+ String sayHello(String name);
+
+}
diff --git a/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/pom.xml b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/pom.xml new file mode 100644 index 0000000000..32495e680f --- /dev/null +++ b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/pom.xml @@ -0,0 +1,38 @@ +<?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-M5</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>itest-domains</artifactId> + <packaging>pom</packaging> + <name>Apache Tuscany SCA Domians Integration Tests</name> + + <modules> + <module>interfaces</module> + <module>helloworld</module> + <module>standalone</module> + <module>distributed</module> + </modules> +</project> diff --git a/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/standalone/pom.xml b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/standalone/pom.xml new file mode 100644 index 0000000000..c40b530bc2 --- /dev/null +++ b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/standalone/pom.xml @@ -0,0 +1,57 @@ +<?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-sca</artifactId> + <version>2.0-M5</version> + <relativePath>../../pom.xml</relativePath> + </parent> + <artifactId>itest-domains-standalone</artifactId> + <name>Apache Tuscany SCA itest domain standalone</name> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-domain-node</artifactId> + <version>2.0-M5</version> + </dependency> + + <!-- TODO: shouldnt need to have this dependency, should be in DomainNode --> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-sca-client-impl</artifactId> + <version>2.0-M5</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.8.1</version> + <scope>test</scope> + </dependency> + + </dependencies> + + <build> + <finalName>${artifactId}</finalName> + </build> + +</project> diff --git a/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/standalone/src/test/java/itest/StandaloneTestCase.java b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/standalone/src/test/java/itest/StandaloneTestCase.java new file mode 100644 index 0000000000..0fbcc98a96 --- /dev/null +++ b/sca-java-2.x/tags/2.0-M5-RC1/itest/domains/standalone/src/test/java/itest/StandaloneTestCase.java @@ -0,0 +1,66 @@ +/*
+ * 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 org.apache.tuscany.sca.domain.node.DomainNode;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class StandaloneTestCase{
+
+ private static DomainNode node;
+
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ node = new DomainNode();
+ node.addContribution("../helloworld/target/itest-domains-helloworld.zip");
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ node.stop();
+ }
+
+ @Test
+ public void testServices() throws Exception {
+ assertEquals(1, node.getServiceNames().size());
+ assertEquals("HelloworldComponent/Helloworld", node.getServiceNames().get(0));
+ }
+
+ @Test
+ public void testDuplicateComponents() throws Exception {
+ try {
+ node.addContribution("../helloworld/target/itest-domains-helloworld.zip", "dup");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ // verify the old one is still there
+ // TODO: doesn't work correctly yet
+// assertEquals(1, node.getServiceNames().size());
+// assertEquals("HelloworldComponent/Helloworld", node.getServiceNames().get(0));
+ }
+
+}
|