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 2015/09/21 13:55:40 UTC

svn commit: r1704275 - /sling/trunk/testing/teleporter/src/main/java/org/apache/sling/testing/teleporter/client/ClientSideTeleporter.java

Author: bdelacretaz
Date: Mon Sep 21 11:55:35 2015
New Revision: 1704275

URL: http://svn.apache.org/viewvc?rev=1704275&view=rev
Log:
SLING-5040 - adapt to Customizer mechanism

Modified:
    sling/trunk/testing/teleporter/src/main/java/org/apache/sling/testing/teleporter/client/ClientSideTeleporter.java

Modified: sling/trunk/testing/teleporter/src/main/java/org/apache/sling/testing/teleporter/client/ClientSideTeleporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/teleporter/src/main/java/org/apache/sling/testing/teleporter/client/ClientSideTeleporter.java?rev=1704275&r1=1704274&r2=1704275&view=diff
==============================================================================
--- sling/trunk/testing/teleporter/src/main/java/org/apache/sling/testing/teleporter/client/ClientSideTeleporter.java (original)
+++ sling/trunk/testing/teleporter/src/main/java/org/apache/sling/testing/teleporter/client/ClientSideTeleporter.java Mon Sep 21 11:55:35 2015
@@ -29,6 +29,7 @@ import java.util.Set;
 import java.util.UUID;
 
 import org.apache.sling.junit.rules.TeleporterRule;
+import org.junit.Rule;
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
 import org.ops4j.pax.tinybundles.core.TinyBundle;
@@ -37,13 +38,11 @@ import org.osgi.framework.Constants;
 
 public class ClientSideTeleporter extends TeleporterRule {
 
-    // TODO All this should be configurable with Options
-    private final int testReadyTimeoutSeconds = 5;
+    private DependencyAnalyzer dependencyAnalyzer;
+    private int testReadyTimeoutSeconds = 5;
     private String baseUrl;
-    private final Set<String> dependencyAnalyzerIncludes = new HashSet<String>();
-    private final Set<String> dependencyAnalyzerExcludes = new HashSet<String>();
     private final Set<Class<?>> embeddedClasses = new HashSet<Class<?>>();
-
+    
     private InputStream buildTestBundle(Class<?> c, Collection<Class<?>> embeddedClasses, String bundleSymbolicName) {
         final TinyBundle b = TinyBundles.bundle()
             .set(Constants.BUNDLE_SYMBOLICNAME, bundleSymbolicName)
@@ -55,15 +54,36 @@ public class ClientSideTeleporter extend
         return b.build(TinyBundles.withBnd());
     }
     
-    protected void setBaseUrl(String url) {
+    public void setBaseUrl(String url) {
         baseUrl = url;
         if(baseUrl.endsWith("/")) {
             baseUrl = baseUrl.substring(0, baseUrl.length() -1);
         }
     }
+
+    @Override
+    protected void setClassUnderTest(Class<?> c) {
+        super.setClassUnderTest(c);
+        dependencyAnalyzer = DependencyAnalyzer.forClass(classUnderTest);
+    }
+    
+    public void setTestReadyTimeoutSeconds(int tm) {
+        testReadyTimeoutSeconds = tm;
+    }
     
-    public void embedClass(Class<?> c) {
+    public ClientSideTeleporter includeDependencyPrefix(String prefix) {
+        dependencyAnalyzer.include(prefix);
+        return this;
+    }
+    
+    public ClientSideTeleporter excludeDependencyPrefix(String prefix) {
+        dependencyAnalyzer.exclude(prefix);
+        return this;
+    }
+    
+    public ClientSideTeleporter embedClass(Class<?> c) {
         embeddedClasses.add(c);
+        return this;
     }
     
     private String installTestBundle(TeleporterHttpClient httpClient) throws MalformedURLException, IOException {
@@ -77,25 +97,13 @@ public class ClientSideTeleporter extend
     @Override
     public Statement apply(final Statement base, final Description description) {
         if(baseUrl == null) {
-            // TODO - need a more flexible mechanism + need to wait for Sling to be ready
-            final String propName = "launchpad.http.server.url";
-            baseUrl = System.getProperty(propName);
-            if(baseUrl == null || baseUrl.isEmpty()) {
-                fail("Missing system property " + propName);
-            }
+            fail("base URL is not set");
         }
         if(baseUrl.endsWith("/")) {
             baseUrl = baseUrl.substring(0, baseUrl.length() - 1);
         }
         
-        final DependencyAnalyzer da = DependencyAnalyzer.forClass(classUnderTest);
-        for(String include : dependencyAnalyzerIncludes) {
-            da.include(include);
-        }
-        for(String exclude : dependencyAnalyzerExcludes) {
-            da.exclude(exclude);
-        }
-        for(Class<?> c : da.getDependencies()) {
+        for(Class<?> c : dependencyAnalyzer.getDependencies()) {
             embeddedClasses.add(c);
         }