summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/contrib/modules/section10/src/test/java/org/apache/tuscany/sca/something/Section102TestCase.java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/contrib/modules/section10/src/test/java/org/apache/tuscany/sca/something/Section102TestCase.java')
-rw-r--r--sca-java-2.x/contrib/modules/section10/src/test/java/org/apache/tuscany/sca/something/Section102TestCase.java168
1 files changed, 168 insertions, 0 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();
+ }
+ }
+
+}