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);