You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by cs...@apache.org on 2013/10/26 22:07:01 UTC

svn commit: r1536033 - in /karaf/trunk/itests/src/test/java/org/apache/karaf/itests: BundleTests.java KarafTestSupport.java

Author: cschneider
Date: Sat Oct 26 20:07:00 2013
New Revision: 1536033

URL: http://svn.apache.org/r1536033
Log:
Use names instead of ids for bundles, fail on exceptions in command execution

Modified:
    karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BundleTests.java
    karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java

Modified: karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BundleTests.java
URL: http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BundleTests.java?rev=1536033&r1=1536032&r2=1536033&view=diff
==============================================================================
--- karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BundleTests.java (original)
+++ karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BundleTests.java Sat Oct 26 20:07:00 2013
@@ -58,7 +58,7 @@ public class BundleTests extends KarafTe
         String allCapabilitiesOutput = executeCommand("bundle:capabilities");
         System.out.println(allCapabilitiesOutput);
         assertFalse(allCapabilitiesOutput.isEmpty());
-        String jmxWhiteboardBundleCapabilitiesOutput = executeCommand("bundle:capabilities 74");
+        String jmxWhiteboardBundleCapabilitiesOutput = executeCommand("bundle:capabilities org.apache.aries.jmx.whiteboard");
         System.out.println(jmxWhiteboardBundleCapabilitiesOutput);
         assertTrue(jmxWhiteboardBundleCapabilitiesOutput.contains("osgi.wiring.bundle; org.apache.aries.jmx.whiteboard 1.0.0 [UNUSED]"));
     }
@@ -66,18 +66,19 @@ public class BundleTests extends KarafTe
     @Test
     public void classesCommand() throws Exception {
         String allClassesOutput = executeCommand("bundle:classes");
-        System.out.println(allClassesOutput);
         assertFalse(allClassesOutput.isEmpty());
-        String jmxWhiteboardBundleClassesOutput = executeCommand("bundle:classes 74");
+        String jmxWhiteboardBundleClassesOutput = executeCommand("bundle:classes org.apache.aries.jmx.whiteboard");
         System.out.println(jmxWhiteboardBundleClassesOutput);
         assertTrue(jmxWhiteboardBundleClassesOutput.contains("org/apache/aries/jmx/whiteboard/Activator$MBeanTracker.class"));
     }
 
+    /**
+     * TODO We need some more thorough tests for diag
+     */
     @Test
     public void diagCommand() throws Exception {
         String allDiagOutput = executeCommand("bundle:diag");
-        System.out.println(allDiagOutput);
-        assertFalse(allDiagOutput.isEmpty());
+        assertTrue(allDiagOutput.isEmpty());
     }
 
     @Test
@@ -89,29 +90,29 @@ public class BundleTests extends KarafTe
 
     @Test
     public void headersCommand() throws Exception {
-        String headersOutput = executeCommand("bundle:headers 74");
+        String headersOutput = executeCommand("bundle:headers org.apache.aries.jmx.whiteboard");
         System.out.println(headersOutput);
         assertTrue(headersOutput.contains("Bundle-Activator = org.apache.aries.jmx.whiteboard.Activator"));
     }
 
     @Test
     public void infoCommand() throws Exception {
-        String infoOutput = executeCommand("bundle:info 69");
+        String infoOutput = executeCommand("bundle:info org.apache.karaf.management.server");
         System.out.println(infoOutput);
         assertTrue(infoOutput.contains("This bundle starts the Karaf embedded MBean server"));
     }
 
     @Test
-    public void installCommand() throws Exception {
-        System.out.println(executeCommand("bundle:install mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-lang/2.4_6"));
-        String bundleListOutput = executeCommand("bundle:list -l | grep -i commons-lang");
-        System.out.println(bundleListOutput);
-        assertFalse(bundleListOutput.isEmpty());
+    public void installUninstallCommand() throws Exception {
+        executeCommand("bundle:install mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-lang/2.4_6");
+        assertBundleInstalled("org.apache.servicemix.bundles.commons-lang");
+        executeCommand("bundle:uninstall org.apache.servicemix.bundles.commons-lang");
+        assertBundleNotInstalled("org.apache.servicemix.bundles.commons-lang");
     }
 
     @Test
     public void showTreeCommand() throws Exception {
-        String bundleTreeOutput = executeCommand("bundle:tree-show 69");
+        String bundleTreeOutput = executeCommand("bundle:tree-show org.apache.karaf.management.server");
         System.out.println(bundleTreeOutput);
         assertFalse(bundleTreeOutput.isEmpty());
     }

Modified: karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
URL: http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java?rev=1536033&r1=1536032&r2=1536033&view=diff
==============================================================================
--- karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java (original)
+++ karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java Sat Oct 26 20:07:00 2013
@@ -31,10 +31,12 @@ import java.util.HashSet;
 import java.util.Hashtable;
 import java.util.Set;
 import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.FutureTask;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
 
 import javax.inject.Inject;
 import javax.management.remote.JMXConnector;
@@ -141,7 +143,7 @@ public class KarafTestSupport {
                             }
                             commandSession.execute(command);
                         } catch (Exception e) {
-                            e.printStackTrace(System.err);
+                            throw new RuntimeException(e.getMessage(), e);
                         }
                         printStream.flush();
                         return byteArrayOutputStream.toString();
@@ -151,10 +153,15 @@ public class KarafTestSupport {
         try {
             executor.submit(commandFuture);
             response = commandFuture.get(timeout, TimeUnit.MILLISECONDS);
-        } catch (Exception e) {
+        } catch (TimeoutException e) {
             e.printStackTrace(System.err);
             response = "SHELL COMMAND TIMED OUT: ";
-        }
+        } catch (ExecutionException e) {
+        	Throwable cause = e.getCause().getCause();
+        	throw new RuntimeException(cause.getMessage(), cause);
+		} catch (InterruptedException e) {
+			throw new RuntimeException(e.getMessage(), e);
+		}
 
         return response;
     }
@@ -312,22 +319,22 @@ public class KarafTestSupport {
     }
 
 	protected void assertBundleInstalled(String name) {
-	    Assert.assertTrue("Bundle " + name + " should be installed", isBundleInstalled(name));
+	    Assert.assertNotNull("Bundle " + name + " should be installed", findBundleByName(name));
 	}
 
 	protected void assertBundleNotInstalled(String name) {
-	    Assert.assertFalse("Bundle " + name + " should not be installed", isBundleInstalled(name));
+	    Assert.assertNull("Bundle " + name + " should not be installed", findBundleByName(name));
 	}
-
-	private boolean isBundleInstalled(String symbolicName) {
+	
+	protected Bundle findBundleByName(String symbolicName) {
 	    for (Bundle bundle : bundleContext.getBundles()) {
 	        if (bundle.getSymbolicName().equals(symbolicName)) {
-	            return true;
+	            return bundle;
 	        }
 	    }
-	    return false;
+	    return null;
 	}
-	
+
     protected void installAndAssertFeature(String feature) throws Exception {
         featureService.installFeature(feature);
         assertFeatureInstalled(feature);