From 5a4eb485aa401207f7b2074e41fc715cd9f8dcb8 Mon Sep 17 00:00:00 2001 From: slaws Date: Thu, 14 Jul 2011 13:55:02 +0000 Subject: TUSCANY-3855 - start of test for contexts. Not in build yet. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1146715 13f79535-47bb-0310-9956-ffa450edef68 --- sca-java-2.x/trunk/testing/itest/context/pom.xml | 63 ++++++++++++++++++++++ .../java/itest/helloworld/ApplicationContext.java | 33 ++++++++++++ .../src/main/java/itest/helloworld/Helloworld.java | 28 ++++++++++ .../itest/helloworld/HelloworldClientImpl.java | 45 ++++++++++++++++ .../itest/helloworld/HelloworldServiceImpl.java | 30 +++++++++++ .../context/src/main/resources/context.composite | 41 ++++++++++++++ .../java/itest/helloworld/ContextTestCase.java | 54 +++++++++++++++++++ 7 files changed, 294 insertions(+) create mode 100644 sca-java-2.x/trunk/testing/itest/context/pom.xml create mode 100644 sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/ApplicationContext.java create mode 100644 sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/Helloworld.java create mode 100644 sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/HelloworldClientImpl.java create mode 100644 sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/HelloworldServiceImpl.java create mode 100644 sca-java-2.x/trunk/testing/itest/context/src/main/resources/context.composite create mode 100644 sca-java-2.x/trunk/testing/itest/context/src/test/java/itest/helloworld/ContextTestCase.java (limited to 'sca-java-2.x/trunk') diff --git a/sca-java-2.x/trunk/testing/itest/context/pom.xml b/sca-java-2.x/trunk/testing/itest/context/pom.xml new file mode 100644 index 0000000000..87c823f0ee --- /dev/null +++ b/sca-java-2.x/trunk/testing/itest/context/pom.xml @@ -0,0 +1,63 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + tuscany-itest + 2.0-SNAPSHOT + ../pom.xml + + + itest-context + Apache Tuscany SCA iTest Context + + + + org.apache.tuscany.sca + tuscany-base-runtime-pom + 2.0-SNAPSHOT + pom + + + + org.apache.tuscany.sca + tuscany-binding-ws-runtime-axis2 + 2.0-SNAPSHOT + + + + org.apache.tuscany.sca + tuscany-binding-jsonp-runtime + 2.0-SNAPSHOT + + + + org.mortbay.jetty + jetty + 6.1.19 + + + + + + + + diff --git a/sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/ApplicationContext.java b/sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/ApplicationContext.java new file mode 100644 index 0000000000..9ddda2e244 --- /dev/null +++ b/sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/ApplicationContext.java @@ -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. + */ + +package itest.helloworld; + +public class ApplicationContext { + + private String someString; + + public void setSomeString(String someString) { + this.someString = someString; + } + + public String getSomeString() { + return someString; + } +} diff --git a/sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/Helloworld.java b/sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/Helloworld.java new file mode 100644 index 0000000000..5c101ce832 --- /dev/null +++ b/sca-java-2.x/trunk/testing/itest/context/src/main/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/trunk/testing/itest/context/src/main/java/itest/helloworld/HelloworldClientImpl.java b/sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/HelloworldClientImpl.java new file mode 100644 index 0000000000..0ae95d8404 --- /dev/null +++ b/sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/HelloworldClientImpl.java @@ -0,0 +1,45 @@ +/* + * 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.ComponentContext; +import org.oasisopen.sca.RequestContext; +import org.oasisopen.sca.annotation.Context; +import org.oasisopen.sca.annotation.Reference; + +public class HelloworldClientImpl implements Helloworld{ + + @Context + protected ComponentContext componentContext; + + @Context + protected RequestContext requestContext; + + @Context ApplicationContext applicationContext; + + @Reference + public Helloworld ref; + + @Override + public String sayHello(String name) { + return ref.sayHello(name); + } + +} diff --git a/sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/HelloworldServiceImpl.java b/sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/HelloworldServiceImpl.java new file mode 100644 index 0000000000..8cb65789a1 --- /dev/null +++ b/sca-java-2.x/trunk/testing/itest/context/src/main/java/itest/helloworld/HelloworldServiceImpl.java @@ -0,0 +1,30 @@ +/* + * 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/trunk/testing/itest/context/src/main/resources/context.composite b/sca-java-2.x/trunk/testing/itest/context/src/main/resources/context.composite new file mode 100644 index 0000000000..d29c636f77 --- /dev/null +++ b/sca-java-2.x/trunk/testing/itest/context/src/main/resources/context.composite @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-java-2.x/trunk/testing/itest/context/src/test/java/itest/helloworld/ContextTestCase.java b/sca-java-2.x/trunk/testing/itest/context/src/test/java/itest/helloworld/ContextTestCase.java new file mode 100644 index 0000000000..3ba3caf7bc --- /dev/null +++ b/sca-java-2.x/trunk/testing/itest/context/src/test/java/itest/helloworld/ContextTestCase.java @@ -0,0 +1,54 @@ +/* + * 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 ContextTestCase { + + static { + org.apache.tuscany.sca.http.jetty.JettyServer.portDefault = 8085; + } + + Node node; + + @Test + public void testContext() throws IOException, InterruptedException { + node = NodeFactory.getInstance().createNode("context.composite", new String[]{"target/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(); + } +} -- cgit v1.2.3