summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test')
-rw-r--r--sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/Helloworld.java28
-rw-r--r--sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/HelloworldClientImpl.java34
-rw-r--r--sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/HelloworldServiceImpl.java29
-rw-r--r--sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/Mapper1TestCase.java82
-rw-r--r--sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/UnknownEndpointTestCase.java58
-rw-r--r--sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/resources/clients.composite34
-rw-r--r--sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/resources/services.composite31
-rw-r--r--sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/resources/test.composite41
8 files changed, 337 insertions, 0 deletions
diff --git a/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/Helloworld.java b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/Helloworld.java
new file mode 100644
index 0000000000..244d077f0b
--- /dev/null
+++ b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/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.helloworld;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+@Remotable
+public interface Helloworld {
+
+ String sayHello(String name);
+}
diff --git a/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/HelloworldClientImpl.java b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/HelloworldClientImpl.java
new file mode 100644
index 0000000000..8d69e1d31b
--- /dev/null
+++ b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/HelloworldClientImpl.java
@@ -0,0 +1,34 @@
+/*
+ * 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.helloworld;
+
+import org.oasisopen.sca.annotation.Reference;
+
+public class HelloworldClientImpl implements Helloworld{
+
+ @Reference
+ public Helloworld ref;
+
+ @Override
+ public String sayHello(String name) {
+ return ref.sayHello(name);
+ }
+
+}
diff --git a/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/HelloworldServiceImpl.java b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/HelloworldServiceImpl.java
new file mode 100644
index 0000000000..12e194f6dc
--- /dev/null
+++ b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/HelloworldServiceImpl.java
@@ -0,0 +1,29 @@
+/*
+ * 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.helloworld;
+
+public class HelloworldServiceImpl implements Helloworld {
+
+ @Override
+ public String sayHello(String name) {
+ return "Hello " + name;
+ }
+
+}
diff --git a/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/Mapper1TestCase.java b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/Mapper1TestCase.java
new file mode 100644
index 0000000000..b6b6d406f8
--- /dev/null
+++ b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/Mapper1TestCase.java
@@ -0,0 +1,82 @@
+/*
+ * 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.helloworld;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class Mapper1TestCase {
+
+ static {
+ org.apache.tuscany.sca.http.jetty.JettyServer.portDefault = 8085;
+ }
+
+ Node node;
+
+ @Test
+ public void testSCABindingFactory() throws IOException {
+ node = NodeFactory.newInstance().createNode("test.composite", new String[]{"target/test-classes"}) ;
+ node.start();
+
+ // test the service invocations work
+ Helloworld helloworld = node.getService(Helloworld.class, "Client1");
+ Assert.assertEquals("Hello Petra", helloworld.sayHello("Petra"));
+
+ helloworld = node.getService(Helloworld.class, "Client2");
+ Assert.assertEquals("Hello Petra", helloworld.sayHello("Petra"));
+
+ // verify service1 is exposed as a WS endpoint and service2 is a jsonp endpoint
+ URL wsService = new URL("http://localhost:8085/Service1/Helloworld?wsdl");
+ Assert.assertTrue(getContent(wsService).contains("definitions name=\"HelloworldService\""));
+
+ URL jsonpService = new URL("http://localhost:8085/Client2/Helloworld/sayHello?name=Petra");
+ Assert.assertEquals("\"Hello Petra\"", getContent(jsonpService));
+ }
+
+ private String getContent(URL url) throws IOException {
+ BufferedReader reader = null;
+ try {
+ reader = new BufferedReader(new InputStreamReader(url.openStream()));
+ StringBuffer sb = new StringBuffer();
+ String str;
+ while ((str = reader.readLine()) != null) {
+ sb.append(str);
+ }
+ return sb.toString();
+ } finally {
+ if (reader != null) {
+ reader.close();
+ }
+ }
+ }
+
+ @After
+ public void shutdown() {
+ node.stop();
+ }
+
+}
diff --git a/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/UnknownEndpointTestCase.java b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/UnknownEndpointTestCase.java
new file mode 100644
index 0000000000..f35a71b30e
--- /dev/null
+++ b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/java/itest/helloworld/UnknownEndpointTestCase.java
@@ -0,0 +1,58 @@
+/*
+ * 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.helloworld;
+
+import java.io.IOException;
+
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class UnknownEndpointTestCase {
+
+ static {
+ org.apache.tuscany.sca.http.jetty.JettyServer.portDefault = 8085;
+ }
+
+ Node servicesnode;
+ Node node;
+
+ @Test
+ public void testUnknownEndpoints() throws IOException, InterruptedException {
+ servicesnode = NodeFactory.getInstance().createNode("services.composite", new String[]{"target/test-classes"}) ;
+ servicesnode.start();
+ node = NodeFactory.getInstance().createNode("clients.composite", new String[]{"target/test-classes"}) ;
+ node.start();
+
+ // test the service invocations work
+ Helloworld helloworld = node.getService(Helloworld.class, "Client1");
+ Assert.assertEquals("Hello Petra", helloworld.sayHello("Petra"));
+
+ helloworld = node.getService(Helloworld.class, "Client2");
+ Assert.assertEquals("Hello Petra", helloworld.sayHello("Petra"));
+ }
+
+ @After
+ public void shutdown() throws InterruptedException {
+ node.stop();
+ servicesnode.stop();
+ }
+}
diff --git a/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/resources/clients.composite b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/resources/clients.composite
new file mode 100644
index 0000000000..5597ec112c
--- /dev/null
+++ b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/resources/clients.composite
@@ -0,0 +1,34 @@
+<?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"
+ targetNamespace="http://Scopes"
+ name="clients">
+
+ <component name="Client1">
+ <implementation.java class="itest.helloworld.HelloworldClientImpl"/>
+ <reference name="ref" target="Service1" />
+ </component>
+
+ <component name="Client2">
+ <implementation.java class="itest.helloworld.HelloworldClientImpl"/>
+ <reference name="ref" target="Service2" />
+ </component>
+
+</composite>
diff --git a/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/resources/services.composite b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/resources/services.composite
new file mode 100644
index 0000000000..bb1161c1ac
--- /dev/null
+++ b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/resources/services.composite
@@ -0,0 +1,31 @@
+<?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"
+ targetNamespace="http://Scopes"
+ name="services">
+
+ <component name="Service1">
+ <implementation.java class="itest.helloworld.HelloworldServiceImpl"/>
+ </component>
+
+ <component name="Service2">
+ <implementation.java class="itest.helloworld.HelloworldServiceImpl"/>
+ </component>
+</composite>
diff --git a/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/resources/test.composite b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/resources/test.composite
new file mode 100644
index 0000000000..d29c636f77
--- /dev/null
+++ b/sca-java-2.x/branches/2.0-Beta3/testing/itest/scabindingmapper/src/test/resources/test.composite
@@ -0,0 +1,41 @@
+<?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"
+ targetNamespace="http://Scopes"
+ name="mappertest">
+
+ <component name="Client1">
+ <implementation.java class="itest.helloworld.HelloworldClientImpl"/>
+ <reference name="ref" target="Service1" />
+ </component>
+
+ <component name="Service1">
+ <implementation.java class="itest.helloworld.HelloworldServiceImpl"/>
+ </component>
+
+ <component name="Client2">
+ <implementation.java class="itest.helloworld.HelloworldClientImpl"/>
+ <reference name="ref" target="Service2" />
+ </component>
+
+ <component name="Service2">
+ <implementation.java class="itest.helloworld.HelloworldServiceImpl"/>
+ </component>
+</composite>