SLING-6031 Teleporter.getService() should wait for required services
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1759492 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/testing/teleporter/client/ClientSideTeleporter.java b/src/main/java/org/apache/sling/testing/teleporter/client/ClientSideTeleporter.java
index daf9168..28ff398 100644
--- a/src/main/java/org/apache/sling/testing/teleporter/client/ClientSideTeleporter.java
+++ b/src/main/java/org/apache/sling/testing/teleporter/client/ClientSideTeleporter.java
@@ -48,6 +48,7 @@
private DependencyAnalyzer dependencyAnalyzer;
private int testReadyTimeoutSeconds = 20;
private int webConsoleReadyTimeoutSeconds = 30;
+ private int waitForServiceTimout = 10;
private String baseUrl;
private String serverCredentials;
private String testServletPath = DEFAULT_TEST_SERVLET_PATH;
@@ -58,6 +59,7 @@
final TinyBundle b = TinyBundles.bundle()
.set(Constants.BUNDLE_SYMBOLICNAME, bundleSymbolicName)
.set("Sling-Test-Regexp", c.getName() + ".*")
+ .set("Sling-Test-WaitForService-Timeout", Integer.toString(waitForServiceTimout))
.add(c);
for(Map.Entry<String, String> header : additionalBundleHeaders.entrySet()) {
@@ -110,6 +112,14 @@
webConsoleReadyTimeoutSeconds = tm;
}
+ /**
+ * Define how long to wait to get a service reference.
+ * This applies only on the server-side when using the {@link #getService(Class)} or {@link #getService(Class, String)} methods.
+ */
+ public void setWaitForServiceTimoutSeconds (int tm) {
+ waitForServiceTimout = tm;
+ }
+
/** Set the credentials to use to install our test bundle on the server */
public void setServerCredentials(String username, String password) {
serverCredentials = username + ":" + password;