diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2012-02-16 15:41:39 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2012-02-16 15:41:39 +0000 |
commit | 4585b42320e7e79bec583b937ca88bc1577e635c (patch) | |
tree | f1e1357e779979bac055ff6ea92716942a7c429d /sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test | |
parent | 3b7a9c51b93925c567b6b84450410b2737cc565e (diff) |
Delete old RC tags
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1245039 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test')
6 files changed, 0 insertions, 711 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/pom.xml b/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/pom.xml deleted file mode 100644 index d49a5b499c..0000000000 --- a/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/pom.xml +++ /dev/null @@ -1,59 +0,0 @@ -<?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-Beta1</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>itest-nodes-two-nodes-test</artifactId> - <name>Apache Tuscany SCA iTest Nodes Two Nodes Test</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>itest-nodes-helloworld-iface</artifactId> - <version>2.0-Beta1</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-node-impl</artifactId> - <version>2.0-Beta1</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca-client-impl</artifactId> - <version>2.0-Beta1</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-java-runtime</artifactId> - <version>2.0-Beta1</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-binding-ws-runtime-axis2</artifactId> - <version>2.0-Beta1</version> - </dependency> - </dependencies> - -</project> diff --git a/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/ClientNode.java b/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/ClientNode.java deleted file mode 100644 index 6da4c1f7e1..0000000000 --- a/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/ClientNode.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * 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.URI; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.node.Node; -import org.apache.tuscany.sca.node.NodeFactory; -import org.apache.tuscany.sca.node.configuration.NodeConfiguration; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; -import org.oasisopen.sca.client.SCAClientFactory; - -/** - * This shows how to test the Calculator service component. - */ -public class ClientNode { - private final static String SCA11_NS = "http://docs.oasis-open.org/ns/opencsa/sca/200912"; - private static Node clientNode; - private static TestCaseRunner runner; - - @BeforeClass - public static void setUpBeforeClass() throws Exception { - runner = new TestCaseRunner(ServiceNode.class); - runner.beforeClass(); - System.setProperty("org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint.enabled", - "false"); - NodeFactory factory = NodeFactory.newInstance(); - NodeConfiguration conf = - factory.createNodeConfiguration().setURI("clientNode"). - addBinding(new QName(SCA11_NS, "binding.sca"), "http://localhost:8085/sca https://localhost:9085/sca") - .addBinding(new QName(SCA11_NS, "binding.ws"), "http://localhost:8086/ws") - .addContribution("client", new File("../helloworld-client/target/classes").toURI().toString()); - clientNode = factory.createNode(conf).start(); - Thread.sleep(1000); - } - - @Test - public void testCalculator() throws Exception { - - Helloworld client = clientNode.getService(Helloworld.class, "HelloworldClient"); - assertNotNull(client); - assertEquals("Hi Hello Petra", client.sayHello("Petra")); - } - - @Test - @Ignore("SCAClient needs to leverage the EndpointRegistry to invoke services that are not hosted on the local node") - public void testCalculatorClientAPI() throws Exception { - Helloworld service = SCAClientFactory.newInstance(URI.create("default")).getService(Helloworld.class, "HelloworldService"); - assertNotNull(service); - assertEquals("Hello Petra", service.sayHello("Petra")); - - Helloworld client = SCAClientFactory.newInstance(URI.create("default")).getService(Helloworld.class, "HelloworldClient"); - assertNotNull(client); - assertEquals("Hi Hello Petra", client.sayHello("Petra")); - } - - @AfterClass - public static void tearDownAfterClass() throws Exception { - if (clientNode != null) { - clientNode.stop(); - } - if (runner != null) { - runner.afterClass(); - } - } -} diff --git a/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/ServiceNode.java b/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/ServiceNode.java deleted file mode 100644 index 4b034d89e0..0000000000 --- a/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/ServiceNode.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * 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 java.io.File; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.node.Node; -import org.apache.tuscany.sca.node.NodeFactory; -import org.apache.tuscany.sca.node.configuration.NodeConfiguration; -import org.junit.AfterClass; -import org.junit.BeforeClass; - -/** - * This shows how to test the Calculator service component. - */ -public class ServiceNode { - private final static String SCA11_NS = "http://docs.oasis-open.org/ns/opencsa/sca/200912"; - private static Node serviceNode; - - @BeforeClass - public static void setUpBeforeClass() throws Exception { - System.setProperty("org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint.enabled", - "false"); - NodeFactory factory = NodeFactory.newInstance(); - NodeConfiguration conf = - factory.createNodeConfiguration().setURI("serviceNode") - .addBinding(new QName(SCA11_NS, "binding.sca"), "http://localhost:8087/sca") - .addBinding(new QName(SCA11_NS, "binding.ws"), "http://localhost:8088/ws") - .addContribution("service", new File("../helloworld-service/target/classes").toURI().toString()); - serviceNode = factory.createNode(conf).start(); - } - - @AfterClass - public static void tearDownAfterClass() throws Exception { - if (serviceNode != null) { - serviceNode.stop(); - } - } -} diff --git a/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/StopStartNodesTestCase.java b/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/StopStartNodesTestCase.java deleted file mode 100644 index 998492734b..0000000000 --- a/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/StopStartNodesTestCase.java +++ /dev/null @@ -1,103 +0,0 @@ -/*
- * 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 static org.junit.Assert.fail;
-import itest.nodes.Helloworld;
-
-import java.io.File;
-
-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.Test;
-
-/**
- * Tests using two nodes and stopping and restarting a service node.
- */
-public class StopStartNodesTestCase {
-
- private static Node serviceNode;
- private static Node clientNode;
-
- @Test
- public void testCalculator() throws Exception {
- NodeFactory factory = NodeFactory.newInstance();
- serviceNode = factory.createNode(new Contribution("service", getJar("../helloworld-service/target")));
- serviceNode.start();
- clientNode = factory.createNode(new Contribution("client", getJar("../helloworld-client/target")));
- clientNode.start();
-
- Helloworld service = serviceNode.getService(Helloworld.class, "HelloworldService");
- assertNotNull(service);
- assertEquals("Hello Petra", service.sayHello("Petra"));
-
- Helloworld client = clientNode.getService(Helloworld.class, "HelloworldClient");
- assertNotNull(client);
- assertEquals("Hi Hello Petra", client.sayHello("Petra"));
-
- serviceNode.stop();
-
- client = clientNode.getService(Helloworld.class, "HelloworldClient");
- assertNotNull(client);
-
- try {
- client.sayHello("Petra");
- fail();
- } catch (Exception e) {
- // expected
- // TODO: better exception than NPE
- }
-
- serviceNode = factory.createNode(new Contribution("service", getJar("../helloworld-service/target")));
- serviceNode.start();
-
- client = clientNode.getService(Helloworld.class, "HelloworldClient");
- assertNotNull(client);
- assertEquals("Hi Hello Petra", client.sayHello("Petra"));
- }
-
- /**
- * 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);
- }
-
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- if (serviceNode != null) {
- serviceNode.stop();
- }
- if (clientNode != null) {
- clientNode.stop();
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/TestCaseRunner.java b/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/TestCaseRunner.java deleted file mode 100644 index 7dfa6e66cc..0000000000 --- a/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/TestCaseRunner.java +++ /dev/null @@ -1,292 +0,0 @@ -/* - * 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 java.lang.annotation.Annotation; -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; -import java.net.URL; -import java.net.URLClassLoader; -import java.security.AccessController; -import java.security.PrivilegedAction; - -/** - * A helper class that can be used to run an SCA JUnit test case. The test case will run in an isolated class loader. - * - * @version $Rev$ $Date$ - */ -public class TestCaseRunner { - - private ClassLoader classLoader; - private Class<?> testSuiteClass; - private Object testSuite; - private Class<?> testResultClass; - private Class<?> testCaseClass; - private Object testCase; - - private Class<?> beforeAnnotation; - private Class<?> beforeClassAnnotation; - private Class<?> afterAnnotation; - private Class<?> afterClassAnnotation; - private Class<?> junit4AdapterClass; - private Class<?> junit3TestCaseClass; - - /** - * Constructs a new TestCase runner. - * - * @param testClass - */ - public TestCaseRunner(Class<?> testClass) { - try { - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - classLoader = testClass.getClassLoader(); - if (classLoader instanceof URLClassLoader) { - URL[] urls = ((URLClassLoader)classLoader).getURLs(); - classLoader = new URLClassLoader(urls, classLoader.getParent()); - } else if (classLoader == tccl || classLoader.getParent() == tccl) { - classLoader = new URLClassLoader(new URL[0], classLoader); - } else { - classLoader = tccl; - } - - try { - // Thread.currentThread().setContextClassLoader(classLoader); - // Allow privileged access to set class loader. Requires RuntimePermission - // setContextClassLoader in security policy. - final ClassLoader finalClassLoader = classLoader; - AccessController.doPrivileged(new PrivilegedAction<Object>() { - public Object run() { - Thread.currentThread().setContextClassLoader(finalClassLoader); - return null; - } - }); - - testCaseClass = Class.forName(testClass.getName(), true, classLoader); - testCase = testCaseClass.newInstance(); - ClassLoader testClassLoader = testCaseClass.getClassLoader(); - - junit3TestCaseClass = Class.forName("junit.framework.TestCase", true, testClassLoader); - - testSuiteClass = Class.forName("junit.framework.TestSuite", true, testClassLoader); - Constructor<?> testSuiteConstructor = testSuiteClass.getConstructor(Class.class); - testSuite = testSuiteConstructor.newInstance(testCaseClass); - - testResultClass = Class.forName("junit.framework.TestResult", true, testClassLoader); - - try { - beforeAnnotation = Class.forName("org.junit.Before", true, testClassLoader); - afterAnnotation = Class.forName("org.junit.After", true, testClassLoader); - beforeClassAnnotation = Class.forName("org.junit.BeforeClass", true, testClassLoader); - afterClassAnnotation = Class.forName("org.junit.AfterClass", true, testClassLoader); - junit4AdapterClass = Class.forName("junit.framework.JUnit4TestAdapter", true, testClassLoader); - } catch (Exception e) { - // Unexpected - throw new AssertionError(e); - } - } catch (Throwable e) { - e.printStackTrace(); - } finally { - // Thread.currentThread().setContextClassLoader(tccl); - // Allow privileged access to set class loader. Requires RuntimePermission - // setContextClassLoader in security policy. - final ClassLoader finaltccl = tccl; - AccessController.doPrivileged(new PrivilegedAction<Object>() { - public Object run() { - Thread.currentThread().setContextClassLoader(finaltccl); - return null; - } - }); - } - } catch (Exception e) { - throw new RuntimeException(e); - } - } - - /** - * Run the test case - */ - public void run() { - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - try { - // Thread.currentThread().setContextClassLoader(classLoader); - // Allow privileged access to set class loader. Requires RuntimePermission - // setContextClassLoader in security policy. - final ClassLoader finalClassLoader = classLoader; - AccessController.doPrivileged(new PrivilegedAction<Object>() { - public Object run() { - Thread.currentThread().setContextClassLoader(finalClassLoader); - return null; - } - }); - - if (junit3TestCaseClass.isAssignableFrom(testCaseClass)) { - Object testResult = testResultClass.newInstance(); - Method runMethod = testSuiteClass.getMethod("run", testResultClass); - runMethod.invoke(testSuite, testResult); - } else { - Object junit4Adapter = junit4AdapterClass.getConstructor(Class.class).newInstance(testCaseClass); - Object testResult = testResultClass.newInstance(); - Method runMethod = junit4AdapterClass.getMethod("run", testResultClass); - runMethod.invoke(junit4Adapter, testResult); - } - } catch (Exception e) { - throw new RuntimeException(e); - } finally { - // Thread.currentThread().setContextClassLoader(tccl); - // Allow privileged access to set class loader. Requires RuntimePermission - // setContextClassLoader in security policy. - final ClassLoader finaltccl = tccl; - AccessController.doPrivileged(new PrivilegedAction<Object>() { - public Object run() { - Thread.currentThread().setContextClassLoader(finaltccl); - return null; - } - }); - } - } - - /** - * Invoke the setUp method - */ - public void setUp() { - execute("setUp"); - } - - /** - * Invoke the before methods - */ - public void before() { - execute(beforeAnnotation); - } - - /** - * Invoke the beforeClass methods - */ - public void beforeClass() { - execute(beforeClassAnnotation); - } - - /** - * Invoke the tearDown method - */ - public void tearDown() { - execute("tearDown"); - } - - /** - * Invoke the after methods - */ - public void after() { - execute(afterAnnotation); - } - - /** - * Invoke the afterClass methods - */ - public void afterClass() { - execute(afterClassAnnotation); - } - - /** - * Invoke the specified test method. - */ - public void run(String methodName) { - execute(methodName); - } - - /** - * Invoke the methods annotated with the specified annotation. - */ - private void execute(Class<?> annotationClass) { - if (annotationClass == null) { - throw new RuntimeException(new NoSuchMethodException()); - } - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - try { - // Thread.currentThread().setContextClassLoader(classLoader); - // Allow privileged access to set class loader. Requires RuntimePermission - // setContextClassLoader in security policy. - final ClassLoader finalClassLoader = classLoader; - AccessController.doPrivileged(new PrivilegedAction<Object>() { - public Object run() { - Thread.currentThread().setContextClassLoader(finalClassLoader); - return null; - } - }); - - for (Method method : testCaseClass.getDeclaredMethods()) { - for (Annotation annotation : method.getAnnotations()) { - if (annotation.annotationType() == annotationClass) { - method.invoke(testCase); - } - } - } - } catch (Exception e) { - throw new RuntimeException(e); - } finally { - // Thread.currentThread().setContextClassLoader(tccl); - // Allow privileged access to set class loader. Requires RuntimePermission - // setContextClassLoader in security policy. - final ClassLoader finaltccl = tccl; - AccessController.doPrivileged(new PrivilegedAction<Object>() { - public Object run() { - Thread.currentThread().setContextClassLoader(finaltccl); - return null; - } - }); - } - } - - /** - * Invoke the specified method - */ - private void execute(String methodName) { - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - try { - // Thread.currentThread().setContextClassLoader(classLoader); - // Allow privileged access to set class loader. Requires RuntimePermission - // setContextClassLoader in security policy. - final ClassLoader finalClassLoader = classLoader; - AccessController.doPrivileged(new PrivilegedAction<Object>() { - public Object run() { - Thread.currentThread().setContextClassLoader(finalClassLoader); - return null; - } - }); - Method setUpMethod = testCaseClass.getDeclaredMethod(methodName); - setUpMethod.setAccessible(true); - setUpMethod.invoke(testCase); - } catch (Exception e) { - throw new RuntimeException(e); - } finally { - // Thread.currentThread().setContextClassLoader(tccl); - // Allow privileged access to set class loader. Requires RuntimePermission - // setContextClassLoader in security policy. - final ClassLoader finaltccl = tccl; - AccessController.doPrivileged(new PrivilegedAction<Object>() { - public Object run() { - Thread.currentThread().setContextClassLoader(finaltccl); - return null; - } - }); - } - } - -} - diff --git a/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/TwoNodesTestCase.java b/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/TwoNodesTestCase.java deleted file mode 100644 index 80c36e5ee9..0000000000 --- a/sca-java-2.x/tags/2.0-Beta1-RC2/testing/itest/nodes/two-nodes-test/src/test/java/itest/TwoNodesTestCase.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * 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.URI; - -import org.apache.tuscany.sca.node.Node; -import org.apache.tuscany.sca.node.NodeFactory; -import org.apache.tuscany.sca.node.configuration.NodeConfiguration; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -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 { - System.setProperty("org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint.enabled", - "false"); - NodeFactory factory = NodeFactory.getInstance(); - NodeConfiguration configuration1 = - factory.createNodeConfiguration().setURI("serviceNode") - .addContribution("service", getJar("../helloworld-service/target")); - serviceNode = factory.createNode(configuration1).start(); - - NodeConfiguration configuration2 = - factory.createNodeConfiguration().setURI("clientNode") - .addContribution("client", getJar("../helloworld-client/target")); - clientNode = factory.createNode(configuration2).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 testCalculator() throws Exception { - Helloworld service = serviceNode.getService(Helloworld.class, "HelloworldService"); - assertNotNull(service); - assertEquals("Hello Petra", service.sayHello("Petra")); - - Helloworld client = clientNode.getService(Helloworld.class, "HelloworldClient"); - assertNotNull(client); - assertEquals("Hi Hello Petra", client.sayHello("Petra")); - } - - @Test - public void testCalculatorClientAPI() throws Exception { - Helloworld service = SCAClientFactory.newInstance(URI.create("default")).getService(Helloworld.class, "HelloworldService"); - assertNotNull(service); - assertEquals("Hello Petra", service.sayHello("Petra")); - - Helloworld client = SCAClientFactory.newInstance(URI.create("default")).getService(Helloworld.class, "HelloworldClient"); - assertNotNull(client); - assertEquals("Hi Hello Petra", client.sayHello("Petra")); - } - - @AfterClass - public static void tearDownAfterClass() throws Exception { - if (serviceNode != null) { - serviceNode.stop(); - } - if (clientNode != null) { - clientNode.stop(); - } - } -} |