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]
