SLING-8936: basic ServletSelectionIT
diff --git a/src/test/java/org/apache/sling/servlets/resolver/it/DefaultServletIT.java b/src/test/java/org/apache/sling/servlets/resolver/it/ServletSelectionIT.java
similarity index 80%
rename from src/test/java/org/apache/sling/servlets/resolver/it/DefaultServletIT.java
rename to src/test/java/org/apache/sling/servlets/resolver/it/ServletSelectionIT.java
index 1b4084e..20be2d0 100644
--- a/src/test/java/org/apache/sling/servlets/resolver/it/DefaultServletIT.java
+++ b/src/test/java/org/apache/sling/servlets/resolver/it/ServletSelectionIT.java
@@ -20,6 +20,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.lang.reflect.Method;
@@ -45,7 +46,7 @@
@RunWith(PaxExam.class)
@ExamReactorStrategy(PerClass.class)
-public class DefaultServletIT extends ServletResolverTestSupport {
+public class ServletSelectionIT extends ServletResolverTestSupport {
private final static int STARTUP_WAIT_SECONDS = 30;
@@ -55,8 +56,9 @@
@Inject
private ResourceResolverFactory resourceResolverFactory;
- private MockSlingHttpServletResponse executeRequest(String path) throws Exception {
+ private MockSlingHttpServletResponse executeRequest(String path, int expectedStatus) throws Exception {
final ResourceResolver resourceResolver = resourceResolverFactory.getAdministrativeResourceResolver(null);
+ assertNotNull("Expecting ResourceResolver", resourceResolver);
final MockSlingHttpServletRequest request = new MockSlingHttpServletRequest(resourceResolver);
request.setPathInfo(path);
final MockSlingHttpServletResponse response = new MockSlingHttpServletResponse();
@@ -76,11 +78,15 @@
"processRequest",
HttpServletRequest.class, HttpServletResponse.class, ResourceResolver.class);
assertNotNull("Expecting processRequest method", processMethod);
- processMethod.invoke(processor, request, response, null);
+ processMethod.invoke(processor, request, response, resourceResolver);
} finally {
bundleContext.ungetService(ref);
}
+ if(expectedStatus > 0) {
+ assertEquals("Expected status " + expectedStatus + " at " + path, expectedStatus, response.getStatus());
+ }
+
return response;
}
@@ -88,10 +94,10 @@
public void waitForStableSling() throws Exception {
final int expectedStatus = 200;
final List<Integer> statuses = new ArrayList<>();
- final String path = "/starter.html";
+ final String path = "/.json";
final long endTime = System.currentTimeMillis() + STARTUP_WAIT_SECONDS * 1000;
while(System.currentTimeMillis() < endTime) {
- final int status = executeRequest(path).getStatus();
+ final int status = executeRequest(path, -1).getStatus();
statuses.add(status);
if(status == expectedStatus) {
return;
@@ -102,11 +108,17 @@
}
@Test
- public void testDefaultServlet() throws Exception {
- final MockSlingHttpServletResponse response = executeRequest("/starter.html");
- assertEquals(200, response.getStatus());
- final String TODO_SHOULD_NOT_BE_EMPTY = "";
- assertEquals(TODO_SHOULD_NOT_BE_EMPTY, response.getOutputAsString());
+ public void testDefaultJsonServlet() throws Exception {
+ final MockSlingHttpServletResponse response = executeRequest("/.json", 200);
+ final String content = response.getOutputAsString();
+ final String [] expected = {
+ "jcr:primaryType\":\"rep:root",
+ "jcr:mixinTypes\":[\"rep:AccessControllable\"]"
+ };
+ for(String s : expected) {
+ assertTrue("Expecting in output: " + s + ", got " + content, content.contains(s));
+ }
+
}
}
\ No newline at end of file