You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2014/06/25 10:06:37 UTC
svn commit: r1605288 - in
/aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests:
BaseBlueprintContainerBTCustomizerTest.java
BlueprintContainer2BTCustomizerTest.java
BlueprintContainerBTCustomizerTest.java
Author: cschneider
Date: Wed Jun 25 08:06:37 2014
New Revision: 1605288
URL: http://svn.apache.org/r1605288
Log:
Simplify customizer tests
Modified:
aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BaseBlueprintContainerBTCustomizerTest.java
aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2BTCustomizerTest.java
aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainerBTCustomizerTest.java
Modified: aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BaseBlueprintContainerBTCustomizerTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BaseBlueprintContainerBTCustomizerTest.java?rev=1605288&r1=1605287&r2=1605288&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BaseBlueprintContainerBTCustomizerTest.java (original)
+++ aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BaseBlueprintContainerBTCustomizerTest.java Wed Jun 25 08:06:37 2014
@@ -26,7 +26,10 @@ import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
+import javax.inject.Inject;
+
import org.apache.aries.itest.RichBundleContext;
+import org.junit.Assert;
import org.ops4j.pax.exam.CoreOptions;
import org.ops4j.pax.exam.options.MavenArtifactProvisionOption;
import org.osgi.framework.Bundle;
@@ -35,10 +38,15 @@ import org.osgi.framework.BundleExceptio
import org.osgi.framework.Constants;
import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
-import org.osgi.util.tracker.ServiceTracker;
+import org.osgi.service.framework.CompositeBundle;
+import org.osgi.service.framework.CompositeBundleFactory;
+@SuppressWarnings("deprecation")
public abstract class BaseBlueprintContainerBTCustomizerTest extends AbstractBlueprintIntegrationTest
{
+ @Inject
+ CompositeBundleFactory cbf;
+
protected Map<String, String> getCompositeManifest() {
Map<String, String> compositeManifest = new HashMap<String, String>();
compositeManifest.put(Constants.BUNDLE_SYMBOLICNAME, "test-composite");
@@ -52,25 +60,9 @@ public abstract class BaseBlueprintConta
return compositeManifest;
}
- protected Bundle installConfigurationAdmin(BundleContext ctx) throws Exception {
-
- Bundle configAdminBundle = null;
- // make sure we don't have a config admin already present
- @SuppressWarnings({ "rawtypes", "unchecked" })
- ServiceTracker tracker = new ServiceTracker(ctx, ctx.createFilter("(" + Constants.OBJECTCLASS + "=" + ConfigurationAdmin.class.getName() + ")"), null);
- tracker.open();
- Object cfgAdminService = tracker.waitForService(5000);
- tracker.close();
-
- if (cfgAdminService == null) {
- MavenArtifactProvisionOption cfgAdminOption = CoreOptions.mavenBundle("org.apache.felix", "org.apache.felix.configadmin").versionAsInProject();
- InputStream cfgAdminStream = new URL(cfgAdminOption.getURL()).openStream();
-
- configAdminBundle = ctx.installBundle(cfgAdminOption.getURL(), cfgAdminStream);
- }
-
- return configAdminBundle;
- }
+ protected MavenArtifactProvisionOption configAdminOption() {
+ return CoreOptions.mavenBundle("org.apache.felix", "org.apache.felix.configadmin").versionAsInProject();
+ }
protected void applyCommonConfiguration(BundleContext ctx) throws Exception {
ConfigurationAdmin ca = (new RichBundleContext(ctx)).getService(ConfigurationAdmin.class);
@@ -80,11 +72,22 @@ public abstract class BaseBlueprintConta
cf.update(props);
}
- protected Bundle installTestBundle(BundleContext compositeBundleContext) throws IOException, MalformedURLException, BundleException {
- // install the blueprint sample onto the framework associated with the composite bundle
- MavenArtifactProvisionOption mapo = CoreOptions.mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.sample").versionAsInProject();
+ protected Bundle installBundle(BundleContext bundleContext, String url) throws IOException, MalformedURLException, BundleException {
// let's use input stream to avoid invoking mvn url handler which isn't avail in the child framework.
- InputStream is = new URL(mapo.getURL()).openStream();
- return compositeBundleContext.installBundle(mapo.getURL(), is);
+ InputStream is = new URL(url).openStream();
+ Bundle bundle = bundleContext.installBundle(url, is);
+ Assert.assertNotNull(bundle);
+ return bundle;
}
+
+ protected MavenArtifactProvisionOption testBundleOption() {
+ return CoreOptions.mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.sample").versionAsInProject();
+ }
+
+ protected CompositeBundle createCompositeBundle() throws BundleException {
+ Map<String, String> frameworkConfig = new HashMap<String, String>();
+ Map<String, String> compositeManifest = getCompositeManifest();
+ CompositeBundle cb = cbf.installCompositeBundle(frameworkConfig, "test-composite", compositeManifest);
+ return cb;
+ }
}
Modified: aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2BTCustomizerTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2BTCustomizerTest.java?rev=1605288&r1=1605287&r2=1605288&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2BTCustomizerTest.java (original)
+++ aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainer2BTCustomizerTest.java Wed Jun 25 08:06:37 2014
@@ -18,11 +18,6 @@
*/
package org.apache.aries.blueprint.itests;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.HashMap;
-import java.util.Map;
-
import org.apache.aries.itest.RichBundleContext;
import org.junit.Ignore;
import org.junit.Test;
@@ -33,9 +28,7 @@ import org.ops4j.pax.exam.junit.PaxExam;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleException;
-import org.osgi.framework.ServiceReference;
import org.osgi.service.framework.CompositeBundle;
-import org.osgi.service.framework.CompositeBundleFactory;
/**
* This test is based on the BlueprintContainerBTCustomizerTest. but this test starts the
@@ -47,34 +40,13 @@ import org.osgi.service.framework.Compos
@RunWith(PaxExam.class)
public class BlueprintContainer2BTCustomizerTest extends BaseBlueprintContainerBTCustomizerTest {
- @SuppressWarnings({ "rawtypes", "unchecked" })
- @Test
+ @Test
@Ignore // This test crashes the vm when run from maven. It works fine when run from eclipse
public void test() throws Exception {
-
- ServiceReference sr = bundleContext.getServiceReference("org.osgi.service.framework.CompositeBundleFactory");
- if (sr == null) {
- return;
- }
-
- // install blueprint.sample into the composite context
- CompositeBundleFactory cbf = (CompositeBundleFactory)bundleContext.getService(sr);
-
- Map<String, String> frameworkConfig = new HashMap<String, String>();
- // turn on the line below to enable telnet localhost 10000 to the child framework osgi console
- // frameworkConfig.put("osgi.console", "10000");
-
- // construct composite bundle information
- Map<String, String> compositeManifest = getCompositeManifest();
-
- CompositeBundle cb = cbf.installCompositeBundle(frameworkConfig, "test-composite", compositeManifest);
-
+ CompositeBundle cb = createCompositeBundle();
BundleContext compositeBundleContext = cb.getCompositeFramework().getBundleContext();
- Bundle bundle = installTestBundle(compositeBundleContext);
- assertNotNull(bundle);
- // install and start the cfg admin bundle in the isolated framework
- Bundle configAdminBundle = installConfigurationAdmin(compositeBundleContext);
- assertNotNull(configAdminBundle);
+ Bundle bundle = installBundle(compositeBundleContext, testBundleOption().getURL());
+ Bundle configAdminBundle = installBundle(compositeBundleContext, configAdminOption().getURL());
// start the composite bundle, config admin then the blueprint sample
cb.start();
@@ -87,9 +59,6 @@ public class BlueprintContainer2BTCustom
// do the test
Helper.testBlueprintContainer(new RichBundleContext(compositeBundleContext), bundle);
-
- // unget the service
- bundleContext.ungetService(sr);
}
// start the blueprint bundle and it should detect the previously started blueprint sample
Modified: aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainerBTCustomizerTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainerBTCustomizerTest.java?rev=1605288&r1=1605287&r2=1605288&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainerBTCustomizerTest.java (original)
+++ aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/BlueprintContainerBTCustomizerTest.java Wed Jun 25 08:06:37 2014
@@ -18,11 +18,6 @@
*/
package org.apache.aries.blueprint.itests;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.HashMap;
-import java.util.Map;
-
import org.apache.aries.itest.RichBundleContext;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -31,9 +26,7 @@ import org.ops4j.pax.exam.Option;
import org.ops4j.pax.exam.junit.PaxExam;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
import org.osgi.service.framework.CompositeBundle;
-import org.osgi.service.framework.CompositeBundleFactory;
/**
* This test is based on the BlueprintContainerTest. The difference is that in this test,
@@ -46,49 +39,25 @@ import org.osgi.service.framework.Compos
@RunWith(PaxExam.class)
public class BlueprintContainerBTCustomizerTest extends BaseBlueprintContainerBTCustomizerTest {
- @SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void test() throws Exception {
-
- ServiceReference sr = bundleContext.getServiceReference("org.osgi.service.framework.CompositeBundleFactory");
- if (sr == null) {
- return;
- }
-
- // install blueprint.sample into the composite context
- CompositeBundleFactory cbf = (CompositeBundleFactory)bundleContext.getService(sr);
-
- Map<String, String> frameworkConfig = new HashMap<String, String>();
- // turn on the line below to enable telnet localhost 10000 to the child framework osgi console
- // frameworkConfig.put("osgi.console", "10000");
-
- // construct composite bundle information
- Map<String, String> compositeManifest = getCompositeManifest();
-
- CompositeBundle cb = cbf.installCompositeBundle(frameworkConfig, "test-composite", compositeManifest);
+ CompositeBundle cb = createCompositeBundle();
BundleContext compositeBundleContext = cb.getCompositeFramework().getBundleContext();
- Bundle bundle = installTestBundle(compositeBundleContext);
- assertNotNull(bundle);
- // install and start the cfg admin bundle in the isolated framework
- Bundle configAdminBundle = installConfigurationAdmin(compositeBundleContext);
- assertNotNull(configAdminBundle);
-
+ Bundle testBundle = installBundle(compositeBundleContext, testBundleOption().getURL());
+ Bundle configAdminBundle = installBundle(compositeBundleContext, configAdminOption().getURL());
// start the composite bundle, config admin then the blueprint sample
cb.start();
configAdminBundle.start();
// create a config to check the property placeholder
applyCommonConfiguration(compositeBundleContext);
- bundle.start();
+ testBundle.start();
// do the test
- Helper.testBlueprintContainer(new RichBundleContext(compositeBundleContext), bundle);
-
- // unget the service
- bundleContext.ungetService(sr);
+ Helper.testBlueprintContainer(new RichBundleContext(compositeBundleContext), testBundle);
}
- @Configuration
+ @Configuration
public Option[] configuration() {
return new Option[] {
baseOptions(),