You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/09/10 15:34:41 UTC

svn commit: r1382831 - in /karaf/trunk/itests/src/test/java/org/apache/karaf/itests: FeatureTest.java KarafFeatureCommandsTest.java

Author: jbonofre
Date: Mon Sep 10 13:34:40 2012
New Revision: 1382831

URL: http://svn.apache.org/viewvc?rev=1382831&view=rev
Log:
[KARAF-1798] Add feature management itest

Added:
    karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
      - copied, changed from r1382820, karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafFeatureCommandsTest.java
Removed:
    karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafFeatureCommandsTest.java

Copied: karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java (from r1382820, karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafFeatureCommandsTest.java)
URL: http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java?p2=karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java&p1=karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafFeatureCommandsTest.java&r1=1382820&r2=1382831&rev=1382831&view=diff
==============================================================================
--- karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafFeatureCommandsTest.java (original)
+++ karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java Mon Sep 10 13:34:40 2012
@@ -19,15 +19,21 @@ import org.ops4j.pax.exam.junit.ExamReac
 import org.ops4j.pax.exam.junit.JUnit4TestRunner;
 import org.ops4j.pax.exam.spi.reactors.AllConfinedStagedReactorFactory;
 
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.openmbean.TabularData;
+import javax.management.openmbean.TabularDataSupport;
+import javax.management.remote.JMXConnector;
+
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 @RunWith(JUnit4TestRunner.class)
 @ExamReactorStrategy(AllConfinedStagedReactorFactory.class)
-public class KarafFeatureCommandsTest extends KarafTestSupport {
+public class FeatureTest extends KarafTestSupport {
 
     @Test
-    public void testBootFeatures() throws Exception {
+    public void bootFeatures() throws Exception {
         String featureListOutput = executeCommand("feature:list -i");
         System.out.println(featureListOutput);
         assertTrue(featureListOutput.contains("standard"));
@@ -40,7 +46,7 @@ public class KarafFeatureCommandsTest ex
     }
 
     @Test
-    public void testFeatureListCommand() throws Exception {
+    public void listCommand() throws Exception {
         String featureListOutput = executeCommand("feature:list");
         System.out.println(featureListOutput);
         assertFalse(featureListOutput.isEmpty());
@@ -50,7 +56,22 @@ public class KarafFeatureCommandsTest ex
     }
 
     @Test
-    public void testFeatureInstallUninstallCommand() throws Exception {
+    public void listViaMBean() throws Exception {
+        JMXConnector connector = null;
+        try {
+            connector = this.getJMXConnector();
+            MBeanServerConnection connection = connector.getMBeanServerConnection();
+            ObjectName name = new ObjectName("org.apache.karaf:type=feature,name=root");
+            TabularData features = (TabularData) connection.getAttribute(name, "Features");
+            assertTrue(features.size() > 0);
+        } finally {
+            if (connector != null)
+                connector.close();
+        }
+    }
+
+    @Test
+    public void installUninstallCommand() throws Exception {
         String featureInstallOutput = executeCommand("feature:install -v eventadmin");
         System.out.println(featureInstallOutput);
         assertFalse(featureInstallOutput.isEmpty());
@@ -64,7 +85,22 @@ public class KarafFeatureCommandsTest ex
     }
 
     @Test
-    public void testRepoAddRemoveCommand() throws Exception {
+    public void installUninstallViaMBean() throws Exception {
+        JMXConnector connector = null;
+        try {
+            connector = this.getJMXConnector();
+            MBeanServerConnection connection = connector.getMBeanServerConnection();
+            ObjectName name = new ObjectName("org.apache.karaf:type=feature,name=root");
+            connection.invoke(name, "installFeature", new Object[] { "eventadmin" }, new String[]{ "java.lang.String" });
+            connection.invoke(name, "uninstallFeature", new Object[] { "eventadmin" }, new String[]{ "java.lang.String" });
+        } finally {
+            if (connector != null)
+                connector.close();
+        }
+    }
+
+    @Test
+    public void repoAddRemoveCommand() throws Exception {
         System.out.println(executeCommand("feature:repo-add mvn:org.apache.karaf.cellar/apache-karaf-cellar/2.2.4/xml/features"));
         String repoListOutput = executeCommand("feature:repo-list");
         System.out.println(repoListOutput);
@@ -75,4 +111,19 @@ public class KarafFeatureCommandsTest ex
         assertFalse(repoListOutput.contains("apache-karaf-cellar"));
     }
 
+    @Test
+    public void repoAddRemoveViaMBean() throws Exception {
+        JMXConnector connector = null;
+        try {
+            connector = this.getJMXConnector();
+            MBeanServerConnection connection = connector.getMBeanServerConnection();
+            ObjectName name = new ObjectName("org.apache.karaf:type=feature,name=root");
+            connection.invoke(name, "addRepository", new Object[] { "mvn:org.apache.karaf.cellar/apache-karaf-cellar/2.2.4/xml/features" }, new String[]{ "java.lang.String" });
+            connection.invoke(name, "removeRepository", new Object[] { "mvn:org.apache.karaf.cellar/apache-karaf-cellar/2.2.4/xml/features" }, new String[]{ "java.lang.String" });
+        } finally {
+            if (connector != null)
+                connector.close();
+        }
+    }
+
 }