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/03/31 18:29:26 UTC

git commit: [KARAF-2863] Fix the Spring features and the corresponding itests

Repository: karaf
Updated Branches:
  refs/heads/master 3b80a4b24 -> 166b9c6fb


[KARAF-2863] Fix the Spring features and the corresponding itests


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

Branch: refs/heads/master
Commit: 166b9c6fbf9e2868c8714e6974936397d159c1eb
Parents: 3b80a4b
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Mon Mar 31 18:28:49 2014 +0200
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Mon Mar 31 18:28:49 2014 +0200

----------------------------------------------------------------------
 .../spring/src/main/feature/feature.xml         |   4 +-
 itests/pom.xml                                  |   4 +
 .../apache/karaf/itests/KarafTestSupport.java   |  25 ++++-
 .../itests/features/Spring3FeaturesTest.java    | 109 ++++++++++++++++++
 .../itests/features/Spring4FeaturesTest.java    |  79 +++++++++++++
 .../itests/features/SpringFeaturesTest.java     | 110 -------------------
 6 files changed, 218 insertions(+), 113 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/166b9c6f/assemblies/features/spring/src/main/feature/feature.xml
----------------------------------------------------------------------
diff --git a/assemblies/features/spring/src/main/feature/feature.xml b/assemblies/features/spring/src/main/feature/feature.xml
index 1547ab4..530b196 100644
--- a/assemblies/features/spring/src/main/feature/feature.xml
+++ b/assemblies/features/spring/src/main/feature/feature.xml
@@ -22,7 +22,7 @@
 
     <!-- Spring DM support -->
     <feature name="spring-dm" description="Spring DM support" version="${spring.osgi.version}" resolver="(obr)">
-        <feature version="[2.5.6,5)">spring</feature>
+        <feature version="[2.5.6,4)">spring</feature>
         <bundle dependency="true" start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/${cglib.bundle.version}</bundle>
         <bundle start-level="30">mvn:org.springframework.osgi/spring-osgi-io/${spring.osgi.version}</bundle>
         <bundle start-level="30">mvn:org.springframework.osgi/spring-osgi-core/${spring.osgi.version}</bundle>
@@ -271,7 +271,7 @@
 
     <feature name="spring-security" description="Spring Security 3.1.x support" version="${spring.security31.version}" resolver="(obr)">
         <feature>war</feature>
-        <feature>spring-dm-web</feature>
+	<feature version="[3,4)">spring-web</feature>
         <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aspectj/${aspectj.bundle.version}</bundle>
         <bundle start-level="30">mvn:org.springframework.security/spring-security-core/${spring.security31.version}</bundle>
         <bundle start-level="30">mvn:org.springframework.security/spring-security-config/${spring.security31.version}</bundle>

http://git-wip-us.apache.org/repos/asf/karaf/blob/166b9c6f/itests/pom.xml
----------------------------------------------------------------------
diff --git a/itests/pom.xml b/itests/pom.xml
index 9c6b50b..aa74c4f 100644
--- a/itests/pom.xml
+++ b/itests/pom.xml
@@ -114,6 +114,8 @@
 				<configuration>
 					<systemPropertyVariables>
 						<org.ops4j.pax.logging.DefaultServiceLog.level>INFO</org.ops4j.pax.logging.DefaultServiceLog.level>
+                        <spring32.version>${spring32.version}</spring32.version>
+                        <spring40.version>${spring40.version}</spring40.version>
 					</systemPropertyVariables>
 				</configuration>
 			</plugin>
@@ -138,6 +140,8 @@
                             <argLine>-Dorg.ops4j.pax.url.mvn.localRepository=${maven.repo.local}</argLine>
                             <systemPropertyVariables>
 		                        <org.ops4j.pax.logging.DefaultServiceLog.level>INFO</org.ops4j.pax.logging.DefaultServiceLog.level>
+                                <spring32.version>${spring32.version}</spring32.version>
+                                <spring40.version>${spring40.version}</spring40.version>
                     		</systemPropertyVariables>
                         </configuration>
                     </plugin>

http://git-wip-us.apache.org/repos/asf/karaf/blob/166b9c6f/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 4669b1b..9d3b729 100644
--- a/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
+++ b/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
@@ -15,6 +15,7 @@ package org.apache.karaf.itests;
 
 import static org.junit.Assert.assertTrue;
 import static org.ops4j.pax.exam.CoreOptions.maven;
+import static org.ops4j.pax.exam.CoreOptions.systemProperty;
 import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.configureSecurity;
 import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut;
 import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.karafDistributionConfiguration;
