You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:25:22 UTC
[sling-org-apache-sling-crankstart-launcher] 25/31: Add support for
bundle start levels, and move default values to CrankstartContext
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.crankstart.launcher-1.0.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-crankstart-launcher.git
commit d1e55079739d3319af5d5769fcdbaf0dcdb69a83
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Thu Jul 31 15:32:42 2014 +0000
Add support for bundle start levels, and move default values to CrankstartContext
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/contrib/crankstart/launcher@1614923 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 6 ++++
.../launcher/CrankstartBootstrapTest.java | 39 ++++++++++++++++++++++
src/test/resources/launcher-test.crank.txt | 5 +++
3 files changed, 50 insertions(+)
diff --git a/pom.xml b/pom.xml
index e1136e1..a91660d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -152,6 +152,12 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.commons.json</artifactId>
+ <version>2.0.6</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.1</version>
diff --git a/src/test/java/org/apache/sling/crankstart/launcher/CrankstartBootstrapTest.java b/src/test/java/org/apache/sling/crankstart/launcher/CrankstartBootstrapTest.java
index f5c8547..71a7aa4 100644
--- a/src/test/java/org/apache/sling/crankstart/launcher/CrankstartBootstrapTest.java
+++ b/src/test/java/org/apache/sling/crankstart/launcher/CrankstartBootstrapTest.java
@@ -22,6 +22,8 @@ import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
+import org.apache.sling.commons.json.JSONArray;
+import org.apache.sling.commons.json.JSONObject;
import org.apache.sling.commons.testing.junit.Retry;
import org.apache.sling.commons.testing.junit.RetryRule;
import org.junit.AfterClass;
@@ -242,6 +244,43 @@ public class CrankstartBootstrapTest {
}
}
+ @Test
+ @Retry(timeoutMsec=10000, intervalMsec=250)
+ public void testSpecificStartLevel() throws Exception {
+ // Verify that this bundle is only installed, as it's set to start level 99
+ setAdminCredentials();
+ final String path = "/system/console/bundles/org.apache.commons.collections.json";
+ final HttpUriRequest get = new HttpGet(baseUrl + path);
+ HttpResponse response = null;
+ try {
+ response = client.execute(get);
+ assertEquals("Expecting bundle status to be available at " + get.getURI(), 200, response.getStatusLine().getStatusCode());
+ assertNotNull("Expecting response entity", response.getEntity());
+ String encoding = "UTF-8";
+ if(response.getEntity().getContentEncoding() != null) {
+ encoding = response.getEntity().getContentEncoding().getValue();
+ }
+ final String content = IOUtils.toString(response.getEntity().getContent(), encoding);
+
+ // Start level is in the props array, with key="Start Level"
+ final JSONObject status = new JSONObject(content);
+ final JSONArray props = status.getJSONArray("data").getJSONObject(0).getJSONArray("props");
+ final String KEY = "key";
+ final String SL = "Start Level";
+ boolean found = false;
+ for(int i=0; i < props.length(); i++) {
+ final JSONObject o = props.getJSONObject(i);
+ if(o.has(KEY) && SL.equals(o.getString(KEY))) {
+ found = true;
+ assertEquals("Expecting the start level that we set", "99", o.getString("value"));
+ }
+ }
+ assertTrue("Expecting start level to be found in JSON output", found);
+ } finally {
+ closeConnection(response);
+ }
+ }
+
private static String getOsgiStoragePath() {
final File tmpRoot = new File(System.getProperty("java.io.tmpdir"));
final Random random = new Random();
diff --git a/src/test/resources/launcher-test.crank.txt b/src/test/resources/launcher-test.crank.txt
index 54b5461..179d4dd 100644
--- a/src/test/resources/launcher-test.crank.txt
+++ b/src/test/resources/launcher-test.crank.txt
@@ -42,6 +42,11 @@ bundle mvn:org.apache.sling/org.apache.sling.jcr.jcr-wrapper/2.0.0
bundle mvn:org.apache.sling/org.apache.sling.crankstart.sling.extensions/0.0.1-SNAPSHOT
bundle mvn:commons-io/commons-io/2.4
+# Install a bundle at a start level higher than the current one
+# to be able to check that it's not active
+defaults crankstart.bundle.start.level 99
+bundle mvn:commons-collections/commons-collections/3.2.1
+
# Now start our bundles
start.all.bundles
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.