This is an automated email from the ASF dual-hosted git repository. jsedding pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-junit-core.git
commit 929db428a6b6a228bbdc601f7da42ca3768c324e Author: Julian Sedding <[email protected]> AuthorDate: Thu Jun 24 17:34:47 2021 +0200 SLING-10548 - Incorrect POST URL for individual test method execution --- .../sling/junit/impl/servlet/ServletProcessor.java | 34 ++++++++++------------ 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/src/main/java/org/apache/sling/junit/impl/servlet/ServletProcessor.java b/src/main/java/org/apache/sling/junit/impl/servlet/ServletProcessor.java index 170ae60..5edc211 100644 --- a/src/main/java/org/apache/sling/junit/impl/servlet/ServletProcessor.java +++ b/src/main/java/org/apache/sling/junit/impl/servlet/ServletProcessor.java @@ -16,15 +16,7 @@ */ package org.apache.sling.junit.impl.servlet; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Collection; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import org.apache.commons.lang3.StringUtils; import org.apache.sling.junit.Renderer; import org.apache.sling.junit.RendererSelector; import org.apache.sling.junit.RequestParser; @@ -33,6 +25,16 @@ import org.apache.sling.junit.TestsManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Collection; +import java.util.stream.Collectors; +import java.util.stream.Stream; + public class ServletProcessor { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -160,15 +162,9 @@ public class ServletProcessor { /** Return path to which to POST to execute specified test */ protected String getTestExecutionPath(HttpServletRequest request, TestSelector selector, String extension) { - String selectedTestMethodName = selector.getSelectedTestMethodName(); - String methodStr = ""; - if (selectedTestMethodName != null && !"".equals(selectedTestMethodName)) { - methodStr = "/" + selectedTestMethodName; - } - return "./" - + selector.getTestSelectorString() - + methodStr - + "." - + extension; + final String path = Stream.of(request.getContextPath(), request.getServletPath(), selector.getTestSelectorString(), selector.getSelectedTestMethodName()) + .filter(StringUtils::isNotBlank) + .collect(Collectors.joining("/")); + return path + "." + extension; } } \ No newline at end of file
