You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 10:17:18 UTC

[sling-org-apache-sling-testing-clients] 04/06: SLING-6431 and some cosmetic changes

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.clients-1.0.1
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-clients.git

commit 2eefa29ec5987725f94cd9d2390046ee78eb3737
Author: Andrei Dulvac <du...@apache.org>
AuthorDate: Fri Jan 6 09:25:24 2017 +0000

    SLING-6431 and some cosmetic changes
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/http/clients@1777545 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                            |  6 +++---
 .../sling/testing/clients/AbstractSlingClient.java | 12 ++++++++++-
 .../apache/sling/testing/clients/SlingClient.java  |  4 ++++
 .../sling/testing/clients/html/package-info.java   |  2 +-
 .../clients/instance/InstanceConfiguration.java    | 21 ++++++++++++++++++-
 .../testing/clients/instance/InstanceSetup.java    | 24 +++++++++++++++++-----
 .../clients/{ => instance}/package-info.java       |  2 +-
 .../interceptors/TestDescriptionInterceptor.java   |  2 +-
 .../sling/testing/clients/osgi/package-info.java   |  2 +-
 .../apache/sling/testing/clients/package-info.java |  2 +-
 .../{ => util/config/impl}/package-info.java       |  4 ++--
 .../clients/{ => util/poller}/package-info.java    |  4 ++--
 12 files changed, 66 insertions(+), 19 deletions(-)

diff --git a/pom.xml b/pom.xml
index 1267c96..4a326bd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>26</version>
+        <version>28</version>
         <relativePath />
     </parent>
 
@@ -77,7 +77,7 @@
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
+            <artifactId>osgi.core</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
@@ -151,7 +151,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.hapi.client</artifactId>
-            <version>1.0.1-SNAPSHOT</version>
+            <version>1.0.0</version>
         </dependency>
     </dependencies>
 </project>
diff --git a/src/main/java/org/apache/sling/testing/clients/AbstractSlingClient.java b/src/main/java/org/apache/sling/testing/clients/AbstractSlingClient.java
index 24d731f..51c57d8 100644
--- a/src/main/java/org/apache/sling/testing/clients/AbstractSlingClient.java
+++ b/src/main/java/org/apache/sling/testing/clients/AbstractSlingClient.java
@@ -28,6 +28,7 @@ import org.apache.http.protocol.HttpContext;
 import org.apache.sling.testing.clients.util.HttpUtils;
 import org.slf4j.LoggerFactory;
 
+import java.io.Closeable;
 import java.io.IOException;
 import java.lang.reflect.Constructor;
 import java.net.URI;
@@ -41,7 +42,7 @@ import java.util.UUID;
  * The abstract base client for all implementing integration test clients.
  */
 @Immutable
