You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by to...@apache.org on 2017/02/09 10:31:55 UTC

svn commit: r1782306 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ main/java/org/apache/sling/distribution/packaging/ main/java/org/apache/sling/distribution/servlet/ test/java/org/apach...

Author: tommaso
Date: Thu Feb  9 10:31:55 2017
New Revision: 1782306

URL: http://svn.apache.org/viewvc?rev=1782306&view=rev
Log:
SLING-6514 - test distributions should not go through queues

Added:
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java   (with props)
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueingDistributionPackageProcessor.java
      - copied, changed from r1782304, sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessor.java
    sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessorTest.java   (with props)
    sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/QueueingDistributionPackageProcessorTest.java
      - copied, changed from r1782304, sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessorTest.java
Removed:
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessor.java
    sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessorTest.java
Modified:
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageProcessor.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java
    sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterTest.java
    sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterTest.java
    sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java

Added: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java?rev=1782306&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java (added)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java Thu Feb  9 10:31:55 2017
@@ -0,0 +1,110 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.distribution.agent.impl;
+
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.distribution.DistributionRequestState;
+import org.apache.sling.distribution.DistributionResponse;
+import org.apache.sling.distribution.common.DistributionException;
+import org.apache.sling.distribution.impl.SimpleDistributionResponse;
+import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
+import org.apache.sling.distribution.packaging.DistributionPackage;
+import org.apache.sling.distribution.packaging.DistributionPackageImporter;
+import org.apache.sling.distribution.packaging.DistributionPackageProcessor;
+import org.apache.sling.distribution.util.impl.DistributionUtils;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
+
+/**
+ * {@link DistributionPackageProcessor} that directly imports {@link DistributionPackage}s (skipping queues).
+ */
+class ImportingDistributionPackageProcessor implements DistributionPackageProcessor {
+
+    // required components
+    private final DistributionPackageImporter distributionPackageImporter;
+    private final SimpleDistributionAgentAuthenticationInfo authenticationInfo;
+
+    // request info
+    private final String callingUser;
+    private final String requestId;
+    private final DefaultDistributionLog log;
+
+    // stats
+    private final AtomicInteger packagesCount = new AtomicInteger();
+    private final AtomicLong packagesSize = new AtomicLong();
+    private final List<DistributionResponse> allResponses = new LinkedList<DistributionResponse>();
+
+
+    public ImportingDistributionPackageProcessor(DistributionPackageImporter distributionPackageImporter,
+                                                 SimpleDistributionAgentAuthenticationInfo authenticationInfo,
+                                                 String callingUser, String requestId, DefaultDistributionLog log) {
+        this.distributionPackageImporter = distributionPackageImporter;
+        this.authenticationInfo = authenticationInfo;
+        this.callingUser = callingUser;
+        this.requestId = requestId;
+        this.log = log;
+    }
+
+    @Override
+    public void process(DistributionPackage distributionPackage) {
+        final long startTime = System.currentTimeMillis();
+        try {
+            // set up original calling RR
+            ResourceResolver resourceResolver = DistributionUtils.getResourceResolver(callingUser, authenticationInfo.getAgentService(),
+                    authenticationInfo.getSlingRepository(), authenticationInfo.getSubServiceName(),
+                    authenticationInfo.getResourceResolverFactory());
+
+            // perform importing
+            distributionPackageImporter.importPackage(resourceResolver, distributionPackage);
+
+            // collect stats
+            packagesSize.addAndGet(distributionPackage.getSize());
+            packagesCount.incrementAndGet();
+
+            DistributionResponse response = new SimpleDistributionResponse(DistributionRequestState.ACCEPTED, "package imported");
+            allResponses.add(response);
+
+            final long endTime = System.currentTimeMillis();
+            log.debug("PACKAGE-IMPORTED {}: packageId={}, paths={}, responses={}", requestId, distributionPackage.getId(),
+                    distributionPackage.getInfo().getPaths(), endTime - startTime, response);
+
+        } catch (DistributionException e) {
+            log.error("an error happened during package import", e);
+            allResponses.add(new SimpleDistributionResponse(DistributionRequestState.DROPPED, e.toString()));
+        }
+    }
+
+    @Override
+    public List<DistributionResponse> getAllResponses() {
+        return allResponses;
+    }
+
+    @Override
+    public int getPackagesCount() {
+        return packagesCount.get();
+    }
+
+    @Override
+    public long getPackagesSize() {
+        return packagesSize.get();
+    }
+}

