You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by xv...@apache.org on 2022/03/22 21:49:31 UTC

[druid] 01/02: migrate statsd from easymock to mockito

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

xvrl pushed a commit to branch origin/dependabot/maven/com.datadoghq-java-dogstatsd-client-4.0.0
in repository https://gitbox.apache.org/repos/asf/druid.git

commit 5b9601e64efb9c334cb96564e181a3b1c1a9ca96
Author: Xavier Léauté <xv...@apache.org>
AuthorDate: Sat Mar 19 10:41:20 2022 -0700

    migrate statsd from easymock to mockito
---
 extensions-contrib/statsd-emitter/pom.xml          |  4 +-
 .../druid/emitter/statsd/StatsDEmitterTest.java    | 56 +++++++++-------------
 2 files changed, 25 insertions(+), 35 deletions(-)

diff --git a/extensions-contrib/statsd-emitter/pom.xml b/extensions-contrib/statsd-emitter/pom.xml
index 326c459..4523f7e 100644
--- a/extensions-contrib/statsd-emitter/pom.xml
+++ b/extensions-contrib/statsd-emitter/pom.xml
@@ -84,8 +84,8 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymock</artifactId>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/extensions-contrib/statsd-emitter/src/test/java/org/apache/druid/emitter/statsd/StatsDEmitterTest.java b/extensions-contrib/statsd-emitter/src/test/java/org/apache/druid/emitter/statsd/StatsDEmitterTest.java
index ebab54e..e3a0b3c 100644
--- a/extensions-contrib/statsd-emitter/src/test/java/org/apache/druid/emitter/statsd/StatsDEmitterTest.java
+++ b/extensions-contrib/statsd-emitter/src/test/java/org/apache/druid/emitter/statsd/StatsDEmitterTest.java
@@ -27,62 +27,61 @@ import org.apache.druid.java.util.common.DateTimes;
 import org.apache.druid.java.util.emitter.service.AlertBuilder;
 import org.apache.druid.java.util.emitter.service.AlertEvent;
 import org.apache.druid.java.util.emitter.service.ServiceMetricEvent;