-public class AbstractSlingClient implements HttpClient {
+public class AbstractSlingClient implements HttpClient, Closeable {
 
     private final org.slf4j.Logger log = LoggerFactory.getLogger(getClass());
 
@@ -648,6 +649,15 @@ public class AbstractSlingClient implements HttpClient {
         return doRequest(request, headers, expectedStatus);
     }
 
+    @Override
+    /**
+     * <p>Closes the http client and makes sure all the underlying resources, like the connection manager, shut down </p>
+     *
+     */
+    public void close() throws IOException {
+        this.http.close();
+    }
+
 
     //
     // HttpClient  base methods
diff --git a/src/main/java/org/apache/sling/testing/clients/SlingClient.java b/src/main/java/org/apache/sling/testing/clients/SlingClient.java
index 7d9bbe3..ede00b5 100644
--- a/src/main/java/org/apache/sling/testing/clients/SlingClient.java
+++ b/src/main/java/org/apache/sling/testing/clients/SlingClient.java
@@ -21,6 +21,7 @@ import org.apache.http.HttpEntity;
 import org.apache.http.HttpRequestInterceptor;
 import org.apache.http.HttpResponseInterceptor;
 import org.apache.http.NameValuePair;
+import org.apache.http.annotation.Immutable;
 import org.apache.http.client.CookieStore;
 import org.apache.http.client.CredentialsProvider;
 import org.apache.http.client.RedirectStrategy;
@@ -31,6 +32,7 @@ import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClientBuilder;
 
 import org.apache.sling.testing.clients.interceptors.DelayRequestInterceptor;
+import org.apache.sling.testing.clients.interceptors.TestDescriptionInterceptor;
 import org.apache.sling.testing.clients.util.FormEntityBuilder;
 import org.apache.sling.testing.clients.util.HttpUtils;
 import org.apache.sling.testing.clients.util.JsonUtils;
@@ -51,6 +53,7 @@ import static org.apache.http.HttpStatus.SC_OK;
  * <p>It has methods to perform simple node operations on the server like creating and deleting nodes, etc.
  * on the server using requests. </p>
  */
+@Immutable
 public class SlingClient extends AbstractSlingClient {
 
     public static final String DEFAULT_NODE_TYPE = "sling:OrderedFolder";
@@ -557,6 +560,7 @@ public class SlingClient extends AbstractSlingClient {
             httpClientBuilder.setMaxConnPerRoute(10);
             httpClientBuilder.setMaxConnTotal(100);
             // Interceptors
+            httpClientBuilder.addInterceptorLast(new TestDescriptionInterceptor());
             httpClientBuilder.addInterceptorLast(new DelayRequestInterceptor(Constants.HTTP_DELAY));
 
             return this;
diff --git a/src/main/java/org/apache/sling/testing/clients/html/package-info.java b/src/main/java/org/apache/sling/testing/clients/html/package-info.java
index 764e51d..97b22cb 100644
--- a/src/main/java/org/apache/sling/testing/clients/html/package-info.java
+++ b/src/main/java/org/apache/sling/testing/clients/html/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("2.0.0")
+@Version("2.1.0")
 package org.apache.sling.testing.clients.html;
 
 import aQute.bnd.annotation.Version;
diff --git a/src/main/java/org/apache/sling/testing/clients/instance/InstanceConfiguration.java b/src/main/java/org/apache/sling/testing/clients/instance/InstanceConfiguration.java
index 168e6ab..4081bd5 100644
--- a/src/main/java/org/apache/sling/testing/clients/instance/InstanceConfiguration.java
+++ b/src/main/java/org/apache/sling/testing/clients/instance/InstanceConfiguration.java
@@ -23,12 +23,23 @@ import java.net.URI;
  */
 public class InstanceConfiguration {
 
+    public static final String DEFAULT_ADMIN_USER = "admin";
+    public static final String DEFAULT_ADMIN_PASSWORD = "admin";
+
     private URI url;
     private final String runmode;
+    private String adminUser;
+    private String adminPassword;
 
-    public InstanceConfiguration(final URI url, final String runmode) {
+    public InstanceConfiguration(final URI url, final String runmode, String adminUser, String adminPassword) {
         this.url = url;
         this.runmode = runmode;
+        this.adminUser = adminUser;
+        this.adminPassword = adminPassword;
+    }
+
+    public InstanceConfiguration(URI url, String runmode) {
+        this(url, runmode, DEFAULT_ADMIN_USER, DEFAULT_ADMIN_PASSWORD);
     }
 
     public URI getUrl() {
@@ -38,4 +49,12 @@ public class InstanceConfiguration {
     public String getRunmode() {
         return runmode;
     }
+
+    public String getAdminUser() {
+        return adminUser;
+    }
+
+    public String getAdminPassword() {
+        return adminPassword;
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/org/apache/sling/testing/clients/instance/InstanceSetup.java b/src/main/java/org/apache/sling/testing/clients/instance/InstanceSetup.java
index de4e5a3..051b4c9 100644
--- a/src/main/java/org/apache/sling/testing/clients/instance/InstanceSetup.java
+++ b/src/main/java/org/apache/sling/testing/clients/instance/InstanceSetup.java
@@ -29,10 +29,16 @@ import java.util.List;
  * Utility class for getting the current instance setup
  */
 public final class InstanceSetup {
-
     private static final Logger LOG = LoggerFactory.getLogger(InstanceSetup.class);
     private static InstanceSetup SINGLETON;
 
+    // TODO: JAVADOC
+    public static final String INSTANCE_CONFIG_INSTANCES = Constants.CONFIG_PROP_PREFIX + "instances";
+    public static final String INSTANCE_CONFIG_URL = Constants.CONFIG_PROP_PREFIX + "instance.url.";
+    public static final String INSTANCE_CONFIG_RUNMODE = Constants.CONFIG_PROP_PREFIX + "instance.runmode.";
+    public static final String INSTANCE_CONFIG_ADMINUSER = Constants.CONFIG_PROP_PREFIX + "instance.adminUser.";
+    public static final String INSTANCE_CONFIG_ADMINPASSWORD = Constants.CONFIG_PROP_PREFIX + "instance.adminPassword.";
+
     /**
      * @return  the current setup object.
      */
@@ -46,18 +52,26 @@ public final class InstanceSetup {
     private final List<InstanceConfiguration> configs = new ArrayList<InstanceConfiguration>();
 
     private InstanceSetup() {
-        final int number = Integer.valueOf(System.getProperty(Constants.CONFIG_PROP_PREFIX + "instances", "0"));
+        final int number = Integer.valueOf(System.getProperty(INSTANCE_CONFIG_INSTANCES, "0"));
         for (int i=1; i<=number; i++ ) {
             URI url;
             try {
-                url = new URI(System.getProperty(Constants.CONFIG_PROP_PREFIX + "instance.url." + String.valueOf(i)));
+                url = new URI(System.getProperty(INSTANCE_CONFIG_URL + String.valueOf(i)));
             } catch (URISyntaxException e) {
                 LOG.error("Could not read URL for instance");
                 continue;
             }
-            final String runmode = System.getProperty(Constants.CONFIG_PROP_PREFIX + "instance.runmode." + String.valueOf(i));
+            final String runmode = System.getProperty(INSTANCE_CONFIG_RUNMODE + String.valueOf(i));
+            final String adminUser = System.getProperty(INSTANCE_CONFIG_ADMINUSER + String.valueOf(i));
+            final String adminPassword = System.getProperty(INSTANCE_CONFIG_ADMINPASSWORD + String.valueOf(i));
 
-            final InstanceConfiguration qc = new InstanceConfiguration(url, runmode);
+            final InstanceConfiguration qc;
+            // Only pass in the admin user name and password if they're both set
+            if ((null == adminUser) || (null == adminPassword)) {
+                qc = new InstanceConfiguration(url, runmode);
+            } else {
+                qc = new InstanceConfiguration(url, runmode, adminUser, adminPassword);
+            }
 
             this.configs.add(qc);
         }
diff --git a/src/main/java/org/apache/sling/testing/clients/package-info.java b/src/main/java/org/apache/sling/testing/clients/instance/package-info.java
similarity index 94%
copy from src/main/java/org/apache/sling/testing/clients/package-info.java
copy to src/main/java/org/apache/sling/testing/clients/instance/package-info.java
index 406e979..43010e9 100644
--- a/src/main/java/org/apache/sling/testing/clients/package-info.java
+++ b/src/main/java/org/apache/sling/testing/clients/instance/package-info.java
@@ -18,7 +18,7 @@
  */
 
 @Version("1.1.0")
-package org.apache.sling.testing.clients;
+package org.apache.sling.testing.clients.instance;
 
 import aQute.bnd.annotation.Version;
 
diff --git a/src/main/java/org/apache/sling/testing/clients/interceptors/TestDescriptionInterceptor.java b/src/main/java/org/apache/sling/testing/clients/interceptors/TestDescriptionInterceptor.java
index ad91912..baad350 100644
--- a/src/main/java/org/apache/sling/testing/clients/interceptors/TestDescriptionInterceptor.java
+++ b/src/main/java/org/apache/sling/testing/clients/interceptors/TestDescriptionInterceptor.java
@@ -42,7 +42,7 @@ public class TestDescriptionInterceptor implements HttpRequestInterceptor{
     }
 
     private static void addHeader(HttpRequest httpRequest, String name, String value){
-        if (value != null){
+        if (value != null) {
             httpRequest.addHeader(name, value);
         }
     }
diff --git a/src/main/java/org/apache/sling/testing/clients/osgi/package-info.java b/src/main/java/org/apache/sling/testing/clients/osgi/package-info.java
index 3deee0a..3a2f85e 100644
--- a/src/main/java/org/apache/sling/testing/clients/osgi/package-info.java
+++ b/src/main/java/org/apache/sling/testing/clients/osgi/package-info.java
@@ -19,5 +19,5 @@
 /**
  * OSGI testing tools.
  */
-@aQute.bnd.annotation.Version("1.0.0")
+@aQute.bnd.annotation.Version("1.1.0")
 package org.apache.sling.testing.clients.osgi;
diff --git a/src/main/java/org/apache/sling/testing/clients/package-info.java b/src/main/java/org/apache/sling/testing/clients/package-info.java
index 406e979..d9cf961 100644
--- a/src/main/java/org/apache/sling/testing/clients/package-info.java
+++ b/src/main/java/org/apache/sling/testing/clients/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("1.1.0")
+@Version("1.2.0")
 package org.apache.sling.testing.clients;
 
 import aQute.bnd.annotation.Version;
diff --git a/src/main/java/org/apache/sling/testing/clients/package-info.java b/src/main/java/org/apache/sling/testing/clients/util/config/impl/package-info.java
similarity index 91%
copy from src/main/java/org/apache/sling/testing/clients/package-info.java
copy to src/main/java/org/apache/sling/testing/clients/util/config/impl/package-info.java
index 406e979..d6bfe66 100644
--- a/src/main/java/org/apache/sling/testing/clients/package-info.java
+++ b/src/main/java/org/apache/sling/testing/clients/util/config/impl/package-info.java
@@ -17,8 +17,8 @@
  * under the License.
  */
 
-@Version("1.1.0")
-package org.apache.sling.testing.clients;
+@Version("1.0.0")
+package org.apache.sling.testing.clients.util.config.impl;
 
 import aQute.bnd.annotation.Version;
 
diff --git a/src/main/java/org/apache/sling/testing/clients/package-info.java b/src/main/java/org/apache/sling/testing/clients/util/poller/package-info.java
similarity index 92%
copy from src/main/java/org/apache/sling/testing/clients/package-info.java
copy to src/main/java/org/apache/sling/testing/clients/util/poller/package-info.java
index 406e979..6367401 100644
--- a/src/main/java/org/apache/sling/testing/clients/package-info.java
+++ b/src/main/java/org/apache/sling/testing/clients/util/poller/package-info.java
@@ -17,8 +17,8 @@
  * under the License.
  */
 
-@Version("1.1.0")
-package org.apache.sling.testing.clients;
+@Version("1.0.0")
+package org.apache.sling.testing.clients.util.poller;
 
 import aQute.bnd.annotation.Version;
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.