From e5b7380c874745c989d1816b8f552504f038e1bc Mon Sep 17 00:00:00 2001 From: lresende Date: Thu, 26 Sep 2013 20:33:20 +0000 Subject: 2.0 branch for possible maintenance release git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1526672 13f79535-47bb-0310-9956-ffa450edef68 --- .../2.0/testing/itest/domains/distributed/pom.xml | 51 +++++++++++ .../src/test/java/itest/Helloworld.java | 28 ++++++ .../src/test/java/itest/StandaloneTestCase.java | 46 ++++++++++ .../2.0/testing/itest/domains/endpoint-uri/pom.xml | 49 +++++++++++ .../src/test/java/itest/EndpointURITestCase.java | 97 +++++++++++++++++++++ .../src/test/resources/helloworld-ws.jar | Bin 0 -> 10639 bytes .../2.0/testing/itest/domains/helloworld/pom.xml | 83 ++++++++++++++++++ .../src/main/java/itest/HelloworldImpl.java | 38 ++++++++ .../main/resources/META-INF/sca-contribution.xml | 23 +++++ .../src/main/resources/helloworld.composite | 29 ++++++ .../2.0/testing/itest/domains/interfaces/pom.xml | 51 +++++++++++ .../interfaces/src/main/java/itest/Helloworld.java | 28 ++++++ .../branches/2.0/testing/itest/domains/pom.xml | 38 ++++++++ .../2.0/testing/itest/domains/standalone/pom.xml | 57 ++++++++++++ .../src/test/java/itest/StandaloneTestCase.java | 66 ++++++++++++++ 15 files changed, 684 insertions(+) create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/distributed/pom.xml create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/distributed/src/test/java/itest/Helloworld.java create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/distributed/src/test/java/itest/StandaloneTestCase.java create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/endpoint-uri/pom.xml create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/endpoint-uri/src/test/java/itest/EndpointURITestCase.java create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/endpoint-uri/src/test/resources/helloworld-ws.jar create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/helloworld/pom.xml create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/helloworld/src/main/java/itest/HelloworldImpl.java create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/helloworld/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/helloworld/src/main/resources/helloworld.composite create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/interfaces/pom.xml create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/interfaces/src/main/java/itest/Helloworld.java create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/pom.xml create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/standalone/pom.xml create mode 100644 sca-java-2.x/branches/2.0/testing/itest/domains/standalone/src/test/java/itest/StandaloneTestCase.java (limited to 'sca-java-2.x/branches/2.0/testing/itest/domains') diff --git a/sca-java-2.x/branches/2.0/testing/itest/domains/distributed/pom.xml b/sca-java-2.x/branches/2.0/testing/itest/domains/distributed/pom.xml new file mode 100644 index 0000000000..8b4bfaca29 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/itest/domains/distributed/pom.xml @@ -0,0 +1,51 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0 + ../../pom.xml + + itest-domains-distributed + Apache Tuscany SCA itest domain distributed + + + + org.apache.tuscany.sca + tuscany-base-runtime-nodep + 2.0 + + + + junit + junit + 4.8.1 + test + + + + + + ${project.artifactId} + + + diff --git a/sca-java-2.x/branches/2.0/testing/itest/domains/distributed/src/test/java/itest/Helloworld.java b/sca-java-2.x/branches/2.0/testing/itest/domains/distributed/src/test/java/itest/Helloworld.java new file mode 100644 index 0000000000..f764bc8358 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/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/branches/2.0/testing/itest/domains/distributed/src/test/java/itest/StandaloneTestCase.java b/sca-java-2.x/branches/2.0/testing/itest/domains/distributed/src/test/java/itest/StandaloneTestCase.java new file mode 100644 index 0000000000..222b3e8c3a --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/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/branches/2.0/testing/itest/domains/endpoint-uri/pom.xml b/sca-java-2.x/branches/2.0/testing/itest/domains/endpoint-uri/pom.xml new file mode 100644 index 0000000000..f242eaae33 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/itest/domains/endpoint-uri/pom.xml @@ -0,0 +1,49 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + itest-nodes + 2.0 + ../pom.xml + + itest-domains-enpoint-uri + Apache Tuscany SCA iTest Domains-endpoint-uri + + + + org.apache.tuscany.sca + tuscany-base-runtime + 2.0 + + + org.apache.tuscany.sca + tuscany-binding-ws-runtime-axis2 + 2.0 + + + org.apache.tuscany.sca + tuscany-host-jetty + 2.0 + + + + diff --git a/sca-java-2.x/branches/2.0/testing/itest/domains/endpoint-uri/src/test/java/itest/EndpointURITestCase.java b/sca-java-2.x/branches/2.0/testing/itest/domains/endpoint-uri/src/test/java/itest/EndpointURITestCase.java new file mode 100644 index 0000000000..360b3bd57e --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/itest/domains/endpoint-uri/src/test/java/itest/EndpointURITestCase.java @@ -0,0 +1,97 @@ +/* + * 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 java.net.URI; +import java.util.List; + +import javax.wsdl.Definition; +import javax.wsdl.Port; +import javax.wsdl.Service; +import javax.wsdl.extensions.soap.SOAPAddress; +import javax.wsdl.factory.WSDLFactory; +import javax.wsdl.xml.WSDLReader; + +import org.apache.tuscany.sca.Node; +import org.apache.tuscany.sca.TuscanyRuntime; +import org.junit.Test; + +/** + * Tests if a non-default domain name gets used as part of the service endpoint URI + */ +public class EndpointURITestCase{ + + @Test + public void testDefault() throws Exception { + Node node = TuscanyRuntime.runComposite(null, "src/test/resources/helloworld-ws.jar"); + try { + + assertEquals(1, node.getInstalledContributionURIs().size()); + + assertNotNull(getWsdlUrl("http://localhost:8080/HelloworldComponent/Helloworld")); + + } finally { + node.stop(); + } + } + + @Test + public void testDomainRoot() throws Exception { + Node node = TuscanyRuntime.runComposite(URI.create("myDomain"), null, "src/test/resources/helloworld-ws.jar"); + try { + + assertEquals(1, node.getInstalledContributionURIs().size()); + + assertNotNull(getWsdlUrl("http://localhost:8080/myDomain/HelloworldComponent/Helloworld")); + + } finally { + node.stop(); + } + } + + String getWsdlUrl(String uri) throws Exception { + + WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader(); + wsdlReader.setFeature("javax.wsdl.verbose",false); + wsdlReader.setFeature("javax.wsdl.importDocuments",true); + + Definition definition = wsdlReader.readWSDL(uri + "?wsdl"); + + Service service = (Service)definition.getServices().values().iterator().next(); + Port port = (Port)service.getPorts().values().iterator().next(); + + String wsdlURL = getEndpoint(port); + System.out.println("WSDL URL: "+ wsdlURL); + return wsdlURL; + } + + String getEndpoint(Port port) { + List wsdlPortExtensions = port.getExtensibilityElements(); + for (final Object extension : wsdlPortExtensions) { + if (extension instanceof SOAPAddress) { + return ((SOAPAddress) extension).getLocationURI(); + } + } + throw new RuntimeException("no SOAPAddress"); + } + +} diff --git a/sca-java-2.x/branches/2.0/testing/itest/domains/endpoint-uri/src/test/resources/helloworld-ws.jar b/sca-java-2.x/branches/2.0/testing/itest/domains/endpoint-uri/src/test/resources/helloworld-ws.jar new file mode 100644 index 0000000000..39098190ba Binary files /dev/null and b/sca-java-2.x/branches/2.0/testing/itest/domains/endpoint-uri/src/test/resources/helloworld-ws.jar differ diff --git a/sca-java-2.x/branches/2.0/testing/itest/domains/helloworld/pom.xml b/sca-java-2.x/branches/2.0/testing/itest/domains/helloworld/pom.xml new file mode 100644 index 0000000000..77d7c16d14 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/itest/domains/helloworld/pom.xml @@ -0,0 +1,83 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0 + ../pom.xml + + itest-domains-helloworld + Apache Tuscany SCA itest domain helloworld + + + + org.apache.tuscany.sca + tuscany-sca-api + 2.0 + provided + + + org.apache.tuscany.sca + itest-domains-interfaces + 2.0 + + + junit + junit + 4.8.1 + test + + + + + ${project.artifactId} + + + maven-assembly-plugin + 2.2-beta-3 + + + org.apache.tuscany.sca + tuscany-zip-contribution-descriptor + 2.0 + + + + + make-assembly + package + + single + + + false + + tuscany-zip-contribution.xml + + + + + + + + + diff --git a/sca-java-2.x/branches/2.0/testing/itest/domains/helloworld/src/main/java/itest/HelloworldImpl.java b/sca-java-2.x/branches/2.0/testing/itest/domains/helloworld/src/main/java/itest/HelloworldImpl.java new file mode 100644 index 0000000000..2a10b3fb77 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/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/branches/2.0/testing/itest/domains/helloworld/src/main/resources/META-INF/sca-contribution.xml b/sca-java-2.x/branches/2.0/testing/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/branches/2.0/testing/itest/domains/helloworld/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,23 @@ + + + + + diff --git a/sca-java-2.x/branches/2.0/testing/itest/domains/helloworld/src/main/resources/helloworld.composite b/sca-java-2.x/branches/2.0/testing/itest/domains/helloworld/src/main/resources/helloworld.composite new file mode 100644 index 0000000000..18d064c588 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/itest/domains/helloworld/src/main/resources/helloworld.composite @@ -0,0 +1,29 @@ + + + + + + + + + diff --git a/sca-java-2.x/branches/2.0/testing/itest/domains/interfaces/pom.xml b/sca-java-2.x/branches/2.0/testing/itest/domains/interfaces/pom.xml new file mode 100644 index 0000000000..0a48abb744 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/itest/domains/interfaces/pom.xml @@ -0,0 +1,51 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0 + ../pom.xml + + itest-domains-interfaces + Apache Tuscany SCA itest domain interfaces + + + + org.apache.tuscany.sca + tuscany-sca-api + 2.0 + provided + + + + junit + junit + 4.8.1 + test + + + + + + ${project.artifactId} + + diff --git a/sca-java-2.x/branches/2.0/testing/itest/domains/interfaces/src/main/java/itest/Helloworld.java b/sca-java-2.x/branches/2.0/testing/itest/domains/interfaces/src/main/java/itest/Helloworld.java new file mode 100644 index 0000000000..f764bc8358 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/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/branches/2.0/testing/itest/domains/pom.xml b/sca-java-2.x/branches/2.0/testing/itest/domains/pom.xml new file mode 100644 index 0000000000..8ebe920ac2 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/itest/domains/pom.xml @@ -0,0 +1,38 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0 + ../pom.xml + + itest-domains + pom + Apache Tuscany SCA Domians Integration Tests + + + interfaces + helloworld + standalone + distributed + + diff --git a/sca-java-2.x/branches/2.0/testing/itest/domains/standalone/pom.xml b/sca-java-2.x/branches/2.0/testing/itest/domains/standalone/pom.xml new file mode 100644 index 0000000000..c5394bf42b --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/itest/domains/standalone/pom.xml @@ -0,0 +1,57 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-sca + 2.0 + ../../pom.xml + + itest-domains-standalone + Apache Tuscany SCA itest domain standalone + + + + org.apache.tuscany.sca + tuscany-domain-node + 2.0 + + + + + org.apache.tuscany.sca + tuscany-sca-client-impl + 2.0 + + + junit + junit + 4.8.1 + test + + + + + + ${project.artifactId} + + + diff --git a/sca-java-2.x/branches/2.0/testing/itest/domains/standalone/src/test/java/itest/StandaloneTestCase.java b/sca-java-2.x/branches/2.0/testing/itest/domains/standalone/src/test/java/itest/StandaloneTestCase.java new file mode 100644 index 0000000000..0fbcc98a96 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/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)); + } + +} -- cgit v1.2.3