From 074cc3cff2f00457318bd322a6bd58f65686ae5c Mon Sep 17 00:00:00 2001 From: nash Date: Tue, 16 Nov 2010 10:40:14 +0000 Subject: Tag for 1.6.1-RC2 git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1035578 13f79535-47bb-0310-9956-ffa450edef68 --- .../harness/OSGiTuscanyNonOSGiTestHarness.java | 109 +++++++++ .../test/osgi/harness/OSGiTuscanyTestHarness.java | 243 +++++++++++++++++++++ .../CalculatorImplementationPoliciesTestCase.java | 61 ++++++ .../test/osgi/tuscany/CalculatorRmiTestCase.java | 62 ++++++ .../osgi/tuscany/CalculatorScriptTestCase.java | 63 ++++++ .../osgi/tuscany/CallbackWsClientTestCase.java | 61 ++++++ .../osgi/tuscany/CallbackWsServiceTestCase.java | 61 ++++++ .../tuscany/HelloworldWsServiceJmsTestCase.java | 61 ++++++ .../tuscany/HelloworldWsServiceSecureTestCase.java | 61 ++++++ .../osgi/tuscany/HelloworldWsServiceTestCase.java | 61 ++++++ .../test/osgi/tuscany/NonOSGiSamplesTestCase.java | 85 +++++++ .../test/osgi/tuscany/OSGiSupplyChainTestCase.java | 71 ++++++ .../osgi/tuscany/OSGiTuscanyRuntimeTestCase.java | 137 ++++++++++++ .../tuscany/TuscanySampleExtensionsTestCase.java | 93 ++++++++ .../TuscanySamplesUsingOldDomainTestCase.java | 80 +++++++ 15 files changed, 1309 insertions(+) create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyNonOSGiTestHarness.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyTestHarness.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorImplementationPoliciesTestCase.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorRmiTestCase.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorScriptTestCase.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CallbackWsClientTestCase.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CallbackWsServiceTestCase.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceJmsTestCase.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceSecureTestCase.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceTestCase.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/NonOSGiSamplesTestCase.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiSupplyChainTestCase.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiTuscanyRuntimeTestCase.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySampleExtensionsTestCase.java create mode 100644 sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySamplesUsingOldDomainTestCase.java (limited to 'sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org') diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyNonOSGiTestHarness.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyNonOSGiTestHarness.java new file mode 100644 index 0000000000..8bf7a1fb2f --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyNonOSGiTestHarness.java @@ -0,0 +1,109 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.harness; + +import java.io.File; +import java.lang.reflect.Method; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.HashSet; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.test.util.TuscanyLoader; + +/* + * Test Tuscany running in an OSGi container + * This harness runs Tuscany samples outside OSGi with Tuscany running in OSGi + */ +public class OSGiTuscanyNonOSGiTestHarness extends OSGiTuscanyTestHarness { + + public void runTest(String... testDirs) throws Exception { + + String mainTestDir = testDirs[0]; + + File testDir = new File(mainTestDir + "/target/test-classes"); + if (!testDir.exists()) { + System.err.println("Test directory " + testDir + " does not exist"); + return; + } + + System.out.println("Run tests from : " + mainTestDir); + + long startTime = System.currentTimeMillis(); + + String[] dirs = new String[testDirs.length + 2]; + int i = 0; + dirs[i++] = mainTestDir + "/target/test-classes"; + dirs[i++] = "target/test-classes"; + for (int j = 0; j < testDirs.length; j++) { + dirs[i++] = testDirs[j] + "/target/classes"; + } + + tuscanyRuntime = TuscanyLoader.loadTuscanyIntoOSGi(getBundleContext()); + long endTime = System.currentTimeMillis(); + + System.out.println("Loaded Tuscany, time taken = " + (endTime - startTime) + " ms"); + + URL[] dirURLs = new URL[dirs.length]; + for (int j = 0; j < dirs.length; j++) { + dirURLs[j] = new File(dirs[j]).toURI().toURL(); + } + ClassLoader testClassLoader = new URLClassLoader(dirURLs, Thread.currentThread().getContextClassLoader()); + Thread.currentThread().setContextClassLoader(testClassLoader); + + Class testClass = testClassLoader.loadClass(this.getClass().getName()); + Method testMethod = testClass.getMethod("runAllTestsFromDirs", ClassLoader.class, String[].class); + Object testObject = testClass.newInstance(); + testMethod.invoke(testObject, testClassLoader, dirs); + + } + + public void getTestCases(File dir, String prefix, HashSet testCaseSet) { + File[] files = dir.listFiles(); + for (File file : files) { + if (file.isDirectory()) { + String newPrefix = prefix == null ? file.getName() : prefix + "." + file.getName(); + getTestCases(file, newPrefix, testCaseSet); + } else if (file.getName().endsWith("TestCase.class")) { + String name = file.getName(); + name = name.substring(0, name.length() - 6); // remove .class + name = (prefix == null) ? name : prefix + "." + name; + + testCaseSet.add(name); + } + } + } + + public void runAllTestsFromDirs(ClassLoader testClassLoader, String[] testDirs) throws Exception { + + int failures = 0; + HashSet testCaseSet = new HashSet(); + for (String testDir : testDirs) { + getTestCases(new File(testDir), null, testCaseSet); + } + for (String className : testCaseSet) { + Class testClass = testClassLoader.loadClass(className); + failures += runTestCase(testClass).getFailureCount(); + } + + Assert.assertEquals(0, failures); + + } +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyTestHarness.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyTestHarness.java new file mode 100644 index 0000000000..ba9b7007b4 --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyTestHarness.java @@ -0,0 +1,243 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.harness; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.lang.reflect.Method; +import java.net.URL; +import java.util.Enumeration; +import java.util.jar.JarOutputStream; +import java.util.jar.Manifest; +import java.util.zip.ZipEntry; + +import junit.framework.Assert; +import junit.framework.AssertionFailedError; + +import org.apache.tuscany.sca.test.osgi.runtime.impl.OSGiTestRuntime; +import org.apache.tuscany.sca.test.util.OSGiRuntimeLoader; +import org.apache.tuscany.sca.test.util.TuscanyLoader; +import org.junit.runner.JUnitCore; +import org.junit.runner.Request; +import org.junit.runner.Result; +import org.junit.runner.notification.Failure; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; + +/* + * Test Tuscany running in an OSGi container + * Harness can be used to run Tuscany samples with Tuscany running in OSGi + */ +public class OSGiTuscanyTestHarness { + + private OSGiTestRuntime osgiRuntime; + protected Bundle tuscanyRuntime; + private BundleContext bundleContext; + private Bundle testBundle; + + public void setUp() throws Exception { + + osgiRuntime = OSGiRuntimeLoader.startOSGiTestRuntime(); + bundleContext = osgiRuntime.getBundleContext(); + + // Uninstall any previously installed test bundles + for (Bundle bundle : bundleContext.getBundles()) { + if ("org.apache.tuscany.sca.test.samples".equals(bundle.getSymbolicName())) { + bundle.uninstall(); + } + } + } + + public void tearDown() throws Exception { + if (tuscanyRuntime != null) { + tuscanyRuntime.stop(); + } + OSGiRuntimeLoader.shutdownOSGiRuntime(); + } + + public BundleContext getBundleContext() { + return bundleContext; + } + + public void runTest(String... testDirs) throws Exception { + + String mainTestDir = testDirs[0]; + + File testDir = new File(mainTestDir + "/target/test-classes"); + if (!testDir.exists()) { + System.err.println("Test directory " + testDir + " does not exist"); + return; + } + + System.out.println("Run tests from : " + mainTestDir); + + long startTime = System.currentTimeMillis(); + + tuscanyRuntime = TuscanyLoader.loadTuscanyIntoOSGi(bundleContext); + + String[] dirs = new String[testDirs.length + 2]; + int i = 0; + dirs[i++] = mainTestDir + "/target/test-classes"; + dirs[i++] = "target/test-classes"; + for (int j = 0; j < testDirs.length; j++) { + dirs[i++] = testDirs[j] + "/target/classes"; + } + + String manifestFile = "target/test-classes/META-INF/MANIFEST.MF"; + + testBundle = createAndInstallBundle("file:" + mainTestDir + "/target/classes", // Bundle location: used to get File URLs for DefaultSCADomain + manifestFile, // Test bundle manifest file + dirs // Directory entries to be added to bundle + ); + + long endTime = System.currentTimeMillis(); + + System.out.println("Loaded Tuscany, time taken = " + (endTime - startTime) + " ms"); + + testBundle.start(); + + Class testClass = testBundle.loadClass(this.getClass().getName()); + Method testMethod = testClass.getMethod("runAllTestsFromBundle", Bundle.class); + Object testObject = testClass.newInstance(); + testMethod.invoke(testObject, testBundle); + + testBundle.stop(); + testBundle.uninstall(); + } + + // Create and install a bundle with the specified manifest file + // The bundle contains all files from the list of directories specified + public Bundle createAndInstallBundle(String bundleLocation, String manifestFileName, String[] dirNames) + throws Exception { + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + + File manifestFile = new File(manifestFileName); + Manifest manifest = new Manifest(); + manifest.read(new FileInputStream(manifestFile)); + manifest.getMainAttributes().putValue("Bundle-Version", + (String)tuscanyRuntime.getHeaders().get("Bundle-Version")); + + JarOutputStream jarOut = new JarOutputStream(out, manifest); + + for (int i = 0; i < dirNames.length; i++) { + File dir = new File(dirNames[i]); + addFilesToJar(dir, dirNames[i], jarOut); + } + + jarOut.close(); + out.close(); + + ByteArrayInputStream inStream = new ByteArrayInputStream(out.toByteArray()); + return bundleContext.installBundle(bundleLocation, inStream); + + } + + // Add all the files from a build directory into a jar file + // This method is used to create bundles on the fly + private void addFilesToJar(File dir, String rootDirName, JarOutputStream jarOut) throws Exception { + + if (dir.getName().equals(".svn")) + return; + + File[] files = dir.listFiles(); + + if (files == null) + return; + + for (int i = 0; i < files.length; i++) { + + if (files[i].isDirectory()) { + addFilesToJar(files[i], rootDirName, jarOut); + } + if (files[i].getName().endsWith("MANIFEST.MF")) + continue; + + String entryName = files[i].getPath().substring(rootDirName.length() + 1); + entryName = entryName.replaceAll("\\\\", "/"); + if (files[i].isDirectory()) { + entryName += "/"; + } + ZipEntry ze = new ZipEntry(entryName); + + try { + jarOut.putNextEntry(ze); + FileInputStream file = new FileInputStream(files[i]); + byte[] fileContents = new byte[file.available()]; + file.read(fileContents); + jarOut.write(fileContents); + } catch (Exception e) { + // Ignore duplicate entry errors + } + } + } + + public void runAllTestsFromBundle(Bundle bundle) throws Exception { + int failures = 0; + Enumeration entries = bundle.findEntries("/", "*TestCase.class", true); + while (entries.hasMoreElements()) { + URL entry = (URL)entries.nextElement(); + String className = entry.getFile(); + className = className.substring(1, className.length() - 6); // remove leading / and trailing .class + className = className.replaceAll("/", "."); + Class testClass = bundle.loadClass(className); + failures += runTestCase(testClass).getFailureCount(); + } + + Assert.assertEquals(0, failures); + + } + + public Result runTestCase(Class testClass) throws Exception { + + if (testClass.getName().endsWith("TestCase") && !testClass.getName() + .startsWith("org.apache.tuscany.sca.test.osgi.")) { + JUnitCore core = new JUnitCore(); + System.out.println("Running test " + testClass.getName() + " "); + Result result = core.run(Request.aClass(testClass)); + // long duration = result.getRunTime(); + int runs = result.getRunCount(); + int failures = 0, errors = 0; + int ignores = result.getIgnoreCount(); + + for (Failure f : result.getFailures()) { + if (f.getException() instanceof AssertionFailedError) { + failures++; + } else { + errors++; + } + } + + System.out.println("Test Runs: " + runs + + ", Failures: " + + failures + + ", Errors: " + + errors + + ", Ignores: " + + ignores); + + return result; + + } + return new Result(); + + } +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorImplementationPoliciesTestCase.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorImplementationPoliciesTestCase.java new file mode 100644 index 0000000000..85397195bd --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorImplementationPoliciesTestCase.java @@ -0,0 +1,61 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.tuscany; + + +import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/* + * Test Tuscany running in an OSGi container + * + * Run samples-calculator-implementation-policies + */ +public class CalculatorImplementationPoliciesTestCase { + + + private OSGiTuscanyTestHarness testHarness; + + @Before + public void setUp() throws Exception { + + testHarness = new OSGiTuscanyTestHarness(); + testHarness.setUp(); + } + + + @After + public void tearDown() throws Exception { + + if (testHarness != null) { + testHarness.tearDown(); + } + } + + + @Test + public void runTest() throws Exception { + + testHarness.runTest("../../../samples/" + "calculator-implementation-policies"); + + } + +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorRmiTestCase.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorRmiTestCase.java new file mode 100644 index 0000000000..9346fb8ed2 --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorRmiTestCase.java @@ -0,0 +1,62 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.tuscany; + + +import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/* + * Test Tuscany running in an OSGi container + * + * Run samples-calculator-rmi-reference and samples-calculator-rmi-service + */ +public class CalculatorRmiTestCase { + + + private OSGiTuscanyTestHarness testHarness; + + @Before + public void setUp() throws Exception { + + testHarness = new OSGiTuscanyTestHarness(); + testHarness.setUp(); + } + + + @After + public void tearDown() throws Exception { + + if (testHarness != null) { + testHarness.tearDown(); + } + } + + + @Test + public void runTest() throws Exception { + + testHarness.runTest("../../../samples/" + "calculator-rmi-reference"); + testHarness.runTest("../../../samples/" + "calculator-rmi-service"); + + } + +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorScriptTestCase.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorScriptTestCase.java new file mode 100644 index 0000000000..501cded48d --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorScriptTestCase.java @@ -0,0 +1,63 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.tuscany; + + +import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/* + * Test Tuscany running in an OSGi container + * + * Run samples-calculator-script + */ +public class CalculatorScriptTestCase { + + + private OSGiTuscanyTestHarness testHarness; + + @Before + public void setUp() throws Exception { + + testHarness = new OSGiTuscanyTestHarness(); + testHarness.setUp(); + + System.setProperty("python.cachedir", "target/cachedir"); + } + + + @After + public void tearDown() throws Exception { + + if (testHarness != null) { + testHarness.tearDown(); + } + } + + + @Test + public void runTest() throws Exception { + + testHarness.runTest("../../../samples/" + "calculator-script"); + + } + +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CallbackWsClientTestCase.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CallbackWsClientTestCase.java new file mode 100644 index 0000000000..687335b3c4 --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CallbackWsClientTestCase.java @@ -0,0 +1,61 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.tuscany; + + +import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/* + * Test Tuscany running in an OSGi container + * + * Run samples-callback-ws + */ +public class CallbackWsClientTestCase { + + + private OSGiTuscanyTestHarness testHarness; + + @Before + public void setUp() throws Exception { + + testHarness = new OSGiTuscanyTestHarness(); + testHarness.setUp(); + } + + + @After + public void tearDown() throws Exception { + + if (testHarness != null) { + testHarness.tearDown(); + } + } + + + @Test + public void runTest() throws Exception { + + testHarness.runTest("../../../samples/" + "callback-ws-client", + "../../../samples/" + "callback-ws-service"); + } + +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CallbackWsServiceTestCase.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CallbackWsServiceTestCase.java new file mode 100644 index 0000000000..f605e024ba --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CallbackWsServiceTestCase.java @@ -0,0 +1,61 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.tuscany; + + +import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/* + * Test Tuscany running in an OSGi container + * + * Run samples-callback-ws + */ +public class CallbackWsServiceTestCase { + + + private OSGiTuscanyTestHarness testHarness; + + @Before + public void setUp() throws Exception { + + testHarness = new OSGiTuscanyTestHarness(); + testHarness.setUp(); + } + + + @After + public void tearDown() throws Exception { + + if (testHarness != null) { + testHarness.tearDown(); + } + } + + + @Test + public void runTest() throws Exception { + + testHarness.runTest("../../../samples/" + "callback-ws-service"); + + } + +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceJmsTestCase.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceJmsTestCase.java new file mode 100644 index 0000000000..4f5640960b --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceJmsTestCase.java @@ -0,0 +1,61 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.tuscany; + + +import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/* + * Test Tuscany running in an OSGi container + * + * Run samples-helloworld-ws-service-jms + */ +public class HelloworldWsServiceJmsTestCase { + + + private OSGiTuscanyTestHarness testHarness; + + @Before + public void setUp() throws Exception { + + testHarness = new OSGiTuscanyTestHarness(); + testHarness.setUp(); + } + + + @After + public void tearDown() throws Exception { + + if (testHarness != null) { + testHarness.tearDown(); + } + } + + + @Test + public void runTest() throws Exception { + + testHarness.runTest("../../../samples/" + "helloworld-ws-service-jms"); + + } + +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceSecureTestCase.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceSecureTestCase.java new file mode 100644 index 0000000000..9a491304bf --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceSecureTestCase.java @@ -0,0 +1,61 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.tuscany; + + +import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/* + * Test Tuscany running in an OSGi container + * + * Run samples-helloworld-ws-service-secure + */ +public class HelloworldWsServiceSecureTestCase { + + + private OSGiTuscanyTestHarness testHarness; + + @Before + public void setUp() throws Exception { + + testHarness = new OSGiTuscanyTestHarness(); + testHarness.setUp(); + } + + + @After + public void tearDown() throws Exception { + + if (testHarness != null) { + testHarness.tearDown(); + } + } + + + @Test + public void runTest() throws Exception { + + testHarness.runTest("../../../samples/" + "helloworld-ws-service-secure"); + + } + +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceTestCase.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceTestCase.java new file mode 100644 index 0000000000..2e0b49e693 --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceTestCase.java @@ -0,0 +1,61 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.tuscany; + + +import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/* + * Test Tuscany running in an OSGi container + * + * Run samples-helloworld-ws-service + */ +public class HelloworldWsServiceTestCase { + + + private OSGiTuscanyTestHarness testHarness; + + @Before + public void setUp() throws Exception { + + testHarness = new OSGiTuscanyTestHarness(); + testHarness.setUp(); + } + + + @After + public void tearDown() throws Exception { + + if (testHarness != null) { + testHarness.tearDown(); + } + } + + + @Test + public void runTest() throws Exception { + + testHarness.runTest("../../../samples/" + "helloworld-ws-service"); + + } + +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/NonOSGiSamplesTestCase.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/NonOSGiSamplesTestCase.java new file mode 100644 index 0000000000..eac9979f56 --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/NonOSGiSamplesTestCase.java @@ -0,0 +1,85 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.tuscany; + + +import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyNonOSGiTestHarness; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/* + * Test Tuscany running in an OSGi container + * + * Run samples which use old domain code + */ +public class NonOSGiSamplesTestCase { + + + private static String[] SAMPLES = { + "binding-notification-consumer", + "binding-notification-producer", + "calculator", + "implementation-composite", + "implementation-notification", + "loanapplication", + "simple-bigbank", + "simple-callback", + "supplychain", + "calculator-implementation-policies", + "calculator-rmi-reference", + "calculator-rmi-service", + "callback-ws-service", + "helloworld-ws-service-jms", + "helloworld-ws-service-secure", + "helloworld-ws-service" + + }; + + + private OSGiTuscanyNonOSGiTestHarness testHarness; + + @Before + public void setUp() throws Exception { + + testHarness = new OSGiTuscanyNonOSGiTestHarness(); + testHarness.setUp(); + } + + + @After + public void tearDown() throws Exception { + + if (testHarness != null) { + testHarness.tearDown(); + testHarness = null; + } + } + + + @Test + public void runTestsOutsideOSGi() throws Exception { + + for (String testDir : SAMPLES) { + testHarness.runTest("../../../samples/" + testDir); + } + } + + +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiSupplyChainTestCase.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiSupplyChainTestCase.java new file mode 100644 index 0000000000..62c0eef16d --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiSupplyChainTestCase.java @@ -0,0 +1,71 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.tuscany; + + +import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; + +/* + * Test Tuscany running in an OSGi container + * + * Run samples-osgi-supplychain + */ +public class OSGiSupplyChainTestCase { + + + private OSGiTuscanyTestHarness testHarness; + + @Before + public void setUp() throws Exception { + + testHarness = new OSGiTuscanyTestHarness(); + testHarness.setUp(); + } + + + @After + public void tearDown() throws Exception { + + BundleContext bundleContext = testHarness.getBundleContext(); + if (bundleContext != null) { + Bundle[] bundles = bundleContext.getBundles(); + for (Bundle bundle : bundles) { + if (bundle.getSymbolicName() != null && bundle.getSymbolicName().contains("supplychain")) + bundle.uninstall(); + } + } + if (testHarness != null) { + testHarness.tearDown(); + } + } + + + @Test + public void runTest() throws Exception { + + testHarness.runTest("../../../samples/" + "osgi-supplychain"); + + } + +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiTuscanyRuntimeTestCase.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiTuscanyRuntimeTestCase.java new file mode 100644 index 0000000000..155dd368a3 --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiTuscanyRuntimeTestCase.java @@ -0,0 +1,137 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.tuscany; + + +import java.io.File; +import java.lang.reflect.Method; +import java.net.URL; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.test.osgi.runtime.impl.OSGiTestRuntime; +import org.apache.tuscany.sca.test.util.OSGiRuntimeLoader; +import org.apache.tuscany.sca.test.util.TuscanyLoader; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; + +/* + * Test Tuscany running inside OSGi + */ +public class OSGiTuscanyRuntimeTestCase { + + private OSGiTestRuntime osgiRuntime; + private Bundle tuscanyRuntime; + + + @Before + public void setUp() throws Exception { + + osgiRuntime = OSGiRuntimeLoader.startOSGiTestRuntime(); + BundleContext bundleContext = osgiRuntime.getBundleContext(); + + // Uninstall any previously installed test bundles + for (Bundle bundle : bundleContext.getBundles()) { + String bundleName = bundle.getSymbolicName(); + if (bundleName != null && + (bundleName.equals("org.apache.tuscany.sca.test.samples")|| + bundleName.startsWith("supplychain"))) { + bundle.uninstall(); + } + } + } + + + @After + public void tearDown() throws Exception { + + if (tuscanyRuntime != null) { + tuscanyRuntime.stop(); + } + OSGiRuntimeLoader.shutdownOSGiRuntime(); + } + + + + @Test + public void startTuscanyRuntimeInOSGi() throws Exception { + + tuscanyRuntime = TuscanyLoader.loadTuscanyIntoOSGi(osgiRuntime.getBundleContext()); + Assert.assertNotNull(tuscanyRuntime); + Bundle[] bundles = osgiRuntime.getBundleContext().getBundles(); + Bundle runtimeBundle = null; + for (Bundle bundle : bundles) { + if ("org.apache.tuscany.sca.osgi.runtime".equals(bundle.getSymbolicName())) { + runtimeBundle = bundle; + break; + } + } + Assert.assertNotNull(runtimeBundle); + Class clazz = runtimeBundle.loadClass("org.apache.tuscany.sca.osgi.runtime.OSGiRuntime"); + Assert.assertNotNull(clazz); + + } + + @Test + public void testOSGiTuscany_ImplementationJava() throws Exception { + testOSGiTuscanyUsingOSGiClient("SupplyChain.jar"); + } + + @Test + public void testOSGiTuscany_BindingWS() throws Exception { + testOSGiTuscanyUsingOSGiClient("SupplyChainWS.jar"); + } + + + private void testOSGiTuscanyUsingOSGiClient(String contributionJarName) throws Exception { + + tuscanyRuntime = TuscanyLoader.loadTuscanyIntoOSGi(osgiRuntime.getBundleContext()); + + String folderName = "../test-bundles/target/"; + String supplychainJarName = contributionJarName; + String supplychainClientJarName = "SupplyChainClient.jar"; + URL supplyChainURL = new File(folderName + supplychainJarName).toURI().toURL(); + URL supplyChainClientURL = new File(folderName + supplychainClientJarName).toURI().toURL(); + + Bundle supplyChainBundle = osgiRuntime.getBundleContext().installBundle(supplyChainURL.toString()); + supplyChainBundle.start(); + Bundle clientBundle = osgiRuntime.getBundleContext().installBundle(supplyChainClientURL.toString()); + clientBundle.start(); + + String clientClassName = "supplychain.client.SupplyChainClient"; + Class clientClass = clientBundle.loadClass(clientClassName); + ServiceReference testServiceRef = clientBundle.getBundleContext().getServiceReference(clientClassName); + Object testService = clientBundle.getBundleContext().getService(testServiceRef); + + Method m = clientClass.getMethod("runTest", String.class); + m.invoke(testService, contributionJarName); + + System.out.println("OSGi Client test completed successfully."); + + supplyChainBundle.uninstall(); + clientBundle.uninstall(); + } + + + +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySampleExtensionsTestCase.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySampleExtensionsTestCase.java new file mode 100644 index 0000000000..b45c062761 --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySampleExtensionsTestCase.java @@ -0,0 +1,93 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.tuscany; + + +import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/* + * Test Tuscany running in an OSGi container + * + * Run samples which use provide Tuscany extensions + */ +public class TuscanySampleExtensionsTestCase { + + private OSGiTuscanyTestHarness testHarness; + + @Before + public void setUp() throws Exception { + + testHarness = new OSGiTuscanyTestHarness(); + testHarness.setUp(); + } + + + @After + public void tearDown() throws Exception { + + if (testHarness != null) { + testHarness.tearDown(); + testHarness = null; + } + } + + + @Test + public void testBindingEchoExtension() throws Exception { + + testHarness.runTest("../../../samples/" + "binding-echo-extension"); + } + + @Test + public void testBindingEcho() throws Exception { + + testHarness.runTest("../../../samples/" + "binding-echo", "../../../samples/" + "binding-echo-extension"); + + } + + @Test + public void testDataBindingEcho() throws Exception { + + testHarness.runTest("../../../samples/" + "databinding-echo", "../../../samples/" + "binding-echo-extension"); + + } + + @Test + public void testImplementationCrudExtension() throws Exception { + + testHarness.runTest("../../../samples/" + "implementation-crud-extension"); + } + + @Test + public void testImplementationCrud() throws Exception { + + testHarness.runTest("../../../samples/" + "implementation-crud", "../../../samples/" + "implementation-crud-extension"); + + } + + @Test + public void testImplementationPojoExtension() throws Exception { + + testHarness.runTest("../../../samples/" + "implementation-pojo-extension"); + } + +} diff --git a/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySamplesUsingOldDomainTestCase.java b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySamplesUsingOldDomainTestCase.java new file mode 100644 index 0000000000..c2dae9eb97 --- /dev/null +++ b/sca-java-1.x/tags/1.6.1-RC2/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySamplesUsingOldDomainTestCase.java @@ -0,0 +1,80 @@ +/* + * 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 org.apache.tuscany.sca.test.osgi.tuscany; + + +import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/* + * Test Tuscany running in an OSGi container + * + * Run samples which use old domain code + */ +public class TuscanySamplesUsingOldDomainTestCase { + + + private static String[] SAMPLES = { + + "binding-notification-consumer", + "binding-notification-producer", + "calculator", + "implementation-composite", + "implementation-notification", + "loanapplication", + "quote-xquery", + "simple-bigbank", + "simple-callback", + "supplychain" + + }; + + + private OSGiTuscanyTestHarness testHarness; + + @Before + public void setUp() throws Exception { + + testHarness = new OSGiTuscanyTestHarness(); + testHarness.setUp(); + } + + + @After + public void tearDown() throws Exception { + + if (testHarness != null) { + testHarness.tearDown(); + testHarness = null; + } + } + + + @Test + public void runTestsUsingOldDomainCode() throws Exception { + + for (String testDir : SAMPLES) { + testHarness.runTest("../../../samples/" + testDir); + } + } + + +} -- cgit v1.2.3