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

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit d67eb7b0b2706128bf812ffa9a43c5b12d4104e2
Author: datph <[email protected]>
AuthorDate: Tue Apr 2 15:46:26 2019 +0700

    JAMES-2706 Refactor DeliveryRunnableTest with non-mock metric
---
 .../mailets/remote/delivery/DeliveryRunnable.java  |  3 ++-
 .../remote/delivery/DeliveryRunnableTest.java      | 27 ++++++++++------------
 2 files changed, 14 insertions(+), 16 deletions(-)

diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnable.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnable.java
index b387c6a..d9ffc8c 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnable.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnable.java
@@ -37,6 +37,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.VisibleForTesting;
+
 import reactor.core.Disposable;
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
@@ -47,7 +48,7 @@ public class DeliveryRunnable implements Disposable {
 
     public static final Supplier<Date> CURRENT_DATE_SUPPLIER = Date::new;
     public static final AtomicBoolean DEFAULT_NOT_STARTED = new 
AtomicBoolean(false);
-    private static final String OUTGOING_MAILS = "outgoingMails";
+    public static final String OUTGOING_MAILS = "outgoingMails";
     public static final String REMOTE_DELIVERY_TRIAL = "RemoteDeliveryTrial";
 
     private final MailQueue queue;
diff --git 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnableTest.java
 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnableTest.java
index 25487e5..3fbc51e 100644
--- 
a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnableTest.java
+++ 
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/DeliveryRunnableTest.java
@@ -19,8 +19,9 @@
 
 package org.apache.james.transport.mailets.remote.delivery;
 
+import static 
org.apache.james.transport.mailets.remote.delivery.DeliveryRunnable.OUTGOING_MAILS;
+import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -29,13 +30,10 @@ import static org.mockito.Mockito.when;
 
 import java.time.Duration;
 import java.util.Date;
-import java.util.concurrent.TimeUnit;
 import java.util.function.Supplier;
 
 import org.apache.james.domainlist.api.DomainList;
-import org.apache.james.metrics.api.Metric;
-import org.apache.james.metrics.api.MetricFactory;
-import org.apache.james.metrics.api.NoopMetricFactory;
+import org.apache.james.metrics.tests.RecordingMetricFactory;
 import org.apache.james.queue.api.MailQueue;
 import org.apache.mailet.Mail;
 import org.apache.mailet.base.test.FakeMail;
@@ -54,7 +52,7 @@ public class DeliveryRunnableTest {
     public ExpectedException expectedException = ExpectedException.none();
 
     private DeliveryRunnable testee;
-    private Metric outgoingMailsMetric;
+    private RecordingMetricFactory metricFactory;
     private Bouncer bouncer;
     private MailDelivrer mailDelivrer;
     private MailQueue mailQueue;
@@ -68,14 +66,11 @@ public class DeliveryRunnableTest {
             .build();
 
         RemoteDeliveryConfiguration configuration = new 
RemoteDeliveryConfiguration(mailetConfig, mock(DomainList.class));
-        outgoingMailsMetric = mock(Metric.class);
-        MetricFactory mockMetricFactory = mock(MetricFactory.class);
-        
when(mockMetricFactory.generate(anyString())).thenReturn(outgoingMailsMetric);
-        when(mockMetricFactory.timer(anyString())).thenReturn(new 
NoopMetricFactory.NoopTimeMetric());
+        metricFactory = new RecordingMetricFactory();
         bouncer = mock(Bouncer.class);
         mailDelivrer = mock(MailDelivrer.class);
         mailQueue = mock(MailQueue.class);
-        testee = new DeliveryRunnable(mailQueue, configuration, 
mockMetricFactory, bouncer, mailDelivrer, FIXED_DATE_SUPPLIER);
+        testee = new DeliveryRunnable(mailQueue, configuration, metricFactory, 
bouncer, mailDelivrer, FIXED_DATE_SUPPLIER);
     }
 
     @Test
@@ -85,8 +80,8 @@ public class DeliveryRunnableTest {
 
         testee.attemptDelivery(fakeMail);
 
-        verify(outgoingMailsMetric).increment();
-        verifyNoMoreInteractions(outgoingMailsMetric);
+        assertThat(metricFactory.countFor(OUTGOING_MAILS))
+            .isEqualTo(1);
     }
 
     @Test
@@ -109,7 +104,8 @@ public class DeliveryRunnableTest {
 
         testee.attemptDelivery(fakeMail);
 
-        verifyNoMoreInteractions(outgoingMailsMetric);
+        assertThat(metricFactory.countFor(OUTGOING_MAILS))
+            .isEqualTo(0);
     }
 
     @Test
@@ -120,7 +116,8 @@ public class DeliveryRunnableTest {
 
         testee.attemptDelivery(fakeMail);
 
-        verifyNoMoreInteractions(outgoingMailsMetric);
+        assertThat(metricFactory.countFor(OUTGOING_MAILS))
+            .isEqualTo(0);
     }
 
     @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to