@@ -131,7 +132,9 @@ public class KarafTestSupport {
             replaceConfigurationFile("etc/org.ops4j.pax.logging.cfg", getConfigFile("/etc/org.ops4j.pax.logging.cfg")),
             editConfigurationFilePut("etc/org.ops4j.pax.web.cfg", "org.osgi.service.http.port", HTTP_PORT),
             editConfigurationFilePut("etc/org.apache.karaf.management.cfg", "rmiRegistryPort", RMI_REG_PORT),
-            editConfigurationFilePut("etc/org.apache.karaf.management.cfg", "rmiServerPort", RMI_SERVER_PORT)
+            editConfigurationFilePut("etc/org.apache.karaf.management.cfg", "rmiServerPort", RMI_SERVER_PORT),
+            editConfigurationFilePut("etc/system.properties", "spring32.version", System.getProperty("spring32.version")),
+            editConfigurationFilePut("etc/system.properties", "spring40.version", System.getProperty("spring40.version"))
         };
     }
 
@@ -357,6 +360,16 @@ public class KarafTestSupport {
         Assert.fail("Feature " + featureName + " should be installed but is not");
     }
 
+    public void assertFeatureInstalled(String featureName, String featureVersion) throws Exception {
+        Feature[] features = featureService.listInstalledFeatures();
+        for (Feature feature : features) {
+            if (featureName.equals(feature.getName()) && featureVersion.equals(feature.getVersion())) {
+                return;
+            }
+        }
+        Assert.fail("Feature " + featureName + "/" + featureVersion + " should be installed but is not");
+    }
+
     public void assertFeaturesInstalled(String ... expectedFeatures) throws Exception {
         Set<String> expectedFeaturesSet = new HashSet<String>(Arrays.asList(expectedFeatures));
         Feature[] features = featureService.listInstalledFeatures();
@@ -398,6 +411,16 @@ public class KarafTestSupport {
         assertFeatureInstalled(feature);
     }
 
+    protected void installAssertAndUninstallFeature(String feature, String version) throws Exception {
+        Set<Feature> featuresBefore = new HashSet<Feature>(Arrays.asList(featureService.listInstalledFeatures()));
+        try {
+            featureService.installFeature(feature, version);
+            assertFeatureInstalled(feature, version);
+        } finally {
+            uninstallNewFeatures(featuresBefore);
+        }
+    }
+
     protected void installAssertAndUninstallFeature(String... feature) throws Exception {
     	Set<Feature> featuresBefore = new HashSet<Feature>(Arrays.asList(featureService.listInstalledFeatures()));
     	try {

http://git-wip-us.apache.org/repos/asf/karaf/blob/166b9c6f/itests/src/test/java/org/apache/karaf/itests/features/Spring3FeaturesTest.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/features/Spring3FeaturesTest.java b/itests/src/test/java/org/apache/karaf/itests/features/Spring3FeaturesTest.java
new file mode 100644
index 0000000..57128bd
--- /dev/null
+++ b/itests/src/test/java/org/apache/karaf/itests/features/Spring3FeaturesTest.java
@@ -0,0 +1,109 @@
+/*
+ * Licensed 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.karaf.itests.features;
+
+import org.apache.karaf.itests.KarafTestSupport;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.junit.PaxExam;
+import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
+import org.ops4j.pax.exam.spi.reactors.PerMethod;
+
+@RunWith(PaxExam.class)
+@ExamReactorStrategy(PerMethod.class)
+public class Spring3FeaturesTest extends KarafTestSupport {
+
+    @Test
+    public void installSpringFeature() throws Exception {
+        installAssertAndUninstallFeature("spring", System.getProperty("spring32.version"));
+    }
+
+    @Test
+    public void installSpringAspectsFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-aspects", System.getProperty("spring32.version"));
+    }
+
+    @Test
+    public void installSpringDmFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-dm");
+    }
+
+    @Test
+    public void installSpringDmWebFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-dm-web");
+    }
+
+    @Test
+    public void installSpringInstrumentFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-instrument", System.getProperty("spring32.version"));
+    }
+
+    @Test
+    public void installSpringJdbcFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-jdbc", System.getProperty("spring32.version"));
+    }
+
+    @Test
+    public void installSpringJmsFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-jms", System.getProperty("spring32.version"));
+    }
+
+    @Test
+    public void installSpringStrutsFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-struts", System.getProperty("spring32.version"));
+    }
+
+    @Test
+    public void installSpringTestFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-test", System.getProperty("spring32.version"));
+    }
+
+    @Test
+    public void installSpringOrmFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-orm", System.getProperty("spring32.version"));
+    }
+
+    @Test
+    public void installSpringOxmFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-oxm", System.getProperty("spring32.version"));
+    }
+
+    @Test
+    public void installSpringTxFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-tx", System.getProperty("spring32.version"));
+    }
+
+    @Test
+    public void installSpringWebFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-web", System.getProperty("spring32.version"));
+    }
+
+    @Test
+    public void installSpringWebPortletFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-web-portlet", System.getProperty("spring32.version"));
+    }
+
+    @Test
+    public void installSpringSecurityFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-security");
+    }
+
+    @Test
+    public void installGeminiBlueprintFeature() throws Exception {
+        installAssertAndUninstallFeature("gemini-blueprint");
+    }
+
+    // TODO add combined/all Spring features installation tests
+
+}

http://git-wip-us.apache.org/repos/asf/karaf/blob/166b9c6f/itests/src/test/java/org/apache/karaf/itests/features/Spring4FeaturesTest.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/features/Spring4FeaturesTest.java b/itests/src/test/java/org/apache/karaf/itests/features/Spring4FeaturesTest.java
new file mode 100644
index 0000000..39ad606
--- /dev/null
+++ b/itests/src/test/java/org/apache/karaf/itests/features/Spring4FeaturesTest.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed 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.karaf.itests.features;
+
+import org.apache.karaf.itests.KarafTestSupport;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.junit.PaxExam;
+import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
+import org.ops4j.pax.exam.spi.reactors.PerMethod;
+
+@RunWith(PaxExam.class)
+@ExamReactorStrategy(PerMethod.class)
+public class Spring4FeaturesTest extends KarafTestSupport {
+
+    @Test
+    public void installSpringFeature() throws Exception {
+        installAssertAndUninstallFeature("spring", System.getProperty("spring40.version"));
+    }
+
+    @Test
+    public void installSpringAspectsFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-aspects", System.getProperty("spring40.version"));
+    }
+
+    @Test
+    public void installSpringInstrumentFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-instrument", System.getProperty("spring40.version"));
+    }
+
+    @Test
+    public void installSpringJdbcFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-jdbc", System.getProperty("spring40.version"));
+    }
+
+    @Test
+    public void installSpringJmsFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-jms", System.getProperty("spring40.version"));
+    }
+
+    @Test
+    public void installSpringTestFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-test", System.getProperty("spring40.version"));
+    }
+
+    @Test
+    public void installSpringOrmFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-orm", System.getProperty("spring40.version"));
+    }
+
+    @Test
+    public void installSpringOxmFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-oxm", System.getProperty("spring40.version"));
+    }
+
+    @Test
+    public void installSpringTxFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-tx", System.getProperty("spring40.version"));
+    }
+
+    @Test
+    public void installSpringWebFeature() throws Exception {
+        installAssertAndUninstallFeature("spring-web", System.getProperty("spring40.version"));
+    }
+
+    // TODO add combined/all Spring features installation tests
+
+}

http://git-wip-us.apache.org/repos/asf/karaf/blob/166b9c6f/itests/src/test/java/org/apache/karaf/itests/features/SpringFeaturesTest.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/features/SpringFeaturesTest.java b/itests/src/test/java/org/apache/karaf/itests/features/SpringFeaturesTest.java
deleted file mode 100644
index bdec177..0000000
--- a/itests/src/test/java/org/apache/karaf/itests/features/SpringFeaturesTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed 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.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;
-import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
-import org.ops4j.pax.exam.spi.reactors.PerClass;
-
-@RunWith(PaxExam.class)
-@ExamReactorStrategy(PerClass.class)
-public class SpringFeaturesTest extends KarafTestSupport {
-
-    @Test
-    public void installSpringFeature() throws Exception {
-        installAssertAndUninstallFeature("spring");
-    }
-
-    @Test
-    public void installSpringAspectsFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-aspects");
-    }
-
-    @Test
-    public void installSpringDmFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-dm");
-    }
-
-    @Test
-    public void installSpringDmWebFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-dm-web");
-    }
-
-    @Test
-    public void installSpringInstrumentFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-instrument");
-    }
-
-    @Test
-    public void installSpringJdbcFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-jdbc");
-    }
-
-    @Test
-    public void installSpringJmsFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-jms");
-    }
-
-    @Test
-    public void installSpringStrutsFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-struts");
-    }
-
-    @Test
-    public void installSpringTestFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-test");
-    }
-
-    @Test
-    public void installSpringOrmFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-orm");
-    }
-
-    @Test
-    public void installSpringOxmFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-oxm");
-    }
-
-    @Test
-    public void installSpringTxFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-tx");
-    }
-
-    @Test
-    public void installSpringWebFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-web");
-    }
-
-    @Test
-    @Ignore
-    public void installSpringWebPortletFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-web-portlet");
-    }
-
-    @Test
-    public void installSpringSecurityFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-security");
-    }
-
-    @Test
-    @Ignore
-    public void installGeminiBlueprintFeature() throws Exception {
-        installAssertAndUninstallFeature("gemini-blueprint");
-    }
-
-}