Propchange: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueingDistributionPackageProcessor.java (from r1782304, sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessor.java)
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueingDistributionPackageProcessor.java?p2=sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueingDistributionPackageProcessor.java&p1=sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessor.java&r1=1782304&r2=1782306&rev=1782306&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessor.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueingDistributionPackageProcessor.java Thu Feb  9 10:31:55 2017
@@ -46,20 +46,24 @@ import org.apache.sling.distribution.que
  * The package exporter callback function is responsible to process the exported packages.
  * The exported packages are scheduled for import by passing them to a {@link DistributionQueueDispatchingStrategy}.
  */
-class DistributionPackageExporterProcessor implements DistributionPackageProcessor {
+class QueueingDistributionPackageProcessor implements DistributionPackageProcessor {
 
+    // request info
     private final String callingUser;
     private final String requestId;
     private final long requestStartTime;
+    private final String agentName;
+
+    // stats
     private final AtomicInteger packagesCount = new AtomicInteger();
     private final AtomicLong packagesSize = new AtomicLong();
     private final List<DistributionResponse> allResponses = new LinkedList<DistributionResponse>();
 
+    // required components
     private final DistributionEventFactory distributionEventFactory;
     private final DistributionQueueDispatchingStrategy scheduleQueueStrategy;
     private final DistributionQueueProvider queueProvider;
     private final DefaultDistributionLog log;
-    private final String agentName;
 
     public List<DistributionResponse> getAllResponses() {
         return allResponses;
@@ -73,7 +77,7 @@ class DistributionPackageExporterProcess
         return packagesSize.get();
     }
 
-    DistributionPackageExporterProcessor(@Nullable String callingUser, @Nonnull String requestId, long requestStartTime,
+    QueueingDistributionPackageProcessor(@Nullable String callingUser, @Nonnull String requestId, long requestStartTime,
                                          @Nonnull DistributionEventFactory distributionEventFactory,
                                          @Nonnull DistributionQueueDispatchingStrategy scheduleQueueStrategy,
                                          @Nonnull DistributionQueueProvider queueProvider, @Nonnull DefaultDistributionLog log,
@@ -104,7 +108,8 @@ class DistributionPackageExporterProcess
                 distributionPackage.getInfo().getPaths(), endTime - startTime, responses.size());
     }
 
-    private Collection<SimpleDistributionResponse> scheduleImportPackage(DistributionPackage distributionPackage, String callingUser, String requestId, long startTime) {
+    private Collection<SimpleDistributionResponse> scheduleImportPackage(DistributionPackage distributionPackage, String callingUser,
+                                                                         String requestId, long startTime) {
         Collection<SimpleDistributionResponse> distributionResponses = new LinkedList<SimpleDistributionResponse>();
 
         // dispatch the distribution package to one or more queues

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java?rev=1782306&r1=1782305&r2=1782306&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java Thu Feb  9 10:31:55 2017
@@ -18,13 +18,6 @@
  */
 package org.apache.sling.distribution.agent.impl;
 
-import javax.annotation.Nonnull;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.concurrent.atomic.AtomicInteger;
-
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.distribution.DistributionRequest;
@@ -45,6 +38,7 @@ import org.apache.sling.distribution.log
 import org.apache.sling.distribution.packaging.DistributionPackage;
 import org.apache.sling.distribution.packaging.DistributionPackageExporter;
 import org.apache.sling.distribution.packaging.DistributionPackageImporter;
+import org.apache.sling.distribution.packaging.DistributionPackageProcessor;
 import org.apache.sling.distribution.queue.DistributionQueue;
 import org.apache.sling.distribution.queue.DistributionQueueProcessor;
 import org.apache.sling.distribution.queue.DistributionQueueProvider;
@@ -55,6 +49,13 @@ import org.apache.sling.distribution.tri
 import org.apache.sling.distribution.util.impl.DistributionUtils;
 import org.apache.sling.jcr.api.SlingRepository;
 
+import javax.annotation.Nonnull;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+import java.util.concurrent.atomic.AtomicInteger;
+
 /**
  * Basic implementation of a {@link org.apache.sling.distribution.agent.DistributionAgent}
  */
@@ -205,9 +206,15 @@ public class SimpleDistributionAgent imp
     private CompositeDistributionResponse exportPackages(ResourceResolver agentResourceResolver, DistributionRequest distributionRequest, String callingUser, String requestId) throws DistributionException {
         final long startTime = System.currentTimeMillis();
         // callback function
-        DistributionPackageExporterProcessor packageProcessor = new DistributionPackageExporterProcessor(callingUser, requestId, startTime,
-                distributionEventFactory, scheduleQueueStrategy, queueProvider, log, name);
-
+        DistributionPackageProcessor packageProcessor;
+        if (DistributionRequestType.TEST.equals(distributionRequest.getRequestType())) {
+            // test packages do not get passed to the queues and get imported immediately
+            packageProcessor = new ImportingDistributionPackageProcessor(distributionPackageImporter, agentAuthenticationInfo,
+                    callingUser, requestId, log);
+        } else {
+            packageProcessor = new QueueingDistributionPackageProcessor(callingUser, requestId, startTime,
+                    distributionEventFactory, scheduleQueueStrategy, queueProvider, log, name);
+        }
         // export packages
         distributionPackageExporter.exportPackages(agentResourceResolver, distributionRequest, packageProcessor);
 
@@ -355,6 +362,7 @@ public class SimpleDistributionAgent imp
 
     /**
      * check whether the given request type can be handled by the current agent
+     *
      * @param request a distribution request
      * @return {@code true} if request can be executed, {@code false} otherwise.
      */
@@ -378,6 +386,7 @@ public class SimpleDistributionAgent imp
 
     /**
      * check whether a certain request paths can be distributed via this agent
+     *
      * @param request a distribution request
      * @return {@code true} if request can be executed, {@code false} otherwise.
      */

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageProcessor.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageProcessor.java?rev=1782306&r1=1782305&r2=1782306&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageProcessor.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageProcessor.java Thu Feb  9 10:31:55 2017
@@ -19,6 +19,10 @@
 
 package org.apache.sling.distribution.packaging;
 
+import org.apache.sling.distribution.DistributionResponse;
+
+import java.util.List;
+
 /**
  * A callback function used to process packages
  */
@@ -29,4 +33,10 @@ public interface DistributionPackageProc
      * @param distributionPackage the distribution package
      */
     void process(DistributionPackage distributionPackage);
+
+    List<DistributionResponse> getAllResponses();
+
+    int getPackagesCount();
+
+    long getPackagesSize();
 }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java?rev=1782306&r1=1782305&r2=1782306&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java Thu Feb  9 10:31:55 2017
@@ -21,6 +21,7 @@ package org.apache.sling.distribution.se
 import javax.servlet.ServletException;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.commons.io.IOUtils;
@@ -31,6 +32,7 @@ import org.apache.sling.api.SlingHttpSer
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.servlets.SlingAllMethodsServlet;
 import org.apache.sling.distribution.DistributionRequest;
+import org.apache.sling.distribution.DistributionResponse;
 import org.apache.sling.distribution.common.DistributionException;
 import org.apache.sling.distribution.packaging.DistributionPackageProcessor;
 import org.apache.sling.distribution.packaging.impl.DistributionPackageUtils;
@@ -121,6 +123,21 @@ public class DistributionPackageExporter
                     response.setStatus(200);
                     log.debug("exported package {} was sent (and deleted={}), bytes written {}", new Object[]{packageId, delete, bytesCopied});
                 }
+
+                @Override
+                public List<DistributionResponse> getAllResponses() {
+                    return null;
+                }
+
+                @Override
+                public int getPackagesCount() {
+                    return 0;
+                }
+
+                @Override
+                public long getPackagesSize() {
+                    return 0;
+                }
             });
 
             if (fetched.get() > 0) {

Added: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessorTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessorTest.java?rev=1782306&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessorTest.java (added)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessorTest.java Thu Feb  9 10:31:55 2017
@@ -0,0 +1,119 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.distribution.agent.impl;
+
+import org.apache.sling.api.resource.ResourceResolverFactory;
+import org.apache.sling.distribution.DistributionRequestType;
+import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
+import org.apache.sling.distribution.packaging.DistributionPackage;
+import org.apache.sling.distribution.packaging.DistributionPackageImporter;
+import org.apache.sling.distribution.packaging.DistributionPackageInfo;
+import org.apache.sling.jcr.api.SlingRepository;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+/**
+ * Tests for {@link ImportingDistributionPackageProcessor}
+ */
+public class ImportingDistributionPackageProcessorTest {
+
+    @Test
+    public void testProcess() throws Exception {
+        DistributionPackageImporter importer = mock(DistributionPackageImporter.class);
+        SlingRepository repository = mock(SlingRepository.class);
+        String agentService = "agentService";
+        ResourceResolverFactory resourceResolverFactory = mock(ResourceResolverFactory.class);
+        String subServiceName = "ssn";
+        SimpleDistributionAgentAuthenticationInfo authInfo = new SimpleDistributionAgentAuthenticationInfo(repository,
+                agentService, resourceResolverFactory, subServiceName);
+        String callingUser = "foo";
+        String requestId = "123";
+        DefaultDistributionLog log = mock(DefaultDistributionLog.class);
+        ImportingDistributionPackageProcessor processor = new ImportingDistributionPackageProcessor(importer, authInfo,
+                callingUser, requestId, log);
+        DistributionPackage distributionPackage = mock(DistributionPackage.class);
+
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put(DistributionPackageInfo.PROPERTY_REQUEST_PATHS, "/");
+        map.put(DistributionPackageInfo.PROPERTY_REQUEST_TYPE, DistributionRequestType.TEST);
+
+        DistributionPackageInfo info = new DistributionPackageInfo("foo", map);
+        when(distributionPackage.getInfo()).thenReturn(info);
+        processor.process(distributionPackage);
+    }
+
+    @Test
+    public void testGetAllResponses() throws Exception {
+        DistributionPackageImporter importer = mock(DistributionPackageImporter.class);
+        SlingRepository repository = mock(SlingRepository.class);
+        String agentService = "agentService";
+        ResourceResolverFactory resourceResolverFactory = mock(ResourceResolverFactory.class);
+        String subServiceName = "ssn";
+        SimpleDistributionAgentAuthenticationInfo authInfo = new SimpleDistributionAgentAuthenticationInfo(repository,
+                agentService, resourceResolverFactory, subServiceName);
+        String callingUser = "foo";
+        String requestId = "123";
+        DefaultDistributionLog log = mock(DefaultDistributionLog.class);
+        ImportingDistributionPackageProcessor processor = new ImportingDistributionPackageProcessor(importer, authInfo,
+                callingUser, requestId, log);
+        assertNotNull(processor.getAllResponses());
+        assertTrue(processor.getAllResponses().isEmpty());
+
+    }
+
+    @Test
+    public void testGetPackagesCount() throws Exception {
+        DistributionPackageImporter importer = mock(DistributionPackageImporter.class);
+        SlingRepository repository = mock(SlingRepository.class);
+        String agentService = "agentService";
+        ResourceResolverFactory resourceResolverFactory = mock(ResourceResolverFactory.class);
+        String subServiceName = "ssn";
+        SimpleDistributionAgentAuthenticationInfo authInfo = new SimpleDistributionAgentAuthenticationInfo(repository,
+                agentService, resourceResolverFactory, subServiceName);
+        String callingUser = "foo";
+        String requestId = "123";
+        DefaultDistributionLog log = mock(DefaultDistributionLog.class);
+        ImportingDistributionPackageProcessor processor = new ImportingDistributionPackageProcessor(importer, authInfo,
+                callingUser, requestId, log);
+        assertEquals(0, processor.getPackagesCount());
+    }
+
+    @Test
+    public void testGetPackagesSize() throws Exception {
+        DistributionPackageImporter importer = mock(DistributionPackageImporter.class);
+        SlingRepository repository = mock(SlingRepository.class);
+        String agentService = "agentService";
+        ResourceResolverFactory resourceResolverFactory = mock(ResourceResolverFactory.class);
+        String subServiceName = "ssn";
+        SimpleDistributionAgentAuthenticationInfo authInfo = new SimpleDistributionAgentAuthenticationInfo(repository,
+                agentService, resourceResolverFactory, subServiceName);
+        String callingUser = "foo";
+        String requestId = "123";
+        DefaultDistributionLog log = mock(DefaultDistributionLog.class);
+        ImportingDistributionPackageProcessor processor = new ImportingDistributionPackageProcessor(importer, authInfo,
+                callingUser, requestId, log);
+        assertEquals(0, processor.getPackagesSize());
+    }
+}
\ No newline at end of file

Propchange: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/QueueingDistributionPackageProcessorTest.java (from r1782304, sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessorTest.java)
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/QueueingDistributionPackageProcessorTest.java?p2=sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/QueueingDistributionPackageProcessorTest.java&p1=sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessorTest.java&r1=1782304&r2=1782306&rev=1782306&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessorTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/QueueingDistributionPackageProcessorTest.java Thu Feb  9 10:31:55 2017
@@ -39,9 +39,9 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 /**
- * Tests for {@link DistributionPackageExporterProcessor}
+ * Tests for {@link QueueingDistributionPackageProcessor}
  */
-public class DistributionPackageExporterProcessorTest {
+public class QueueingDistributionPackageProcessorTest {
 
     @Test
     public void testGetAllResponses() throws Exception {
@@ -53,7 +53,7 @@ public class DistributionPackageExporter
         DistributionQueueProvider queueProvider = mock(DistributionQueueProvider.class);
         DefaultDistributionLog log = mock(DefaultDistributionLog.class);
         String agentName = "dummy";
-        DistributionPackageExporterProcessor exporterProcessor = new DistributionPackageExporterProcessor(callingUser, requestId,
+        QueueingDistributionPackageProcessor exporterProcessor = new QueueingDistributionPackageProcessor(callingUser, requestId,
                 startTime, eventFactory, scheduleQueueStrategy, queueProvider, log, agentName);
 
         List<DistributionResponse> allResponses = exporterProcessor.getAllResponses();
@@ -71,7 +71,7 @@ public class DistributionPackageExporter
         DistributionQueueProvider queueProvider = mock(DistributionQueueProvider.class);
         DefaultDistributionLog log = mock(DefaultDistributionLog.class);
         String agentName = "dummy";
-        DistributionPackageExporterProcessor exporterProcessor = new DistributionPackageExporterProcessor(callingUser, requestId,
+        QueueingDistributionPackageProcessor exporterProcessor = new QueueingDistributionPackageProcessor(callingUser, requestId,
                 startTime, eventFactory, scheduleQueueStrategy, queueProvider, log, agentName);
 
         int packagesCount = exporterProcessor.getPackagesCount();
@@ -89,7 +89,7 @@ public class DistributionPackageExporter
         DistributionQueueProvider queueProvider = mock(DistributionQueueProvider.class);
         DefaultDistributionLog log = mock(DefaultDistributionLog.class);
         String agentName = "dummy";
-        DistributionPackageExporterProcessor exporterProcessor = new DistributionPackageExporterProcessor(callingUser, requestId,
+        QueueingDistributionPackageProcessor exporterProcessor = new QueueingDistributionPackageProcessor(callingUser, requestId,
                 startTime, eventFactory, scheduleQueueStrategy, queueProvider, log, agentName);
 
         long packagesSize = exporterProcessor.getPackagesSize();
@@ -113,7 +113,7 @@ public class DistributionPackageExporter
 
         DefaultDistributionLog log = mock(DefaultDistributionLog.class);
         String agentName = "dummy";
-        DistributionPackageExporterProcessor exporterProcessor = new DistributionPackageExporterProcessor(callingUser, requestId,
+        QueueingDistributionPackageProcessor exporterProcessor = new QueueingDistributionPackageProcessor(callingUser, requestId,
                 startTime, eventFactory, scheduleQueueStrategy, queueProvider, log, agentName);
 
         DistributionPackageInfo info = new DistributionPackageInfo("type-a", new HashMap<String, Object>());

Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterTest.java?rev=1782306&r1=1782305&r2=1782306&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterTest.java Thu Feb  9 10:31:55 2017
@@ -22,6 +22,7 @@ package org.apache.sling.distribution.pa
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.distribution.DistributionRequest;
 import org.apache.sling.distribution.DistributionRequestType;
+import org.apache.sling.distribution.DistributionResponse;
 import org.apache.sling.distribution.SimpleDistributionRequest;
 import org.apache.sling.distribution.agent.DistributionAgent;
 import org.apache.sling.distribution.packaging.DistributionPackageProcessor;
@@ -51,6 +52,21 @@ public class AgentDistributionPackageExp
             public void process(DistributionPackage distributionPackage) {
                 distributionPackages.add(distributionPackage);
             }
+
+            @Override
+            public List<DistributionResponse> getAllResponses() {
+                return null;
+            }
+
+            @Override
+            public int getPackagesCount() {
+                return 0;
+            }
+
+            @Override
+            public long getPackagesSize() {
+                return 0;
+            }
         });
         assertNotNull(distributionPackages);
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterTest.java?rev=1782306&r1=1782305&r2=1782306&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterTest.java Thu Feb  9 10:31:55 2017
@@ -24,6 +24,7 @@ import java.util.List;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.distribution.DistributionRequest;
 import org.apache.sling.distribution.DistributionRequestType;
+import org.apache.sling.distribution.DistributionResponse;
 import org.apache.sling.distribution.SimpleDistributionRequest;
 import org.apache.sling.distribution.packaging.DistributionPackageProcessor;
 import org.apache.sling.distribution.packaging.DistributionPackage;
@@ -54,6 +55,21 @@ public class LocalDistributionPackageExp
             public void process(DistributionPackage distributionPackage) {
                 distributionPackages.add(distributionPackage);
             }
+
+            @Override
+            public List<DistributionResponse> getAllResponses() {
+                return null;
+            }
+
+            @Override
+            public int getPackagesCount() {
+                return 0;
+            }
+
+            @Override
+            public long getPackagesSize() {
+                return 0;
+            }
         });
         assertNotNull(distributionPackages);
         assertEquals(1, distributionPackages.size());

Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java?rev=1782306&r1=1782305&r2=1782306&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java Thu Feb  9 10:31:55 2017
@@ -29,6 +29,7 @@ import java.util.List;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.distribution.DistributionRequest;
 import org.apache.sling.distribution.DistributionRequestType;
+import org.apache.sling.distribution.DistributionResponse;
 import org.apache.sling.distribution.SimpleDistributionRequest;
 import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
 import org.apache.sling.distribution.packaging.DistributionPackage;
@@ -57,6 +58,21 @@ public class RemoteDistributionPackageEx
             public void process(DistributionPackage distributionPackage) {
                 distributionPackages.add(distributionPackage);
             }
+
+            @Override
+            public List<DistributionResponse> getAllResponses() {
+                return null;
+            }
+
+            @Override
+            public int getPackagesCount() {
+                return 0;
+            }
+
+            @Override
+            public long getPackagesSize() {
+                return 0;
+            }
         });
         assertNotNull(distributionPackages);
         assertTrue(distributionPackages.isEmpty());