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

tmaret pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-journal.git

commit 3ecc77a9363ef9353b3a984d1a3b9f545b1ee74c
Author: jckautzmann <[email protected]>
AuthorDate: Tue Jan 28 17:08:02 2025 +0100

    support custom package handler
    
    - fix the IT tests
---
 .../journal/impl/subscriber/SubscriberTest.java    | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java
index 47432a3..9976308 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberTest.java
@@ -33,6 +33,7 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.timeout;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
@@ -65,6 +66,7 @@ import org.apache.sling.distribution.ImportPreProcessor;
 import org.apache.sling.distribution.agent.DistributionAgentState;
 import org.apache.sling.distribution.agent.spi.DistributionAgent;
 import org.apache.sling.distribution.common.DistributionException;
+import org.apache.sling.distribution.journal.BinaryStore;
 import org.apache.sling.distribution.journal.HandlerAdapter;
 import org.apache.sling.distribution.journal.MessageHandler;
 import org.apache.sling.distribution.journal.MessageInfo;
@@ -73,7 +75,11 @@ import 
org.apache.sling.distribution.journal.MessagingProvider;
 import org.apache.sling.distribution.journal.Reset;
 import org.apache.sling.distribution.journal.bookkeeper.BookKeeper;
 import org.apache.sling.distribution.journal.bookkeeper.BookKeeperFactory;
+import 
org.apache.sling.distribution.journal.bookkeeper.ContentPackageExtractor;
 import org.apache.sling.distribution.journal.bookkeeper.LocalStore;
+import org.apache.sling.distribution.journal.bookkeeper.PackageHandler;
+import org.apache.sling.distribution.journal.bookkeeper.PackageHandlerFactory;
+import 
org.apache.sling.distribution.journal.impl.bookkeeper.DefaultPackageHandler;
 import org.apache.sling.distribution.journal.shared.NoOpImportPreProcessor;
 import org.apache.sling.distribution.journal.shared.NoOpImportPostProcessor;
 import org.apache.sling.distribution.journal.impl.precondition.Precondition;
@@ -149,6 +155,9 @@ public class SubscriberTest {
 
     @Mock
     private DistributionPackageBuilder packageBuilder;
+    
+    @Mock
+    private PackageHandlerFactory packageHandlerFactory;
 
     @Mock
     private Precondition precondition;
@@ -234,7 +243,7 @@ public class SubscriberTest {
 
         when(clientProvider.createPoller(
                 Mockito.eq(Topics.COMMAND_TOPIC),
-                Mockito.eq(Reset.earliest), 
+                Mockito.eq(Reset.earliest),
                 commandCaptor.capture()))
             .thenReturn(commandPoller);
         
@@ -257,7 +266,7 @@ public class SubscriberTest {
         PackageMessage message = BASIC_ADD_PACKAGE;
         packageHandler.handle(info, message);
         
-        verify(packageBuilder, 
timeout(1000).times(0)).installPackage(any(ResourceResolver.class), 
+        verify(packageBuilder, 
timeout(1000).times(0)).installPackage(any(ResourceResolver.class),
                 any(ByteArrayInputStream.class));
         assertThat(getStoredOffset(), nullValue());
         for (int c=0; c < BookKeeper.COMMIT_AFTER_NUM_SKIPPED; c++) {
@@ -482,10 +491,17 @@ public class SubscriberTest {
         props.putAll(overrides);
         SubscriberConfiguration config = 
Converters.standardConverter().convert(props).to(SubscriberConfiguration.class);
         subscriber.bookKeeperFactory = bookKeeperFactory;
+        
+        ContentPackageExtractor extractor = 
mock(ContentPackageExtractor.class);
+        BinaryStore binaryStore = mock(BinaryStore.class);
+        PackageHandler defaultPackageHandler = new 
DefaultPackageHandler(packageBuilder, extractor, binaryStore);
+        when(packageHandlerFactory.create(any(), 
any())).thenReturn(defaultPackageHandler);
+        subscriber.packageHandlerFactory = packageHandlerFactory;
+
         subscriber.activate(config, context, props);
         verify(clientProvider).createPoller(
                 Mockito.eq(Topics.PACKAGE_TOPIC),
-                Mockito.eq(Reset.latest), 
+                Mockito.eq(Reset.latest),
                 Mockito.isNull(String.class),
                 packageCaptor.capture(),
                 pingCaptor.capture());

Reply via email to