You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by js...@apache.org on 2021/06/24 19:50:28 UTC

[sling-org-apache-sling-junit-core] 02/04: SLING-10548 - Incorrect POST URL for individual test method execution

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 <js...@apache.org>
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