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());
