You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by en...@apache.org on 2020/09/22 18:22:10 UTC
[sling-org-apache-sling-testing-serversetup] branch master updated:
SLING-9760 Query parameters are not handled in the server.ready.path
parsing
This is an automated email from the ASF dual-hosted git repository.
enorman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-serversetup.git
The following commit(s) were added to refs/heads/master by this push:
new 93deb93 SLING-9760 Query parameters are not handled in the server.ready.path parsing
93deb93 is described below
commit 93deb937c1607b310d70079944ef5135f918183f
Author: Eric Norman <en...@apache.org>
AuthorDate: Tue Sep 22 11:21:59 2020 -0700
SLING-9760 Query parameters are not handled in the server.ready.path
parsing
---
.../serversetup/instance/SlingTestBase.java | 28 +++++++++++++++++++++-
.../testing/serversetup/instance/package-info.java | 2 +-
2 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/apache/sling/testing/serversetup/instance/SlingTestBase.java b/src/main/java/org/apache/sling/testing/serversetup/instance/SlingTestBase.java
index e70c9bc..b5bac36 100644
--- a/src/main/java/org/apache/sling/testing/serversetup/instance/SlingTestBase.java
+++ b/src/main/java/org/apache/sling/testing/serversetup/instance/SlingTestBase.java
@@ -19,7 +19,9 @@ package org.apache.sling.testing.serversetup.instance;
import static org.junit.Assert.fail;
import java.io.File;
+import java.io.UnsupportedEncodingException;
import java.net.URI;
+import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
@@ -27,6 +29,8 @@ import java.util.List;
import java.util.Properties;
import java.util.TreeSet;
+import org.apache.http.NameValuePair;
+import org.apache.http.message.BasicNameValuePair;
import org.apache.sling.testing.clients.ClientException;
import org.apache.sling.testing.clients.SlingClient;
import org.apache.sling.testing.clients.osgi.BundlesInstaller;
@@ -300,7 +304,9 @@ public class SlingTestBase implements SlingInstance {
final String path = s[0];
final String pattern = (s.length > 0 ? s[1] : "");
try {
- osgiConsoleClient.doGet(path, null, 200).checkContentContains(pattern);
+ URI uri = new URI(path);
+ List<NameValuePair> reqParams = extractParams(uri);
+ osgiConsoleClient.doGet(uri.getPath(), reqParams, 200).checkContentContains(pattern);
} catch(ClientException e) {
errors = true;
log.debug("Request to {}@{} failed, will retry ({})",
@@ -329,6 +335,26 @@ public class SlingTestBase implements SlingInstance {
}
/**
+ * Convert the query part of the URI to a list of name value pairs that are suitable
+ * for the client calls
+ */
+ protected List<NameValuePair> extractParams(URI url) throws UnsupportedEncodingException {
+ final List<NameValuePair> paramsList = new ArrayList<>();
+ String query = url.getQuery();
+ if (query == null || query.isEmpty()) {
+ return null;
+ }
+ final String[] pairs = query.split("&");
+ for (String pair : pairs) {
+ final int idx = pair.indexOf("=");
+ final String key = idx > 0 ? URLDecoder.decode(pair.substring(0, idx), "UTF-8") : pair;
+ final String value = idx > 0 && pair.length() > idx + 1 ? URLDecoder.decode(pair.substring(idx + 1), "UTF-8") : null;
+ paramsList.add(new BasicNameValuePair(key, value));
+ }
+ return paramsList;
+ }
+
+ /**
* Get the list of additional bundles to install, as specified by the system property {@link #ADDITONAL_BUNDLES_PATH}
* @return the list of {@link File}s pointing to the Bundle JARs or the empty list in case no additional bundles should be installed (never {@code null}).
*/
diff --git a/src/main/java/org/apache/sling/testing/serversetup/instance/package-info.java b/src/main/java/org/apache/sling/testing/serversetup/instance/package-info.java
index 27f1c7a..0b34ad5 100644
--- a/src/main/java/org/apache/sling/testing/serversetup/instance/package-info.java
+++ b/src/main/java/org/apache/sling/testing/serversetup/instance/package-info.java
@@ -17,7 +17,7 @@
* under the License.
*/
-@Version("1.0.0")
+@Version("1.1.0")
package org.apache.sling.testing.serversetup.instance;
import org.osgi.annotation.versioning.Version;