Author: bdelacretaz
Date: Thu Sep 17 12:27:33 2015
New Revision: 1703597
URL: http://svn.apache.org/r1703597
Log:
SLING-5033 - return 404 if no tests found to execute
Modified:
sling/trunk/testing/junit/core/src/main/java/org/apache/sling/junit/impl/servlet/ServletProcessor.java
Modified:
sling/trunk/testing/junit/core/src/main/java/org/apache/sling/junit/impl/servlet/ServletProcessor.java
URL:
http://svn.apache.org/viewvc/sling/trunk/testing/junit/core/src/main/java/org/apache/sling/junit/impl/servlet/ServletProcessor.java?rev=1703597&r1=1703596&r2=1703597&view=diff
==============================================================================
---
sling/trunk/testing/junit/core/src/main/java/org/apache/sling/junit/impl/servlet/ServletProcessor.java
(original)
+++
sling/trunk/testing/junit/core/src/main/java/org/apache/sling/junit/impl/servlet/ServletProcessor.java
Thu Sep 17 12:27:33 2015
@@ -104,6 +104,18 @@ public class ServletProcessor {
}
final TestSelector selector = getTestSelector(request);
+ final List<String> testNames = getTestNames(selector, forceReload);
+
+ // 404 if no tests found
+ if(testNames.isEmpty()) {
+ final String msg =
+ "WARNING: no test classes found for selector " + selector
+ + ", check the requirements of the active " +
+ "TestsProvider services for how to supply tests.";
+ response.sendError(HttpServletResponse.SC_NOT_FOUND, msg);
+ return;
+ }
+
final Renderer renderer = rendererSelector.getRenderer(selector);
if(renderer == null) {
throw new ServletException("No Renderer found for " + selector);
@@ -112,24 +124,12 @@ public class ServletProcessor {
renderer.setup(response, getClass().getSimpleName());
renderer.info("info", "Test selector: " + selector);
-
- // Any test classes?
- final List<String> testNames = getTestNames(selector, forceReload);
- if(testNames.isEmpty()) {
- renderer.info(
- "warning",
- "No test classes found for selector " + selector
- + ", check the requirements of the active " +
- "TestsProvider services for how to supply tests."
- );
- } else {
- try {
- testsManager.listTests(testNames, renderer);
- final String postPath = getTestExecutionPath(request,
selector, renderer.getExtension());
- renderer.link("Execute these tests", postPath, "POST");
- } catch(Exception e) {
- throw new ServletException(e);
- }
+ try {
+ testsManager.listTests(testNames, renderer);
+ final String postPath = getTestExecutionPath(request, selector,
renderer.getExtension());
+ renderer.link("Execute these tests", postPath, "POST");
+ } catch(Exception e) {
+ throw new ServletException(e);
}
renderer.cleanup();
}