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

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


The following commit(s) were added to refs/heads/master by this push:
     new 54ca001  SLING-12172 - Upgrade to mockito 4 (#127)
54ca001 is described below

commit 54ca001bed542dc39a4527039b459bd4ea93a81a
Author: Christian Schneider <cschn...@adobe.com>
AuthorDate: Fri Dec 1 10:06:42 2023 +0100

    SLING-12172 - Upgrade to mockito 4 (#127)
    
    * SLING-12172 - Upgrade to mockito 4
    
    * SLING-12172 - Update parent and mockito
    
    * SLING-12172 - Fix test, update min version
    
    * SLING-12172 - Downgrade to mockito 4.11.0 because of Java 21 issue
---
 pom.xml                                            |  6 +-
 .../journal/binary/jcr/JcrBinaryStoreTest.java     |  6 +-
 .../journal/bookkeeper/BookKeeperTest.java         | 39 ++-------
 .../bookkeeper/ContentPackageExtractorTest.java    |  4 +-
 .../journal/bookkeeper/LocalStoreJMXTest.java      |  4 +-
 .../journal/bookkeeper/LocalStoreTest.java         |  2 +-
 .../impl/discovery/DiscoveryServiceTest.java       |  4 +-
 .../impl/discovery/TopologyViewManagerTest.java    |  2 +-
 .../journal/impl/discovery/TopologyViewTest.java   |  2 +-
 .../impl/precondition/DefaultPreconditionTest.java |  2 +-
 .../precondition/PackageStatusWatcherTest.java     |  6 +-
 .../impl/precondition/StagingPreconditionTest.java |  6 +-
 .../impl/publisher/DistPublisherJMXTest.java       |  7 +-
 .../DistributedEventNotifierManagerTest.java       | 10 +--
 .../publisher/DistributionPackageFactoryTest.java  | 12 +--
 .../impl/publisher/DistributionPublisherTest.java  | 12 +--
 .../impl/publisher/MessagingCacheCallbackTest.java | 15 +++-
 .../publisher/PackageDistributedNotifierTest.java  |  6 +-
 .../impl/publisher/PackageMessageFactoryTest.java  |  2 +-
 .../impl/publisher/PackageQueuedNotifierTest.java  |  4 +-
 .../publisher/PubQueueProviderPublisherTest.java   |  2 +-
 .../impl/publisher/QueueCacheSeederTest.java       | 10 +--
 .../journal/impl/publisher/RangePollerTest.java    |  7 +-
 .../journal/impl/subscriber/AnnouncerTest.java     |  2 +-
 .../journal/impl/subscriber/CommandPollerTest.java |  6 +-
 .../journal/impl/subscriber/EscapeTest.java        |  2 +-
 .../impl/subscriber/SubscriberIdleCheckTest.java   |  4 +-
 .../impl/subscriber/SubscriberIdleTest.java        |  2 +-
 .../journal/impl/subscriber/SubscriberTest.java    | 93 +++++-----------------
 .../journal/queue/QueueItemFactoryTest.java        |  2 +-
 .../journal/queue/impl/OffsetQueueImplJMXTest.java |  2 +-
 .../journal/queue/impl/OffsetQueueImplTest.java    |  2 +-
 .../journal/queue/impl/PubQueueCacheTest.java      | 15 ++--
 .../journal/queue/impl/PubQueueProviderTest.java   | 13 +--
 .../journal/shared/DefaultDistributionLogTest.java |  2 +-
 .../shared/DistributionLogEventListenerTest.java   |  2 +-
 .../shared/DistributionMetricsServiceTest.java     |  2 +-
 .../journal/shared/ExponentialBackoffTest.java     |  4 +-
 .../PublisherConfigurationAvailableTest.java       |  6 +-
 39 files changed, 124 insertions(+), 205 deletions(-)

diff --git a/pom.xml b/pom.xml
index af3dc54..d5035a6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,7 +40,7 @@
     <description>Implementation of Apache Sling Content Distribution 
components on top of an append-only persisted log</description>
 
     <properties>
-        <sling.java.version>8</sling.java.version>
+        <sling.java.version>11</sling.java.version>
         
<project.build.outputTimestamp>1695375972</project.build.outputTimestamp>
     </properties>
 
@@ -269,8 +269,8 @@
         </dependency>
         <dependency>
             <groupId>org.mockito</groupId>
-            <artifactId>mockito-all</artifactId>
-            <version>1.9.5</version>
+            <artifactId>mockito-core</artifactId>
+            <version>4.11.0</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/binary/jcr/JcrBinaryStoreTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/binary/jcr/JcrBinaryStoreTest.java
index 4e83c32..15cfcde 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/binary/jcr/JcrBinaryStoreTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/binary/jcr/JcrBinaryStoreTest.java
@@ -18,8 +18,8 @@
  */
 package org.apache.sling.distribution.journal.binary.jcr;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
-import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.when;
 
 import java.io.ByteArrayInputStream;
@@ -87,8 +87,8 @@ public class JcrBinaryStoreTest {
     private JcrBinaryStore packageRepo;
 
     @Before
-    public void before() {
-        MockitoAnnotations.initMocks(this);
+    public void before() throws Exception {
+        MockitoAnnotations.openMocks(this).close();
     }
     
     @After
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperTest.java
index 1ddb7b7..818cb7c 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeperTest.java
@@ -21,7 +21,7 @@ package org.apache.sling.distribution.journal.bookkeeper;
 import static java.lang.System.currentTimeMillis;
 import static java.util.Collections.singletonList;
 import static org.hamcrest.CoreMatchers.equalTo;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -31,10 +31,7 @@ import java.util.function.Consumer;
 import org.apache.sling.api.resource.LoginException;
 import org.apache.sling.api.resource.PersistenceException;
 import org.apache.sling.api.resource.ResourceResolverFactory;
-import org.apache.sling.commons.metrics.Counter;
-import org.apache.sling.commons.metrics.Histogram;
-import org.apache.sling.commons.metrics.Meter;
-import org.apache.sling.commons.metrics.Timer;
+import org.apache.sling.commons.metrics.MetricsService;
 import org.apache.sling.distribution.ImportPostProcessor;
 import org.apache.sling.distribution.InvalidationProcessor;
 import org.apache.sling.distribution.common.DistributionException;
@@ -48,8 +45,8 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import static org.mockito.Matchers.any;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
+
 import org.osgi.service.event.EventAdmin;
 
 @RunWith(MockitoJUnitRunner.class)
@@ -61,7 +58,6 @@ public class BookKeeperTest {
 
     private ResourceResolverFactory resolverFactory = new 
MockResourceResolverFactory();
 
-    @Mock
     private DistributionMetricsService distributionMetricsService;
 
     @Mock
@@ -89,32 +85,7 @@ public class BookKeeperTest {
 
     @Before
     public void before() {
-        when(distributionMetricsService.getFailedPackageImports())
-                .thenReturn(mock(Meter.class));
-        when(distributionMetricsService.getImportedPackageDuration())
-                .thenReturn(mock(Timer.class));
-        when(distributionMetricsService.getImportedPackageSize())
-                .thenReturn(mock(Histogram.class));
-        when(distributionMetricsService.getPackageDistributedDuration())
-                .thenReturn(mock(Timer.class));
-        when(distributionMetricsService.getImportPostProcessRequest())
-                .thenReturn(mock(Counter.class));
-        when(distributionMetricsService.getImportPostProcessDuration())
-                .thenReturn(mock(Timer.class));
-        when(distributionMetricsService.getImportPostProcessSuccess())
-                .thenReturn(mock(Counter.class));
-        when(distributionMetricsService.getInvalidationProcessRequest())
-                .thenReturn(mock(Counter.class));
-        when(distributionMetricsService.getInvalidationProcessDuration())
-                .thenReturn(mock(Timer.class));
-        when(distributionMetricsService.getInvalidationProcessSuccess())
-                .thenReturn(mock(Counter.class));
-        when(distributionMetricsService.getTransientImportErrors())
-                .thenReturn(mock(Counter.class));
-        when(distributionMetricsService.getPermanentImportErrors())
-                .thenReturn(mock(Counter.class));
-        
when(distributionMetricsService.getPackageStatusCounter(any(String.class)))
-                .thenReturn(mock(Counter.class));
+        distributionMetricsService = new 
DistributionMetricsService(MetricsService.NOOP);
 
         BookKeeperConfig bkConfig = new BookKeeperConfig("subAgentName", 
"subSlingId", true, 10, PackageHandling.Extract, "package", true);
         bookKeeper = new BookKeeper(resolverFactory, 
distributionMetricsService, packageHandler, eventAdmin, sender, logSender, 
bkConfig,
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractorTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractorTest.java
index a860f9a..1888cf7 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractorTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/ContentPackageExtractorTest.java
@@ -21,7 +21,7 @@ package org.apache.sling.distribution.journal.bookkeeper;
 import static java.util.Collections.singletonList;
 import static 
org.apache.jackrabbit.vault.fs.api.ProgressTrackerListener.Mode.PATHS;
 import static org.apache.sling.api.resource.ResourceUtil.getOrCreateResource;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.never;
@@ -53,7 +53,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.stubbing.Answer;
 
 @RunWith(MockitoJUnitRunner.class)
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/bookkeeper/LocalStoreJMXTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/LocalStoreJMXTest.java
index 63c19c6..b9e894f 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/bookkeeper/LocalStoreJMXTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/LocalStoreJMXTest.java
@@ -20,7 +20,7 @@ package org.apache.sling.distribution.journal.bookkeeper;
 
 import static org.hamcrest.CoreMatchers.containsString;
 import static org.hamcrest.CoreMatchers.equalTo;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.fail;
 
 import java.lang.management.ManagementFactory;
@@ -40,7 +40,7 @@ import 
org.apache.sling.testing.mock.sling.ResourceResolverType;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.osgi.framework.BundleContext;
 
 @RunWith(MockitoJUnitRunner.class)
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/bookkeeper/LocalStoreTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/LocalStoreTest.java
index 286147b..23d623f 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/bookkeeper/LocalStoreTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/bookkeeper/LocalStoreTest.java
@@ -18,10 +18,10 @@
  */
 package org.apache.sling.distribution.journal.bookkeeper;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/discovery/DiscoveryServiceTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/discovery/DiscoveryServiceTest.java
index 62e7ea3..6903df1 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/discovery/DiscoveryServiceTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/discovery/DiscoveryServiceTest.java
@@ -18,8 +18,8 @@
  */
 package org.apache.sling.distribution.journal.impl.discovery;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
-import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -49,7 +49,7 @@ import org.mockito.Captor;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.Spy;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.osgi.framework.BundleContext;
 import org.osgi.service.event.Event;
 import org.osgi.service.event.EventAdmin;
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/discovery/TopologyViewManagerTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/discovery/TopologyViewManagerTest.java
index 2bb3d12..50ca499 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/discovery/TopologyViewManagerTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/discovery/TopologyViewManagerTest.java
@@ -18,10 +18,10 @@
  */
 package org.apache.sling.distribution.journal.impl.discovery;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.containsInAnyOrder;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
 import java.util.Set;
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/discovery/TopologyViewTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/discovery/TopologyViewTest.java
index 60b4704..dafdf23 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/discovery/TopologyViewTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/discovery/TopologyViewTest.java
@@ -20,12 +20,12 @@ package 
org.apache.sling.distribution.journal.impl.discovery;
 
 import static java.lang.Math.abs;
 import static java.util.Arrays.asList;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.containsInAnyOrder;
 import static org.hamcrest.Matchers.equalTo;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
 import java.util.Collections;
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/precondition/DefaultPreconditionTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/precondition/DefaultPreconditionTest.java
index c44bf13..94162e7 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/precondition/DefaultPreconditionTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/precondition/DefaultPreconditionTest.java
@@ -19,7 +19,7 @@
 package org.apache.sling.distribution.journal.impl.precondition;
 
 import static org.hamcrest.CoreMatchers.equalTo;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 import 
org.apache.sling.distribution.journal.impl.precondition.Precondition.Decision;
 import org.junit.Test;
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/precondition/PackageStatusWatcherTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/precondition/PackageStatusWatcherTest.java
index 1af8b6b..24a37ef 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/precondition/PackageStatusWatcherTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/precondition/PackageStatusWatcherTest.java
@@ -19,7 +19,7 @@
 package org.apache.sling.distribution.journal.impl.precondition;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -63,8 +63,8 @@ public class PackageStatusWatcherTest {
     PackageStatusWatcher statusWatcher;
 
     @Before
-    public void before() {
-        MockitoAnnotations.initMocks(this);
+    public void before() throws Exception {
+        MockitoAnnotations.openMocks(this).close();
         when(provider.createPoller(
                 eq(TOPIC_NAME),
                 eq(Reset.earliest),
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/precondition/StagingPreconditionTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/precondition/StagingPreconditionTest.java
index 7262c2c..826dd82 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/precondition/StagingPreconditionTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/precondition/StagingPreconditionTest.java
@@ -19,7 +19,7 @@
 package org.apache.sling.distribution.journal.impl.precondition;
 
 import static org.hamcrest.CoreMatchers.equalTo;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -69,10 +69,10 @@ public class StagingPreconditionTest {
     private MessageHandler<PackageStatusMessage> statusHandler;
 
     @Before
-    public void before() {
+    public void before() throws Exception {
         Awaitility.setDefaultPollDelay(Duration.ZERO);
         Awaitility.setDefaultPollInterval(Duration.ONE_HUNDRED_MILLISECONDS);
-        MockitoAnnotations.initMocks(this);
+        MockitoAnnotations.openMocks(this).close();
 
         when(clientProvider.createPoller(
                 Mockito.anyString(),
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistPublisherJMXTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistPublisherJMXTest.java
index 5ba2231..23aa3c6 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistPublisherJMXTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistPublisherJMXTest.java
@@ -20,8 +20,8 @@ package org.apache.sling.distribution.journal.impl.publisher;
 
 import static java.lang.management.ManagementFactory.getPlatformMBeanServer;
 import static java.util.Arrays.asList;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
-import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.when;
 
@@ -36,7 +36,6 @@ import java.util.stream.Collectors;
 
 import javax.management.MBeanException;
 import javax.management.MBeanServer;
-import javax.management.NotCompliantMBeanException;
 import javax.management.ObjectName;
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.TabularData;
@@ -81,8 +80,8 @@ public class DistPublisherJMXTest {
     
     
     @Before
-    public void before() throws NotCompliantMBeanException {
-        MockitoAnnotations.initMocks(this);
+    public void before() throws Exception {
+        MockitoAnnotations.openMocks(this).close();
         Set<State> states = new HashSet<>(Arrays.asList(
                 new State(AGENT1, "sling1_sub1", 0, 10, 0, -1, false),
                 new State(AGENT1, "sling2_sub1", 0, 15, 0, -1, false),
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributedEventNotifierManagerTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributedEventNotifierManagerTest.java
index ea81aac..7c426d6 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributedEventNotifierManagerTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributedEventNotifierManagerTest.java
@@ -25,15 +25,14 @@ import org.apache.sling.discovery.TopologyView;
 import org.apache.sling.discovery.impl.common.DefaultInstanceDescriptionImpl;
 import org.apache.sling.discovery.impl.topology.TopologyViewImpl;
 import org.apache.sling.distribution.journal.MessagingProvider;
-import 
org.apache.sling.distribution.journal.impl.discovery.TopologyChangeHandler;
 import org.apache.sling.distribution.journal.queue.PubQueueProvider;
 import org.apache.sling.distribution.journal.shared.Topics;
 import org.apache.sling.testing.mock.osgi.MockOsgi;
 import org.apache.sling.testing.resourceresolver.MockResourceResolverFactory;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.InjectMocks;
 import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
 import org.mockito.Spy;
 import org.osgi.framework.BundleContext;
 import org.osgi.service.event.EventAdmin;
@@ -45,7 +44,6 @@ import java.util.Map;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.MockitoAnnotations.initMocks;
 import static org.osgi.util.converter.Converters.standardConverter;
 
 public class DistributedEventNotifierManagerTest {
@@ -71,11 +69,9 @@ public class DistributedEventNotifierManagerTest {
 
     private final BundleContext context = MockOsgi.newBundleContext();
 
-    private DistributedEventNotifierManager.Configuration config;
-
     @Before
-    public void before() {
-        initMocks(this);
+    public void before() throws Exception {
+        MockitoAnnotations.openMocks(this).close();
     }
 
     @Test
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPackageFactoryTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPackageFactoryTest.java
index 02e568e..bc675e1 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPackageFactoryTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPackageFactoryTest.java
@@ -20,13 +20,13 @@ package 
org.apache.sling.distribution.journal.impl.publisher;
 
 import static java.util.Collections.emptyMap;
 import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.contains;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.notNullValue;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyLong;
-import static org.mockito.Matchers.anyString;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.osgi.util.converter.Converters.standardConverter;
@@ -73,8 +73,8 @@ public class DistributionPackageFactoryTest {
     private PackageMessageFactory publisher;
 
     @Before
-    public void before() {
-        MockitoAnnotations.initMocks(this);
+    public void before() throws Exception {
+        MockitoAnnotations.openMocks(this).close();
         when(packageBuilder.getType()).thenReturn("journal");
         when(slingSettings.getSlingId()).thenReturn("pub1sling");
 
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisherTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisherTest.java
index c7e0838..526c076 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisherTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/DistributionPublisherTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.sling.distribution.journal.impl.publisher;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.contains;
 import static org.hamcrest.Matchers.containsInAnyOrder;
 import static org.hamcrest.Matchers.containsString;
@@ -25,9 +26,9 @@ import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
-import static org.mockito.Matchers.anyString;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -71,7 +72,6 @@ import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
 import org.mockito.InjectMocks;
-import org.mockito.Matchers;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
@@ -150,8 +150,8 @@ public class DistributionPublisherTest {
 
     @SuppressWarnings("unchecked")
     @Before
-    public void before() {
-        MockitoAnnotations.initMocks(this);
+    public void before() throws Exception {
+        MockitoAnnotations.openMocks(this).close();
         when(packageBuilder.getType()).thenReturn("journal");
         Map<String, String> props = Collections.singletonMap("name", 
PUB1AGENT1);
         PublisherConfiguration config = 
Converters.standardConverter().convert(props).to(PublisherConfiguration.class);
@@ -275,7 +275,7 @@ public class DistributionPublisherTest {
     @SuppressWarnings("unchecked")
     private void executeAndCheck(DistributionRequest request) throws 
IOException, DistributionException {
         PackageMessage pkg = mockPackage(request);
-        
when(factory.create(Matchers.any(DistributionPackageBuilder.class),Mockito.eq(resourceResolver),
 anyString(), Mockito.eq(request))).thenReturn(pkg);
+        
when(factory.create(any(DistributionPackageBuilder.class),Mockito.eq(resourceResolver),
 anyString(), Mockito.eq(request))).thenReturn(pkg);
         CompletableFuture<Long> callback = 
CompletableFuture.completedFuture(-1L);
         
when(queuedNotifier.registerWait(Mockito.eq(pkg.getPkgId()))).thenReturn(callback);
         
when(distributionMetricsService.getExportedPackageSize()).thenReturn(histogram);
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/MessagingCacheCallbackTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/MessagingCacheCallbackTest.java
index cabbbc5..7b148d5 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/MessagingCacheCallbackTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/MessagingCacheCallbackTest.java
@@ -52,6 +52,7 @@ import org.apache.sling.distribution.journal.queue.QueueState;
 import org.apache.sling.distribution.journal.shared.DistributionMetricsService;
 import org.apache.sling.distribution.journal.shared.TestMessageInfo;
 import org.apache.sling.distribution.journal.shared.Topics;
+import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -60,7 +61,7 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.Spy;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class MessagingCacheCallbackTest {
@@ -108,6 +109,12 @@ public class MessagingCacheCallbackTest {
     
     @Captor
     private ArgumentCaptor<ClearCommand> clearCommandCaptor;
+    
+    @Before
+    public void before() {
+        callback = new MessagingCacheCallback(messagingProvider, "package", 
+                distributionMetricsService, discovery, (command) -> 
sender.accept(command));
+    }
 
     @Test
     public void testCreateConsumer() throws Exception {
@@ -121,10 +128,10 @@ public class MessagingCacheCallbackTest {
     @Test
     public void testFetchRange() throws Exception {
         
when(distributionMetricsService.getQueueCacheFetchCount()).thenReturn(counter);
-        when(messagingProvider.assignTo(Mockito.eq(10l))).thenReturn("0:10");
+        when(messagingProvider.assignTo(10L)).thenReturn("0:10");
         CompletableFuture<List<FullMessage<PackageMessage>>> result = 
CompletableFuture.supplyAsync(this::fetch);
-        verify(messagingProvider, timeout(100000)).createPoller(
-                Mockito.anyString(), 
+        verify(messagingProvider, timeout(1000)).createPoller(
+                Mockito.eq("package"), 
                 Mockito.eq(Reset.earliest), 
                 Mockito.eq("0:10"),
                 handlerCaptor.capture());
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageDistributedNotifierTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageDistributedNotifierTest.java
index 3339859..d330376 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageDistributedNotifierTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageDistributedNotifierTest.java
@@ -41,13 +41,11 @@ import org.osgi.service.event.EventAdmin;
 
 import java.io.Closeable;
 import java.net.URI;
-import java.net.URISyntaxException;
 import java.util.Collections;
 import java.util.HashSet;
 
 import static java.util.Arrays.asList;
 import static org.mockito.Mockito.*;
-import static org.mockito.MockitoAnnotations.initMocks;
 
 public class PackageDistributedNotifierTest {
 
@@ -99,8 +97,8 @@ public class PackageDistributedNotifierTest {
     private PackageDistributedNotifier notifier;
 
     @Before
-    public void before() throws URISyntaxException {
-        initMocks(this);
+    public void before() throws Exception {
+        MockitoAnnotations.openMocks(this).close();
         when(callback.createConsumer(handlerCaptor.capture()))
                 .thenReturn(poller);
         when(messagingProvider.createPoller(
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageMessageFactoryTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageMessageFactoryTest.java
index 8938eec..9b86b5b 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageMessageFactoryTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageMessageFactoryTest.java
@@ -39,7 +39,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import static java.util.Collections.emptyMap;
 import static java.util.Collections.singletonMap;
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageQueuedNotifierTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageQueuedNotifierTest.java
index 04b13ca..f3388be 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageQueuedNotifierTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PackageQueuedNotifierTest.java
@@ -47,8 +47,8 @@ public class PackageQueuedNotifierTest {
     private EventAdmin eventAdmin;
 
     @Before
-    public void before() {
-        MockitoAnnotations.initMocks(this);
+    public void before() throws Exception {
+        MockitoAnnotations.openMocks(this).close();
     }
 
     @Test
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PubQueueProviderPublisherTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PubQueueProviderPublisherTest.java
index 00df5e6..a74b9fd 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PubQueueProviderPublisherTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/PubQueueProviderPublisherTest.java
@@ -33,7 +33,7 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.Spy;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceRegistration;
 
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/QueueCacheSeederTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/QueueCacheSeederTest.java
index 8a3cf76..a9c6fee 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/QueueCacheSeederTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/QueueCacheSeederTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.sling.distribution.journal.impl.publisher;
 
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.timeout;
 import static org.mockito.Mockito.verify;
@@ -33,9 +34,8 @@ import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
 import org.mockito.Mock;
-import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class QueueCacheSeederTest {
@@ -49,8 +49,8 @@ public class QueueCacheSeederTest {
     private QueueCacheSeeder seeder;
 
     @Before
-    public void before() {
-        MockitoAnnotations.initMocks(this);
+    public void before() throws Exception {
+        MockitoAnnotations.openMocks(this).close();
         doNothing().when(sender).send(pkgMsgCaptor.capture());
         seeder = new QueueCacheSeeder(sender);
     }
@@ -59,7 +59,7 @@ public class QueueCacheSeederTest {
     public void testSeeding() throws IOException {
         seeder.startSeeding();
         
-        verify(sender, timeout(1000)).send(Mockito.anyObject());
+        verify(sender, timeout(1000)).send(any());
     }
 
     @After
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/RangePollerTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/RangePollerTest.java
index f7ddcc0..31a4425 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/publisher/RangePollerTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/publisher/RangePollerTest.java
@@ -19,10 +19,9 @@
 package org.apache.sling.distribution.journal.impl.publisher;
 
 import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.samePropertyValuesAs;
-import static org.junit.Assert.assertThat;
 
-import java.io.IOException;
 import java.util.Arrays;
 import java.util.List;
 
@@ -51,9 +50,9 @@ public class RangePollerTest {
     private ArgumentCaptor<HandlerAdapter<PackageMessage>> handlerCaptor;
     
     @Before
-    public void before() throws IOException {
+    public void before() throws Exception {
         clientProvider = new InMemoryProvider();
-        MockitoAnnotations.initMocks(this);
+        MockitoAnnotations.openMocks(this).close();
     }
 
     @Test
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/AnnouncerTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/AnnouncerTest.java
index f582abe..6d72795 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/AnnouncerTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/AnnouncerTest.java
@@ -18,8 +18,8 @@
  */
 package org.apache.sling.distribution.journal.impl.subscriber;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
-import static org.junit.Assert.assertThat;
 import static org.mockito.ArgumentCaptor.forClass;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/CommandPollerTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/CommandPollerTest.java
index bb26102..1bfb978 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/CommandPollerTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/CommandPollerTest.java
@@ -19,7 +19,7 @@
 package org.apache.sling.distribution.journal.impl.subscriber;
 
 import static org.hamcrest.CoreMatchers.equalTo;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -76,10 +76,10 @@ public class CommandPollerTest {
     private MessageInfo info;
 
     @Before
-    public void before() {
+    public void before() throws Exception {
         Awaitility.setDefaultPollDelay(Duration.ZERO);
         Awaitility.setDefaultPollInterval(Duration.ONE_HUNDRED_MILLISECONDS);
-        MockitoAnnotations.initMocks(this);
+        MockitoAnnotations.openMocks(this).close();
         info = new TestMessageInfo("topic", 0, 0, 0);
     }
 
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/EscapeTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/EscapeTest.java
index f38bf7f..22f3e1c 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/EscapeTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/EscapeTest.java
@@ -19,7 +19,7 @@
 package org.apache.sling.distribution.journal.impl.subscriber;
 
 import static org.hamcrest.CoreMatchers.equalTo;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 import java.net.URI;
 import java.net.URISyntaxException;
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberIdleCheckTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberIdleCheckTest.java
index ea0a373..6f18881 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberIdleCheckTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberIdleCheckTest.java
@@ -21,8 +21,8 @@ package org.apache.sling.distribution.journal.impl.subscriber;
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.notNullValue;
 import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.when;
 
 import org.apache.felix.hc.api.HealthCheck;
@@ -32,7 +32,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberIdleTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberIdleTest.java
index 2035bfe..88db4b2 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberIdleTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/impl/subscriber/SubscriberIdleTest.java
@@ -20,7 +20,7 @@ package org.apache.sling.distribution.journal.impl.subscriber;
 
 import static 
org.apache.sling.distribution.journal.impl.subscriber.SubscriberIdle.MAX_RETRIES;
 import static org.hamcrest.CoreMatchers.equalTo;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 import java.util.concurrent.atomic.AtomicBoolean;
 
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 753378a..ac1cbf2 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
@@ -26,14 +26,12 @@ import static 
org.apache.sling.distribution.event.DistributionEventProperties.DI
 import static 
org.apache.sling.distribution.event.DistributionEventProperties.DISTRIBUTION_TYPE;
 import static org.awaitility.Awaitility.await;
 import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.lessThan;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyLong;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.atLeastOnce;
+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.timeout;
 import static org.mockito.Mockito.times;
@@ -60,10 +58,7 @@ import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.api.resource.ResourceUtil;
-import org.apache.sling.commons.metrics.Counter;
-import org.apache.sling.commons.metrics.Histogram;
-import org.apache.sling.commons.metrics.Meter;
-import org.apache.sling.commons.metrics.Timer;
+import org.apache.sling.commons.metrics.MetricsService;
 import org.apache.sling.distribution.ImportPostProcessException;
 import org.apache.sling.distribution.ImportPostProcessor;
 import org.apache.sling.distribution.agent.DistributionAgentState;
@@ -100,14 +95,15 @@ import org.awaitility.Duration;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
 import org.mockito.Spy;
 import org.mockito.invocation.InvocationOnMock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.stubbing.Answer;
 import org.mockito.stubbing.OngoingStubbing;
 import org.osgi.framework.BundleContext;
@@ -116,6 +112,7 @@ import org.osgi.service.event.EventAdmin;
 import org.osgi.util.converter.Converters;
 
 @SuppressWarnings("unchecked")
+@RunWith(MockitoJUnitRunner.class)
 public class SubscriberTest {
 
     private static final String SUB1_SLING_ID = "sub1sling";
@@ -180,8 +177,8 @@ public class SubscriberTest {
     @Mock
     private MessageSender<PackageStatusMessage> statusSender;
 
-    @Mock
-    private DistributionMetricsService distributionMetricsService;
+    @Spy
+    private DistributionMetricsService distributionMetricsService = new 
DistributionMetricsService(MetricsService.NOOP);
     
     @Spy
     private ImportPostProcessor importPostProcessor = new 
NoOpImportPostProcessor();
@@ -227,39 +224,27 @@ public class SubscriberTest {
         
         Awaitility.setDefaultPollDelay(Duration.ZERO);
         Awaitility.setDefaultPollInterval(Duration.ONE_HUNDRED_MILLISECONDS);
-        MockitoAnnotations.initMocks(this);
         when(packageBuilder.getType()).thenReturn("journal");
         when(slingSettings.getSlingId()).thenReturn(SUB1_SLING_ID);
 
-        mockMetrics();
         URI serverURI = new URI("http://myserver.apache.org:1234/somepath";);
         when(clientProvider.getServerUri()).thenReturn(serverURI);
-        
when(clientProvider.<PackageStatusMessage>createSender(Mockito.eq(topics.getStatusTopic()))).thenReturn(statusSender);
-        
when(clientProvider.<DiscoveryMessage>createSender(Mockito.eq(topics.getDiscoveryTopic()))).thenReturn(discoverySender);
+        
when(clientProvider.<PackageStatusMessage>createSender(topics.getStatusTopic())).thenReturn(statusSender);
+        
when(clientProvider.<DiscoveryMessage>createSender(topics.getDiscoveryTopic())).thenReturn(discoverySender);
 
-        when(clientProvider.createPoller(
-                Mockito.eq(topics.getPackageTopic()),
-                Mockito.eq(Reset.latest), 
-                Mockito.anyString(),
-                packageCaptor.capture(),
-                pingCaptor.capture()))
-            .thenReturn(poller);
-        
         when(clientProvider.createPoller(
                 Mockito.eq(topics.getCommandTopic()),
                 Mockito.eq(Reset.earliest), 
                 commandCaptor.capture()))
             .thenReturn(commandPoller);
         
-        when(context.registerService(any(Class.class), eq(subscriber), 
any(Dictionary.class))).thenReturn(reg);
-
         // you should call initSubscriber in each test method
     }
 
     @After
     public void after() throws IOException {
         subscriber.deactivate();
-        verify(poller, atLeastOnce()).close();
+        //verify(poller, atLeastOnce()).close();
     }
     
     @Test
@@ -400,7 +385,6 @@ public class SubscriberTest {
     
     @Test
     public void testPreconditionTimeoutExceptionBecauseOfShutdown() throws 
DistributionException, InterruptedException, TimeoutException, IOException {
-        when(precondition.canProcess(eq(SUB1_AGENT_NAME), 
anyLong())).thenReturn(Decision.WAIT);
         initSubscriber(Collections.singletonMap("editable", "true"));
         long startedAt = System.currentTimeMillis();
 
@@ -428,7 +412,7 @@ public class SubscriberTest {
     }
     
     private void verifyNoStatusMessageSent() {
-        verify(statusSender, times(0)).accept(anyObject());
+        verify(statusSender, times(0)).accept(any());
     }
 
     private PackageStatusMessage verifyStatusMessageSentWithStatus(Status 
expectedStatus) {
@@ -485,6 +469,12 @@ public class SubscriberTest {
         SubscriberConfiguration config = 
Converters.standardConverter().convert(props).to(SubscriberConfiguration.class);
         subscriber.bookKeeperFactory = bookKeeperFactory;
         subscriber.activate(config, context, props);
+        verify(clientProvider).createPoller(
+                Mockito.eq(topics.getPackageTopic()),
+                Mockito.eq(Reset.latest), 
+                Mockito.isNull(String.class),
+                packageCaptor.capture(),
+                pingCaptor.capture());
         packageHandler = packageCaptor.getValue().getHandler();
         if ("true".equals(props.get("editable"))) {
             commandHandler = commandCaptor.getValue().getHandler();
@@ -495,49 +485,6 @@ public class SubscriberTest {
         await().atMost(30, SECONDS).until(subscriber::getState, 
equalTo(expectedState));
     }
     
-    private void mockMetrics() {
-        Histogram histogram = Mockito.mock(Histogram.class);
-        Counter counter = Mockito.mock(Counter.class);
-        Meter meter = Mockito.mock(Meter.class);
-        Timer timer = Mockito.mock(Timer.class);
-        Timer.Context timerContext = Mockito.mock(Timer.Context.class);
-        when(timer.time())
-            .thenReturn(timerContext);
-        when(distributionMetricsService.getImportedPackageSize())
-                .thenReturn(histogram);
-        when(distributionMetricsService.getItemsBufferSize())
-                .thenReturn(counter);
-        when(distributionMetricsService.getFailedPackageImports())
-                .thenReturn(meter);
-        when(distributionMetricsService.getRemovedFailedPackageDuration())
-                .thenReturn(timer);
-        when(distributionMetricsService.getRemovedPackageDuration())
-                .thenReturn(timer);
-        when(distributionMetricsService.getImportedPackageDuration())
-                .thenReturn(timer);
-        when(distributionMetricsService.getSendStoredStatusDuration())
-                .thenReturn(timer);
-        when(distributionMetricsService.getProcessQueueItemDuration())
-                .thenReturn(timer);
-        when(distributionMetricsService.getPackageDistributedDuration())
-                .thenReturn(timer);
-        
when(distributionMetricsService.getPackageJournalDistributionDuration())
-                .thenReturn(timer);
-        when(distributionMetricsService.getTransientImportErrors())
-                .thenReturn(counter);
-        when(distributionMetricsService.getPermanentImportErrors())
-                .thenReturn(counter);
-
-        when(distributionMetricsService.getImportPostProcessDuration())
-            .thenReturn(timer);
-        when(distributionMetricsService.getImportPostProcessRequest())
-            .thenReturn(counter);
-        when(distributionMetricsService.getImportPostProcessSuccess())
-            .thenReturn(counter);
-        
when(distributionMetricsService.getPackageStatusCounter(any(String.class)))
-            .thenReturn(counter);
-    }
-
     private void assumeNoPrecondition() {
         try {
             when(precondition.canProcess(eq(SUB1_AGENT_NAME), 
anyLong())).thenReturn(Decision.ACCEPT);
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/queue/QueueItemFactoryTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/queue/QueueItemFactoryTest.java
index b12b494..7159721 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/queue/QueueItemFactoryTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/queue/QueueItemFactoryTest.java
@@ -27,8 +27,8 @@ import static 
org.apache.sling.distribution.packaging.DistributionPackageInfo.PR
 import static 
org.apache.sling.distribution.packaging.DistributionPackageInfo.PROPERTY_REQUEST_PATHS;
 import static 
org.apache.sling.distribution.packaging.DistributionPackageInfo.PROPERTY_REQUEST_TYPE;
 import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.hasItemInArray;
-import static org.junit.Assert.assertThat;
 
 import java.util.Arrays;
 
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/queue/impl/OffsetQueueImplJMXTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/queue/impl/OffsetQueueImplJMXTest.java
index 6884ead..e0955e6 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/queue/impl/OffsetQueueImplJMXTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/queue/impl/OffsetQueueImplJMXTest.java
@@ -18,8 +18,8 @@
  */
 package org.apache.sling.distribution.journal.queue.impl;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
-import static org.junit.Assert.assertThat;
 
 import java.lang.management.ManagementFactory;
 import java.util.Set;
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/queue/impl/OffsetQueueImplTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/queue/impl/OffsetQueueImplTest.java
index ebfedf5..ef57d26 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/queue/impl/OffsetQueueImplTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/queue/impl/OffsetQueueImplTest.java
@@ -18,8 +18,8 @@
  */
 package org.apache.sling.distribution.journal.queue.impl;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
-import static org.junit.Assert.assertThat;
 
 import java.util.Arrays;
 import java.util.Iterator;
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/queue/impl/PubQueueCacheTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/queue/impl/PubQueueCacheTest.java
index 4e2fed3..1badd30 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/queue/impl/PubQueueCacheTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/queue/impl/PubQueueCacheTest.java
@@ -20,9 +20,9 @@ package org.apache.sling.distribution.journal.queue.impl;
 
 import static java.lang.System.currentTimeMillis;
 import static java.util.concurrent.TimeUnit.SECONDS;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.greaterThan;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -54,8 +54,9 @@ import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
 import org.mockito.Mock;
+import org.mockito.Mock.Strictness;
 import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -80,7 +81,7 @@ public class PubQueueCacheTest {
     @Mock
     private QueuedCallback queuedCallback;
 
-    @Mock
+    @Mock(strictness =  Strictness.LENIENT)
     private CacheCallback callback;
 
     @Mock
@@ -135,14 +136,14 @@ public class PubQueueCacheTest {
         assertEquals(100l, cache.getMinOffset());
     }
 
-       @Test
+    @Test
     public void testFetchWithConcurrentConsumer() throws Exception {
-           simulateMessage(tailHandler, 200);
+        simulateMessage(tailHandler, 200);
         // build two consumers for same agent queue, from offset 100
         Future<OffsetQueue<DistributionQueueItem>> consumer1 = 
consumer(PUB_AGENT_NAME_1, 100);
         Future<OffsetQueue<DistributionQueueItem>> consumer2 = 
consumer(PUB_AGENT_NAME_1, 100);
-        when(callback.fetchRange(Mockito.eq(100l), Mockito.eq(200l)))
-        .thenReturn(Arrays.asList(createTestMessage(100, PUB_AGENT_NAME_1, 
ReqType.ADD)));
+        when(callback.fetchRange(100L, 200L))
+            .thenReturn(Arrays.asList(createTestMessage(100, PUB_AGENT_NAME_1, 
ReqType.ADD)));
         OffsetQueue<DistributionQueueItem> q1 = consumer1.get(5, SECONDS);
         OffsetQueue<DistributionQueueItem> q2 = consumer2.get(5, SECONDS);
         assertEquals(q1.getSize(), q2.getSize());
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/queue/impl/PubQueueProviderTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/queue/impl/PubQueueProviderTest.java
index fbaa44b..dbb6dc0 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/queue/impl/PubQueueProviderTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/queue/impl/PubQueueProviderTest.java
@@ -18,9 +18,8 @@
  */
 package org.apache.sling.distribution.journal.queue.impl;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.atLeast;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -42,7 +41,6 @@ import javax.management.ObjectInstance;
 import javax.management.ObjectName;
 import javax.management.ReflectionException;
 
-import org.apache.sling.api.resource.PersistenceException;
 import org.apache.sling.distribution.journal.HandlerAdapter;
 import org.apache.sling.distribution.journal.MessageHandler;
 import org.apache.sling.distribution.journal.MessageInfo;
@@ -112,13 +110,13 @@ public class PubQueueProviderTest {
     private MBeanServer mbeanServer;
     
     @Before
-    public void before() throws PersistenceException {
-        MockitoAnnotations.initMocks(this);
+    public void before() throws Exception {
+        MockitoAnnotations.openMocks(this).close();
         when(callback.createConsumer(handlerCaptor.capture()))
                 .thenReturn(poller);
         when(clientProvider.createPoller(
                 Mockito.eq(Topics.STATUS_TOPIC), 
-                any(Reset.class),
+                Mockito.any(Reset.class),
                 statHandlerCaptor.capture()))
         .thenReturn(statPoller);
         QueueErrors queueErrors = mock(QueueErrors.class);
@@ -132,6 +130,7 @@ public class PubQueueProviderTest {
         verify(poller,  atLeast(1)).close();
     }
     
+    @SuppressWarnings("null")
     @Test
     public void test() throws Exception {
         handler.handle(info(1L), packageMessage("packageid1", 
PUB1_AGENT_NAME));
@@ -164,12 +163,14 @@ public class PubQueueProviderTest {
         assertThat(getAttrib(mbean, "TailOffset"), equalTo(3L));
     }
     
+    @SuppressWarnings("null")
     @Test
     public void testEmptyErrorQueue() throws Exception {
         DistributionQueue queue = queueProvider.getQueue(PUB1_AGENT_NAME, 
SUB_AGENT_ID + "-error");
         assertThat(queue.getStatus().getItemsCount(), equalTo(0));
     }
     
+    @SuppressWarnings("null")
     @Test
     public void testErrorQueue() throws Exception {
         // TODO Test empty error queue when stat but no package for it
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/shared/DefaultDistributionLogTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/shared/DefaultDistributionLogTest.java
index 5b48a64..b186eee 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/shared/DefaultDistributionLogTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/shared/DefaultDistributionLogTest.java
@@ -19,8 +19,8 @@
 package org.apache.sling.distribution.journal.shared;
 
 import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
-import static org.junit.Assert.assertThat;
 
 import java.util.List;
 import java.util.stream.Collectors;
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/shared/DistributionLogEventListenerTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/shared/DistributionLogEventListenerTest.java
index dc23d29..d4fd23b 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/shared/DistributionLogEventListenerTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/shared/DistributionLogEventListenerTest.java
@@ -39,7 +39,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.event.Event;
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/shared/DistributionMetricsServiceTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/shared/DistributionMetricsServiceTest.java
index fc57bf7..f4bdc02 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/shared/DistributionMetricsServiceTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/shared/DistributionMetricsServiceTest.java
@@ -31,7 +31,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class DistributionMetricsServiceTest {
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/shared/ExponentialBackoffTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/shared/ExponentialBackoffTest.java
index 77676ae..3967409 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/shared/ExponentialBackoffTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/shared/ExponentialBackoffTest.java
@@ -21,7 +21,7 @@ package org.apache.sling.distribution.journal.shared;
 import static java.time.Duration.of;
 import static java.time.temporal.ChronoUnit.MILLIS;
 import static org.hamcrest.CoreMatchers.equalTo;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 import java.time.temporal.ChronoUnit;
 import java.util.concurrent.CountDownLatch;
@@ -29,7 +29,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/src/test/java/org/apache/sling/distribution/journal/shared/PublisherConfigurationAvailableTest.java
 
b/src/test/java/org/apache/sling/distribution/journal/shared/PublisherConfigurationAvailableTest.java
index 98ae957..a4dda2a 100644
--- 
a/src/test/java/org/apache/sling/distribution/journal/shared/PublisherConfigurationAvailableTest.java
+++ 
b/src/test/java/org/apache/sling/distribution/journal/shared/PublisherConfigurationAvailableTest.java
@@ -19,7 +19,7 @@
 package org.apache.sling.distribution.journal.shared;
 
 import static org.hamcrest.CoreMatchers.equalTo;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -31,7 +31,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.cm.ConfigurationException;
@@ -65,7 +65,7 @@ public class PublisherConfigurationAvailableTest {
     
     @Test
     public void testConfig() throws ConfigurationException {
-        
when(context.registerService(Mockito.eq(PublisherConfigurationAvailable.class), 
Mockito.eq(configAvailable), Mockito.anyObject()))
+        
when(context.registerService(Mockito.eq(PublisherConfigurationAvailable.class), 
Mockito.eq(configAvailable), Mockito.any()))
             .thenReturn(reg);
         
         configAvailable.updated("any", new Hashtable<>());

Reply via email to