-import org.easymock.Capture;
-import org.easymock.EasyMock;
 import org.junit.Assert;
 import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
 
 public class StatsDEmitterTest
 {
   @Test
   public void testConvertRange()
   {
-    StatsDClient client = EasyMock.createMock(StatsDClient.class);
+    StatsDClient client = mock(StatsDClient.class);
     StatsDEmitter emitter = new StatsDEmitter(
         new StatsDEmitterConfig("localhost", 8888, null, null, null, null, null, null, null, null, null),
         new ObjectMapper(),
         client
     );
     client.gauge("broker.query.cache.total.hitRate", 54);
-    EasyMock.replay(client);
     emitter.emit(new ServiceMetricEvent.Builder()
                      .setDimension("dataSource", "data-source")
                      .build(DateTimes.nowUtc(), "query/cache/total/hitRate", 0.54)
                      .build("broker", "brokerHost1")
     );
-    EasyMock.verify(client);
   }
 
   @Test
   public void testConvertRangeWithDogstatsd()
   {
-    StatsDClient client = EasyMock.createMock(StatsDClient.class);
+    StatsDClient client = mock(StatsDClient.class);
     StatsDEmitter emitter = new StatsDEmitter(
         new StatsDEmitterConfig("localhost", 8888, null, null, null, null, null, true, null, null, null),
         new ObjectMapper(),
         client
     );
     client.gauge("broker.query.cache.total.hitRate", 0.54);
-    EasyMock.replay(client);
     emitter.emit(new ServiceMetricEvent.Builder()
                      .setDimension("dataSource", "data-source")
                      .build(DateTimes.nowUtc(), "query/cache/total/hitRate", 0.54)
                      .build("broker", "brokerHost1")
     );
-    EasyMock.verify(client);
   }
 
   @Test
   public void testNoConvertRange()
   {
-    StatsDClient client = EasyMock.createMock(StatsDClient.class);
+    StatsDClient client = mock(StatsDClient.class);
     StatsDEmitter emitter = new StatsDEmitter(
         new StatsDEmitterConfig("localhost", 8888, null, null, null, null, null, null, null, null, null),
         new ObjectMapper(),
         client
     );
     client.time("broker.query.time.data-source.groupBy", 10);
-    EasyMock.replay(client);
     emitter.emit(new ServiceMetricEvent.Builder()
                      .setDimension("dataSource", "data-source")
                      .setDimension("type", "groupBy")
@@ -97,20 +96,18 @@ public class StatsDEmitterTest
                      .build(DateTimes.nowUtc(), "query/time", 10)
                      .build("broker", "brokerHost1")
     );
-    EasyMock.verify(client);
   }
 
   @Test
   public void testConfigOptions()
   {
-    StatsDClient client = EasyMock.createMock(StatsDClient.class);
+    StatsDClient client = mock(StatsDClient.class);
     StatsDEmitter emitter = new StatsDEmitter(
         new StatsDEmitterConfig("localhost", 8888, null, "#", true, null, null, null, null, null, null),
         new ObjectMapper(),
         client
     );
     client.time("brokerHost1#broker#query#time#data-source#groupBy", 10);
-    EasyMock.replay(client);
     emitter.emit(new ServiceMetricEvent.Builder()
                      .setDimension("dataSource", "data-source")
                      .setDimension("type", "groupBy")
@@ -125,13 +122,12 @@ public class StatsDEmitterTest
                      .build(DateTimes.nowUtc(), "query/time", 10)
                      .build("broker", "brokerHost1")
     );
-    EasyMock.verify(client);
   }
 
   @Test
   public void testDogstatsdEnabled()
   {
-    StatsDClient client = EasyMock.createMock(StatsDClient.class);
+    StatsDClient client = mock(StatsDClient.class);
     StatsDEmitter emitter = new StatsDEmitter(
         new StatsDEmitterConfig("localhost", 8888, null, "#", true, null, null, true, null, null, null),
         new ObjectMapper(),
@@ -140,7 +136,6 @@ public class StatsDEmitterTest
     client.time("broker#query#time", 10,
                 "dataSource:data-source", "type:groupBy", "hostname:brokerHost1"
     );
-    EasyMock.replay(client);
     emitter.emit(new ServiceMetricEvent.Builder()
                      .setDimension("dataSource", "data-source")
                      .setDimension("type", "groupBy")
@@ -155,32 +150,29 @@ public class StatsDEmitterTest
                      .build(DateTimes.nowUtc(), "query/time", 10)
                      .build("broker", "brokerHost1")
     );
-    EasyMock.verify(client);
   }
 
   @Test
   public void testBlankHolderOptions()
   {
-    StatsDClient client = EasyMock.createMock(StatsDClient.class);
+    StatsDClient client = mock(StatsDClient.class);
     StatsDEmitter emitter = new StatsDEmitter(
         new StatsDEmitterConfig("localhost", 8888, null, null, true, null, null, null, null, null, null),
         new ObjectMapper(),
         client
     );
     client.count("brokerHost1.broker.jvm.gc.count.G1-GC", 1);
-    EasyMock.replay(client);
     emitter.emit(new ServiceMetricEvent.Builder()
                      .setDimension("gcName", "G1 GC")
                      .build(DateTimes.nowUtc(), "jvm/gc/count", 1)
                      .build("broker", "brokerHost1")
     );
-    EasyMock.verify(client);
   }
 
   @Test
   public void testServiceAsTagOption()
   {
-    StatsDClient client = EasyMock.createMock(StatsDClient.class);
+    StatsDClient client = mock(StatsDClient.class);
     StatsDEmitter emitter = new StatsDEmitter(
             new StatsDEmitterConfig("localhost", 8888, null, null, true, null, null, true, null, true, null),
             new ObjectMapper(),
@@ -189,20 +181,18 @@ public class StatsDEmitterTest
     client.time("druid.query.time", 10,
             "druid_service:druid/broker", "dataSource:data-source", "type:groupBy", "hostname:brokerHost1"
     );
-    EasyMock.replay(client);
     emitter.emit(new ServiceMetricEvent.Builder()
             .setDimension("dataSource", "data-source")
             .setDimension("type", "groupBy")
             .build(DateTimes.nowUtc(), "query/time", 10)
             .build("druid/broker", "brokerHost1")
     );
-    EasyMock.verify(client);
   }
 
   @Test
   public void testAlertEvent()
   {
-    StatsDClient client = EasyMock.createMock(StatsDClient.class);
+    StatsDClient client = mock(StatsDClient.class);
     StatsDEmitter emitter = new StatsDEmitter(
         new StatsDEmitterConfig("localhost", 8888, null, null, true, null, null, true, null, true, true),
         new ObjectMapper(),
@@ -216,20 +206,20 @@ public class StatsDEmitterTest
         .withText("{\"exception\":\"NPE\"}")
         .build();
 
-    Capture<Event> eventCapture = EasyMock.newCapture();
-    client.recordEvent(
-        EasyMock.capture(eventCapture),
-        EasyMock.eq("feed:alerts"), EasyMock.eq("druid_service:druid/broker"),
-        EasyMock.eq("severity:anomaly"), EasyMock.eq("hostname:brokerHost1")
-    );
-    EasyMock.replay(client);
     emitter.emit(AlertBuilder.create("something bad happened [%s]", "exception")
                              .severity(AlertEvent.Severity.ANOMALY)
                              .addData(ImmutableMap.of("exception", "NPE"))
                              .build("druid/broker", "brokerHost1")
     );
-    EasyMock.verify(client);
-    Event actualEvent = eventCapture.getValue();
+
+    final ArgumentCaptor<Event> eventArgumentCaptor = ArgumentCaptor.forClass(Event.class);
+    verify(client).recordEvent(
+        eventArgumentCaptor.capture(),
+        eq("feed:alerts"), eq("druid_service:druid/broker"),
+        eq("severity:anomaly"), eq("hostname:brokerHost1")
+    );
+
+    Event actualEvent = eventArgumentCaptor.getValue();
     Assert.assertTrue(actualEvent.getMillisSinceEpoch() > 0);
     Assert.assertEquals(expectedEvent.getPriority(), actualEvent.getPriority());
     Assert.assertEquals(expectedEvent.getAlertType(), actualEvent.getAlertType());

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org