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 2014/08/25 09:00:03 UTC

git commit: Improve enterprise features itest coverage

Repository: karaf
Updated Branches:
  refs/heads/master b5bef9685 -> c89e9d487


Improve enterprise features itest coverage


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/c89e9d48
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/c89e9d48
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/c89e9d48

Branch: refs/heads/master
Commit: c89e9d487812f2847de54302f8ce25d53d3f7dce
Parents: b5bef96
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Mon Aug 25 08:59:38 2014 +0200
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Mon Aug 25 08:59:38 2014 +0200

----------------------------------------------------------------------
 .../org/apache/karaf/itests/FeatureTest.java    | 22 +++----
 .../apache/karaf/itests/KarafTestSupport.java   | 23 +++++++
 .../itests/features/EnterpriseFeaturesTest.java | 68 ++++++++++++++++----
 3 files changed, 87 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/c89e9d48/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java b/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
index c9d9c77..ff3e638 100644
--- a/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
+++ b/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
@@ -64,16 +64,10 @@ public class FeatureTest extends KarafTestSupport {
 
     @Test
     public void installUninstallCommand() throws Exception {
-        String featureInstallOutput = executeCommand("feature:install -v wrapper", new RolePrincipal("admin"));
-        System.out.println(featureInstallOutput);
-        assertFalse(featureInstallOutput.isEmpty());
-        String featureListOutput = executeCommand("feature:list -i | grep wrapper");
-        System.out.println(featureListOutput);
-        assertFalse(featureListOutput.isEmpty());
+        System.out.println(executeCommand("feature:install -v wrapper", new RolePrincipal("admin")));
+        assertFeatureInstalled("wrapper");
         System.out.println(executeCommand("feature:uninstall wrapper", new RolePrincipal("admin")));
-        featureListOutput = executeCommand("feature:list -i | grep wrapper");
-        System.out.println(featureListOutput);
-        assertTrue(featureListOutput.isEmpty());
+        assertFeatureNotInstalled("wrapper");
     }
 
     @Test
@@ -84,7 +78,9 @@ public class FeatureTest extends KarafTestSupport {
             MBeanServerConnection connection = connector.getMBeanServerConnection();
             ObjectName name = new ObjectName("org.apache.karaf:type=feature,name=root");
             connection.invoke(name, "installFeature", new Object[] { "wrapper" }, new String[]{ "java.lang.String" });
+            assertFeatureInstalled("wrapper");
             connection.invoke(name, "uninstallFeature", new Object[] { "wrapper" }, new String[]{ "java.lang.String" });
+            assertFeatureNotInstalled("wrapper");
         } finally {
         	close(connector);
         }
@@ -92,9 +88,9 @@ public class FeatureTest extends KarafTestSupport {
 
     @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"));
+        System.out.println(executeCommand("feature:repo-add mvn:org.apache.karaf.cellar/apache-karaf-cellar/3.0.0/xml/features"));
         assertContains("apache-karaf-cellar", executeCommand("feature:repo-list"));
-        System.out.println(executeCommand("feature:repo-remove mvn:org.apache.karaf.cellar/apache-karaf-cellar/2.2.4/xml/features"));
+        System.out.println(executeCommand("feature:repo-remove mvn:org.apache.karaf.cellar/apache-karaf-cellar/3.0.0/xml/features"));
         assertContainsNot("apache-karaf-cellar", executeCommand("feature:repo-list"));
     }
 
@@ -105,8 +101,8 @@ public class FeatureTest extends KarafTestSupport {
             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" });
+            connection.invoke(name, "addRepository", new Object[] { "mvn:org.apache.karaf.cellar/apache-karaf-cellar/3.0.0/xml/features" }, new String[]{ "java.lang.String" });
+            connection.invoke(name, "removeRepository", new Object[] { "mvn:org.apache.karaf.cellar/apache-karaf-cellar/3.0.0/xml/features" }, new String[]{ "java.lang.String" });
         } finally {
         	close(connector);
         }

http://git-wip-us.apache.org/repos/asf/karaf/blob/c89e9d48/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java b/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
index d2ec230..5de7524 100644
--- a/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
+++ b/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
@@ -389,6 +389,29 @@ public class KarafTestSupport {
         Assert.assertTrue(msg, installedFeatures.containsAll(expectedFeaturesSet));
     }
 
+    public void assertFeatureNotInstalled(String featureName) throws Exception {
+        String name;
+        String version;
+        if (featureName.contains("/")) {
+            name = featureName.substring(0, featureName.indexOf("/"));
+            version = featureName.substring(featureName.indexOf("/") + 1);
+        } else {
+            name = featureName;
+            version = null;
+        }
+        assertFeatureNotInstalled(name, version);
+    }
+
+    public void assertFeatureNotInstalled(String featureName, String featureVersion) throws Exception {
+        Feature featureToAssert = featureService.getFeature(featureName, featureVersion);
+        Feature[] features = featureService.listInstalledFeatures();
+        for (Feature feature : features) {
+            if (featureToAssert.equals(feature)) {
+                Assert.fail("Feature " + featureName + (featureVersion != null ? "/" + featureVersion : "") + " is installed whereas it should not be");
+            }
+        }
+    }
+
     public void assertContains(String expectedPart, String actual) {
         assertTrue("Should contain '" + expectedPart + "' but was : " + actual, actual.contains(expectedPart));
     }

http://git-wip-us.apache.org/repos/asf/karaf/blob/c89e9d48/itests/src/test/java/org/apache/karaf/itests/features/EnterpriseFeaturesTest.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/features/EnterpriseFeaturesTest.java b/itests/src/test/java/org/apache/karaf/itests/features/EnterpriseFeaturesTest.java
index 0ee5260..b04e802 100644
--- a/itests/src/test/java/org/apache/karaf/itests/features/EnterpriseFeaturesTest.java
+++ b/itests/src/test/java/org/apache/karaf/itests/features/EnterpriseFeaturesTest.java
@@ -14,7 +14,6 @@
 package org.apache.karaf.itests.features;
 
 import org.apache.karaf.itests.KarafTestSupport;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.junit.PaxExam;
@@ -26,28 +25,73 @@ import org.ops4j.pax.exam.spi.reactors.PerClass;
 public class EnterpriseFeaturesTest extends KarafTestSupport {
 
     @Test
-    public void installTransactionFeature() throws Exception {
-        installAssertAndUninstallFeatures("transaction");
+    public void installTransaction100Feature() throws Exception {
+        installAssertAndUninstallFeature("transaction", "1.0.0");
     }
 
     @Test
-    public void installJpaFeature() throws Exception {
-    	installAssertAndUninstallFeatures("jpa");
+    public void installTransaction101Feature() throws Exception {
+        installAssertAndUninstallFeature("transaction", "1.0.1");
     }
 
     @Test
-    public void installOpenJpaFeature() throws Exception {
-        installAssertAndUninstallFeatures("openjpa");
+    public void installTransaction110Feature() throws Exception {
+        installAssertAndUninstallFeature("transaction", "1.1.0");
     }
 
     @Test
-    public void installHibernateFeature() throws Exception {
-        installAssertAndUninstallFeatures("hibernate");
+    public void installConnector222Feature() throws Exception {
+        installAssertAndUninstallFeature("connector", "2.2.2");
     }
 
     @Test
-    public void installHibernateEnversFeature() throws Exception {
-        installAssertAndUninstallFeatures("hibernate-envers");
+    public void installConnector311Feature() throws Exception {
+        installAssertAndUninstallFeature("connector", "3.1.1");
+    }
+
+    @Test
+    public void installJpa101Feature() throws Exception {
+    	installAssertAndUninstallFeature("jpa", "1.0.1");
+    }
+
+    @Test
+    public void installJpa102Feature() throws Exception {
+        installAssertAndUninstallFeature("jpa", "1.0.2");
+    }
+
+    @Test
+    public void installOpenJpa222Feature() throws Exception {
+        installAssertAndUninstallFeature("openjpa", "2.2.2");
+    }
+
+    @Test
+    public void installOpenJpa230Feature() throws Exception {
+        installAssertAndUninstallFeature("openjpa", "2.3.0");
+    }
+
+    @Test
+    public void installHibernate332GAFeature() throws Exception {
+        installAssertAndUninstallFeature("hibernate", "3.3.2.GA");
+    }
+
+    @Test
+    public void installHibernate4215FinalFeature() throws Exception {
+        installAssertAndUninstallFeature("hibernate", "4.2.15.Final");
+    }
+
+    @Test
+    public void installHibernateEnvers4215FinalFeature() throws Exception {
+        installAssertAndUninstallFeature("hibernate-envers", "4.2.15.Final");
+    }
+
+    @Test
+    public void installHibernate436FinalFeature() throws Exception {
+        installAssertAndUninstallFeature("hibernate", "4.3.6.Final");
+    }
+
+    @Test
+    public void installHibernateEnvers436FinalFeature() throws Exception {
+        installAssertAndUninstallFeature("hibernate-envers", "4.3.6.Final");
     }
 
     @Test
@@ -71,13 +115,11 @@ public class EnterpriseFeaturesTest extends KarafTestSupport {
     }
 
     @Test
-    @Ignore("Pax-cdi depends on scr feature [2.3,3.5) so it does not work with 4.0")
     public void installOpenWebBeansFeature() throws Exception {
         installAssertAndUninstallFeatures("openwebbeans");
     }
 
     @Test
-    @Ignore("Pax-cdi depends on scr feature [2.3,3.5) so it does not work with 4.0")
     public void installWeldFeature() throws Exception {
         installAssertAndUninstallFeatures("weld");
     }