diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2010-05-22 06:49:50 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2010-05-22 06:49:50 +0000 |
commit | 7250f4158b1bdfa9f82760cebf0269a40ad21acd (patch) | |
tree | 1ed38f22e8f58bdc5ae808cef35d2cd5b13ade84 /sca-java-2.x/contrib/modules/section10/src/test/java | |
parent | 263ea309c7e5ca7d7e17e84b5186bfab3fbc90df (diff) |
Update with code to deploy composites, add getInstalledContributions and getDeployedComposites. Refactor code to have a separate DeployedComposite class
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@947252 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/contrib/modules/section10/src/test/java')
2 files changed, 218 insertions, 20 deletions
diff --git a/sca-java-2.x/contrib/modules/section10/src/test/java/org/apache/tuscany/sca/something/Section102TestCase.java b/sca-java-2.x/contrib/modules/section10/src/test/java/org/apache/tuscany/sca/something/Section102TestCase.java new file mode 100644 index 0000000000..15176b5d83 --- /dev/null +++ b/sca-java-2.x/contrib/modules/section10/src/test/java/org/apache/tuscany/sca/something/Section102TestCase.java @@ -0,0 +1,168 @@ +/*
+ * 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.something;
+
+import java.lang.management.GarbageCollectorMXBean;
+import java.lang.management.ManagementFactory;
+import java.lang.management.MemoryMXBean;
+import java.lang.management.MemoryPoolMXBean;
+import java.net.MalformedURLException;
+import java.util.List;
+
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
+import org.apache.tuscany.sca.runtime.ActivationException;
+import org.junit.Test;
+import org.oasisopen.sca.NoSuchDomainException;
+import org.oasisopen.sca.NoSuchServiceException;
+
+public class Section102TestCase {
+
+// @Test
+// public void testInstallDeployable() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException {
+// Section10 section10 = Section10Factory.createSection10();
+// section10.installContribution("src/test/resources/sample-helloworld.jar");
+//
+//// Helloworld helloworldService = section10.getService(Helloworld.class, "HelloworldComponent");
+//// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra"));
+// }
+//
+// @Test
+// public void testInstallWithDependent() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException {
+// Section10 section10 = Section10Factory.createSection10();
+// section10.installContribution("/Tuscany/svn/2.x-trunk/itest/T3558/src/test/resources/sample-store.jar");
+// section10.installContribution("/Tuscany/svn/2.x-trunk/itest/T3558/src/test/resources/sample-store-client.jar");
+//
+//// Helloworld helloworldService = section10.getService(Helloworld.class, "HelloworldComponent");
+//// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra"));
+// }
+
+// Doesnt work yet as addToDomainLevelComposite doesn't work
+// @Test
+ public void testInstallNoDeployable() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException, ActivationException {
+ Section10 section10 = Section10Factory.createSection10();
+ String contributionURI = section10.installContribution("src/test/resources/sample-helloworld-nodeployable.jar");
+
+// SCAClientFactory scaClientFactory = section10.getSCAClientFactory();
+// try {
+// scaClientFactory.getService(Helloworld.class, "HelloworldComponent");
+// Assert.fail();
+// } catch (NoSuchServiceException e) {
+// // expected as there is no deployables
+// }
+
+ section10.addToDomainLevelComposite(contributionURI + "/helloworld.composite");
+// Helloworld helloworldService = scaClientFactory.getService(Helloworld.class, "HelloworldComponent");
+// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra"));
+ }
+
+// @Test
+ public void testGetInstalledContributions() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException, ActivationException {
+ Section10 section10 = Section10Factory.createSection10();
+ section10.installContribution("foo", "src/test/resources/sample-helloworld-nodeployable.jar");
+ List<String> ics = section10.getInstalledContributions();
+ Assert.assertEquals(1, ics.size());
+ Assert.assertEquals("foo", ics.get(0));
+ }
+
+// @Test
+ public void testGetDeployedCompostes() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException, ActivationException {
+ Section10 section10 = Section10Factory.createSection10();
+ section10.installContribution("foo", "src/test/resources/sample-helloworld.jar");
+ List<String> dcs = section10.getDeployedCompostes("foo");
+ Assert.assertEquals(1, dcs.size());
+ Assert.assertEquals("foo/helloworld.composite", dcs.get(0));
+ }
+
+ // @Test
+ public void testRemoveComposte() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException, ActivationException {
+ Section10 section10 = Section10Factory.createSection10();
+ section10.installContribution("foo", "src/test/resources/sample-helloworld.jar");
+ section10.removeFromDomainLevelComposite("foo/helloworld.composite");
+ List<String> dcs = section10.getDeployedCompostes("foo");
+ Assert.assertEquals(0, dcs.size());
+ }
+
+ @Test
+ public void testLots() throws NoSuchServiceException, ContributionReadException, MalformedURLException, ActivationException, InterruptedException {
+ Section10 section10 = Section10Factory.createSection10();
+ for (int i=0; i<40000; i++) {
+ String uri = section10.installContribution("src/test/resources/sample-helloworld.jar");
+ section10.removeContribution(uri);
+ }
+ Thread.sleep(100000);
+ dumpMemoryInfo();
+ section10.shutdown();
+ }
+ public static void main(String[] args) throws ContributionReadException, MalformedURLException, NoSuchServiceException, ActivationException, InterruptedException {
+ new Section102TestCase().testLots();
+ }
+
+ public static void dumpMemoryInfo()
+ {
+ try
+ {
+ System.out.println( "\nDUMPING MEMORY INFO\n" );
+ // Read MemoryMXBean
+ MemoryMXBean memorymbean = ManagementFactory.getMemoryMXBean();
+ System.out.println( "Heap Memory Usage: " + memorymbean.getHeapMemoryUsage() );
+ System.out.println( "Non-Heap Memory Usage: " + memorymbean.getNonHeapMemoryUsage() );
+
+ // Read Garbage Collection information
+ List<GarbageCollectorMXBean> gcmbeans = ManagementFactory.getGarbageCollectorMXBeans();
+ for( GarbageCollectorMXBean gcmbean : gcmbeans )
+ {
+ System.out.println( "\nName: " + gcmbean.getName() );
+ System.out.println( "Collection count: " + gcmbean.getCollectionCount() );
+ System.out.println( "Collection time: " + gcmbean.getCollectionTime() );
+ System.out.println( "Memory Pools: " );
+ String[] memoryPoolNames = gcmbean.getMemoryPoolNames();
+ for( int i=0; i<memoryPoolNames.length; i++ )
+ {
+ System.out.println( "\t" + memoryPoolNames[ i ] );
+ }
+ }
+
+ // Read Memory Pool Information
+ System.out.println( "Memory Pools Info" );
+ List<MemoryPoolMXBean> mempoolsmbeans = ManagementFactory.getMemoryPoolMXBeans();
+ for( MemoryPoolMXBean mempoolmbean : mempoolsmbeans )
+ {
+ System.out.println( "\nName: " + mempoolmbean.getName() );
+ System.out.println( "Usage: " + mempoolmbean.getUsage() );
+ System.out.println( "Collection Usage: " + mempoolmbean.getCollectionUsage() );
+ System.out.println( "Peak Usage: " + mempoolmbean.getPeakUsage() );
+ System.out.println( "Type: " + mempoolmbean.getType() );
+ System.out.println( "Memory Manager Names: " ) ;
+ String[] memManagerNames = mempoolmbean.getMemoryManagerNames();
+ for( int i=0; i<memManagerNames.length; i++ )
+ {
+ System.out.println( "\t" + memManagerNames[ i ] );
+ }
+ System.out.println( "\n" );
+ }
+ }
+ catch( Exception e )
+ {
+ e.printStackTrace();
+ }
+ }
+
+}
diff --git a/sca-java-2.x/contrib/modules/section10/src/test/java/org/apache/tuscany/sca/something/Section10TestCase.java b/sca-java-2.x/contrib/modules/section10/src/test/java/org/apache/tuscany/sca/something/Section10TestCase.java index 76bc7c066d..4fee3a07a4 100644 --- a/sca-java-2.x/contrib/modules/section10/src/test/java/org/apache/tuscany/sca/something/Section10TestCase.java +++ b/sca-java-2.x/contrib/modules/section10/src/test/java/org/apache/tuscany/sca/something/Section10TestCase.java @@ -19,36 +19,39 @@ package org.apache.tuscany.sca.something;
import java.net.MalformedURLException;
+import java.util.List;
+
+import junit.framework.Assert;
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
+import org.apache.tuscany.sca.runtime.ActivationException;
import org.junit.Test;
import org.oasisopen.sca.NoSuchDomainException;
import org.oasisopen.sca.NoSuchServiceException;
public class Section10TestCase {
-// @Test
-// public void testInstallDeployable() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException {
-// Section10 section10 = Section10Factory.createSection10();
-// section10.installContribution("src/test/resources/sample-helloworld.jar");
-//
-//// Helloworld helloworldService = section10.getService(Helloworld.class, "HelloworldComponent");
-//// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra"));
-// }
-//
-// @Test
-// public void testInstallWithDependent() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException {
-// Section10 section10 = Section10Factory.createSection10();
-// section10.installContribution("/Tuscany/svn/2.x-trunk/itest/T3558/src/test/resources/sample-store.jar");
-// section10.installContribution("/Tuscany/svn/2.x-trunk/itest/T3558/src/test/resources/sample-store-client.jar");
-//
-//// Helloworld helloworldService = section10.getService(Helloworld.class, "HelloworldComponent");
-//// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra"));
-// }
+ @Test
+ public void testInstallDeployable() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException {
+ Section10 section10 = Section10Factory.createSection10();
+ section10.installContribution("src/test/resources/sample-helloworld.jar");
+
+// Helloworld helloworldService = section10.getService(Helloworld.class, "HelloworldComponent");
+// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra"));
+ }
+
+ @Test
+ public void testInstallWithDependent() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException {
+ Section10 section10 = Section10Factory.createSection10();
+ section10.installContribution("/Tuscany/svn/2.x-trunk/itest/T3558/src/test/resources/sample-store.jar");
+ section10.installContribution("/Tuscany/svn/2.x-trunk/itest/T3558/src/test/resources/sample-store-client.jar");
+
+// Helloworld helloworldService = section10.getService(Helloworld.class, "HelloworldComponent");
+// Assert.assertEquals("Hello petra", helloworldService.sayHello("petra"));
+ }
-// Doesnt work yet as addToDomainLevelComposite doesn't work
@Test
- public void testInstallNoDeployable() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException {
+ public void testInstallNoDeployable() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException {
Section10 section10 = Section10Factory.createSection10();
String contributionURI = section10.installContribution("src/test/resources/sample-helloworld-nodeployable.jar");
@@ -65,4 +68,31 @@ public class Section10TestCase { // Assert.assertEquals("Hello petra", helloworldService.sayHello("petra"));
}
+ @Test
+ public void testGetInstalledContributions() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, ActivationException {
+ Section10 section10 = Section10Factory.createSection10();
+ section10.installContribution("foo", "src/test/resources/sample-helloworld-nodeployable.jar");
+ List<String> ics = section10.getInstalledContributions();
+ Assert.assertEquals(1, ics.size());
+ Assert.assertEquals("foo", ics.get(0));
+ }
+
+ @Test
+ public void testGetDeployedCompostes() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException, ActivationException {
+ Section10 section10 = Section10Factory.createSection10();
+ section10.installContribution("foo", "src/test/resources/sample-helloworld.jar");
+ List<String> dcs = section10.getDeployedCompostes("foo");
+ Assert.assertEquals(1, dcs.size());
+ Assert.assertEquals("foo/helloworld.composite", dcs.get(0));
+ }
+
+ // @Test
+ public void testRemoveComposte() throws NoSuchServiceException, NoSuchDomainException, ContributionReadException, MalformedURLException, ActivationException {
+ Section10 section10 = Section10Factory.createSection10();
+ section10.installContribution("foo", "src/test/resources/sample-helloworld.jar");
+ section10.removeFromDomainLevelComposite("foo/helloworld.composite");
+ List<String> dcs = section10.getDeployedCompostes("foo");
+ Assert.assertEquals(0, dcs.size());
+ }
+
}
|