You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2019/12/20 17:28:49 UTC
[sling-org-apache-sling-servlets-resolver] branch issue/SLING-8936
updated: SLING-8936 - WIP: wait for Sling,
getting 503 for a long time so far
This is an automated email from the ASF dual-hosted git repository.
bdelacretaz pushed a commit to branch issue/SLING-8936
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-servlets-resolver.git
The following commit(s) were added to refs/heads/issue/SLING-8936 by this push:
new f7c08f7 SLING-8936 - WIP: wait for Sling, getting 503 for a long time so far
f7c08f7 is described below
commit f7c08f7337ecccd3c4965f1685f49080edac5ef9
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Fri Dec 20 18:28:16 2019 +0100
SLING-8936 - WIP: wait for Sling, getting 503 for a long time so far
---
.../servlets/resolver/it/DefaultServletIT.java | 40 +++++++++++++++++++---
.../resolver/it/ServletResolverTestSupport.java | 6 +++-
2 files changed, 40 insertions(+), 6 deletions(-)
diff --git a/src/test/java/org/apache/sling/servlets/resolver/it/DefaultServletIT.java b/src/test/java/org/apache/sling/servlets/resolver/it/DefaultServletIT.java
index e4a2faf..1b4084e 100644
--- a/src/test/java/org/apache/sling/servlets/resolver/it/DefaultServletIT.java
+++ b/src/test/java/org/apache/sling/servlets/resolver/it/DefaultServletIT.java
@@ -20,16 +20,21 @@ package org.apache.sling.servlets.resolver.it;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.servlethelpers.MockSlingHttpServletRequest;
import org.apache.sling.servlethelpers.MockSlingHttpServletResponse;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.junit.PaxExam;
@@ -42,12 +47,18 @@ import org.osgi.framework.ServiceReference;
@ExamReactorStrategy(PerClass.class)
public class DefaultServletIT extends ServletResolverTestSupport {
+ private final static int STARTUP_WAIT_SECONDS = 30;
+
@Inject
private BundleContext bundleContext;
- private String getContent(String path) throws Exception {
- final ResourceResolver TODO_NEED_ONE = null;
- final MockSlingHttpServletRequest request = new MockSlingHttpServletRequest(TODO_NEED_ONE);
+ @Inject
+ private ResourceResolverFactory resourceResolverFactory;
+
+ private MockSlingHttpServletResponse executeRequest(String path) throws Exception {
+ final ResourceResolver resourceResolver = resourceResolverFactory.getAdministrativeResourceResolver(null);
+ final MockSlingHttpServletRequest request = new MockSlingHttpServletRequest(resourceResolver);
+ request.setPathInfo(path);
final MockSlingHttpServletResponse response = new MockSlingHttpServletResponse();
// Get SlingRequestProcessor.processRequest method and execute request
@@ -70,13 +81,32 @@ public class DefaultServletIT extends ServletResolverTestSupport {
bundleContext.ungetService(ref);
}
- return response.getOutputAsString();
+ return response;
+ }
+
+ @Before
+ public void waitForStableSling() throws Exception {
+ final int expectedStatus = 200;
+ final List<Integer> statuses = new ArrayList<>();
+ final String path = "/starter.html";
+ final long endTime = System.currentTimeMillis() + STARTUP_WAIT_SECONDS * 1000;
+ while(System.currentTimeMillis() < endTime) {
+ final int status = executeRequest(path).getStatus();
+ statuses.add(status);
+ if(status == expectedStatus) {
+ return;
+ }
+ Thread.sleep(250);
+ }
+ fail("Did not get a 200 status at " + path + " got " + statuses);
}
@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, getContent("/.json"));
+ assertEquals(TODO_SHOULD_NOT_BE_EMPTY, response.getOutputAsString());
}
}
\ No newline at end of file
diff --git a/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java b/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
index bc4e480..39a4fea 100644
--- a/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
+++ b/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
@@ -25,6 +25,7 @@ import org.ops4j.pax.exam.Option;
import static org.ops4j.pax.exam.CoreOptions.junitBundles;
import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
import static org.ops4j.pax.exam.CoreOptions.wrappedBundle;
+import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.newConfiguration;
import static org.apache.sling.testing.paxexam.SlingOptions.slingQuickstartOakTar;
public class ServletResolverTestSupport extends TestSupport {
@@ -37,7 +38,10 @@ public class ServletResolverTestSupport extends TestSupport {
slingQuickstartOakTar(workingDirectory(), httpPort),
testBundle("bundle.filename"),
wrappedBundle(mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.servlet-helpers").versionAsInProject()),
- junitBundles()
+ junitBundles(),
+ newConfiguration("org.apache.sling.jcr.base.internal.LoginAdminWhitelist")
+ .put("whitelist.bundles.regexp", "^PAXEXAM.*$")
+ .asOption(),
};
}
}