You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2016/12/14 13:37:23 UTC
svn commit: r1774245 - in /sling/trunk/contrib/crankstart/launcher/src:
main/java/org/apache/sling/crankstart/junit/
test/java/org/apache/sling/crankstart/launcher/
test/resources/provisioning-model/
Author: bdelacretaz
Date: Wed Dec 14 13:37:23 2016
New Revision: 1774245
URL: http://svn.apache.org/viewvc?rev=1774245&view=rev
Log:
Demonstrate variables in provisioning model configs
Modified:
sling/trunk/contrib/crankstart/launcher/src/main/java/org/apache/sling/crankstart/junit/CrankstartSetup.java
sling/trunk/contrib/crankstart/launcher/src/test/java/org/apache/sling/crankstart/launcher/BasicLauncherIT.java
sling/trunk/contrib/crankstart/launcher/src/test/java/org/apache/sling/crankstart/launcher/U.java
sling/trunk/contrib/crankstart/launcher/src/test/resources/provisioning-model/crankstart-tests.txt
Modified: sling/trunk/contrib/crankstart/launcher/src/main/java/org/apache/sling/crankstart/junit/CrankstartSetup.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/crankstart/launcher/src/main/java/org/apache/sling/crankstart/junit/CrankstartSetup.java?rev=1774245&r1=1774244&r2=1774245&view=diff
==============================================================================
--- sling/trunk/contrib/crankstart/launcher/src/main/java/org/apache/sling/crankstart/junit/CrankstartSetup.java (original)
+++ sling/trunk/contrib/crankstart/launcher/src/main/java/org/apache/sling/crankstart/junit/CrankstartSetup.java Wed Dec 14 13:37:23 2016
@@ -148,6 +148,14 @@ public class CrankstartSetup extends Ext
log.info("Starting {}", this);
+ // Add system properties which have the expected prefix
+ for(Object o : System.getProperties().keySet()) {
+ final String key = o.toString();
+ if(key.startsWith(Launcher.VARIABLE_OVERRIDE_PREFIX)) {
+ replacementProps.setProperty(key, System.getProperty(key));
+ }
+ }
+
final HttpUriRequest get = new HttpGet(baseUrl);
replacementProps.setProperty("crankstart.model.http.port", String.valueOf(port));
replacementProps.setProperty("crankstart.model.osgi.storage.path", storagePath);
Modified: sling/trunk/contrib/crankstart/launcher/src/test/java/org/apache/sling/crankstart/launcher/BasicLauncherIT.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/crankstart/launcher/src/test/java/org/apache/sling/crankstart/launcher/BasicLauncherIT.java?rev=1774245&r1=1774244&r2=1774245&view=diff
==============================================================================
--- sling/trunk/contrib/crankstart/launcher/src/test/java/org/apache/sling/crankstart/launcher/BasicLauncherIT.java (original)
+++ sling/trunk/contrib/crankstart/launcher/src/test/java/org/apache/sling/crankstart/launcher/BasicLauncherIT.java Wed Dec 14 13:37:23 2016
@@ -5,6 +5,7 @@ import static org.junit.Assert.assertTru
import static org.junit.Assert.fail;
import java.io.IOException;
+import java.util.UUID;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
@@ -33,6 +34,17 @@ public class BasicLauncherIT {
private DefaultHttpClient client;
private static WebconsoleClient osgiConsole;
+ private static final String uniqueText = "Unique text for tests run " + UUID.randomUUID();
+
+ // The Launcher.VARIABLE_OVERRIDE_PREFIX must be used for system properties that
+ // are meant to provide values for the provisioning model
+ private static final String PROP_UNIQUE_TEXT = Launcher.VARIABLE_OVERRIDE_PREFIX + "single.servlet.text";
+
+ static {
+ // BeforeClass would be too late for this as it's
+ // the CrankstartSetup rule that needs this.
+ System.setProperty(PROP_UNIQUE_TEXT, uniqueText);
+ }
@Rule
public final RetryRule retryRule = new RetryRule();
@@ -44,6 +56,7 @@ public class BasicLauncherIT {
@Before
public void setup() throws IOException {
+ System.getProperties().remove(PROP_UNIQUE_TEXT);
client = new DefaultHttpClient();
}
@@ -68,6 +81,9 @@ public class BasicLauncherIT {
try {
response = client.execute(get);
assertEquals("Expecting success for " + get.getURI(), 200, response.getStatusLine().getStatusCode());
+ final String content = U.getContent(response);
+ final String expected = "SingleConfigServlet:test content is " + uniqueText;
+ assertEquals(expected, content);
} finally {
U.closeConnection(response);
}
Modified: sling/trunk/contrib/crankstart/launcher/src/test/java/org/apache/sling/crankstart/launcher/U.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/crankstart/launcher/src/test/java/org/apache/sling/crankstart/launcher/U.java?rev=1774245&r1=1774244&r2=1774245&view=diff
==============================================================================
--- sling/trunk/contrib/crankstart/launcher/src/test/java/org/apache/sling/crankstart/launcher/U.java (original)
+++ sling/trunk/contrib/crankstart/launcher/src/test/java/org/apache/sling/crankstart/launcher/U.java Wed Dec 14 13:37:23 2016
@@ -6,6 +6,7 @@ import static org.junit.Assert.assertNot
import java.io.IOException;
import org.apache.commons.io.IOUtils;
+import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
@@ -62,6 +63,25 @@ public class U {
.getContent());
}
+ public static String getContent(HttpResponse response) throws IOException{
+
+ final HttpEntity e = response.getEntity();
+ if(e == null) {
+ throw new IOException("Response does not provide an Entity");
+ }
+
+ String encoding = "UTF-8";
+ if(response.getEntity().getContentEncoding() != null) {
+ encoding = response.getEntity().getContentEncoding().getValue();
+ }
+
+ try {
+ return IOUtils.toString(e.getContent(), encoding);
+ } finally {
+ e.consumeContent();
+ }
+ }
+
public static void assertHttpGet(CrankstartSetup C, DefaultHttpClient client, String path, String expectedContent) throws Exception {
final HttpUriRequest get = new HttpGet(C.getBaseUrl() + path);
HttpResponse response = null;
@@ -69,11 +89,7 @@ public class U {
response = client.execute(get);
assertEquals("Expecting 200 response at " + path, 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);
+ final String content = getContent(response);
assertEquals(expectedContent, content);
} finally {
U.closeConnection(response);
Modified: sling/trunk/contrib/crankstart/launcher/src/test/resources/provisioning-model/crankstart-tests.txt
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/crankstart/launcher/src/test/resources/provisioning-model/crankstart-tests.txt?rev=1774245&r1=1774244&r2=1774245&view=diff
==============================================================================
--- sling/trunk/contrib/crankstart/launcher/src/test/resources/provisioning-model/crankstart-tests.txt (original)
+++ sling/trunk/contrib/crankstart/launcher/src/test/resources/provisioning-model/crankstart-tests.txt Wed Dec 14 13:37:23 2016
@@ -19,6 +19,9 @@
[feature name=crankstart.tests]
+[variables]
+single.servlet.text = this can be overridden, see BasicLauncherIT
+
[artifacts]
org.apache.sling/org.apache.sling.crankstart.test.services/1.9.9-SNAPSHOT
org.apache.sling/org.apache.sling.junit.core/1.0.10
@@ -44,9 +47,8 @@
[configurations]
org.apache.sling.crankstart.testservices.SingleConfigServlet
- # TODO should use a variable to verify that they work in configs
path="/single"
- message="doesn't matter"
+ message="test content is ${single.servlet.text}"
org.apache.sling.crankstart.testservices.ConfigFactoryServlet-foo
path="/foo"