You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by ij...@apache.org on 2022/08/10 13:45:16 UTC

[kafka] branch trunk updated: KAFKA-13060: Replace EasyMock and PowerMock with Mockito in WorkerGroupMemberTest.java (#12484)

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

ijuma pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 9a3a34cab04 KAFKA-13060: Replace EasyMock and PowerMock with Mockito in WorkerGroupMemberTest.java (#12484)
9a3a34cab04 is described below

commit 9a3a34cab04bd2a7b49ce7b6268ae0dfbc1b0c8e
Author: Divij Vaidya <di...@amazon.com>
AuthorDate: Wed Aug 10 15:45:07 2022 +0200

    KAFKA-13060: Replace EasyMock and PowerMock with Mockito in WorkerGroupMemberTest.java (#12484)
    
    This PR is created on top of #10904 and includes commits from original author for attribution.
    
    ## Testing
    1. `./gradlew connect:runtime:unitTest --tests WorkerGroupMemberTest` is successful.
    2. Verified that test is run as part of `./gradlew connect:runtime:unitTest` (see report in the PR)
    
    Reviewers: Ismael Juma <is...@juma.me.uk>
    
    Co-authored-by: Chun-Hao Tang <ta...@gmail.com>
---
 build.gradle                                       |  2 +-
 .../runtime/distributed/WorkerGroupMemberTest.java | 33 ++++++++--------------
 2 files changed, 12 insertions(+), 23 deletions(-)

diff --git a/build.gradle b/build.gradle
index 01da8cebc4e..afb5f166b27 100644
--- a/build.gradle
+++ b/build.gradle
@@ -408,7 +408,7 @@ subprojects {
       "**/ConnectorsResourceTest.*", "**/DistributedHerderTest.*", "**/FileOffsetBakingStoreTest.*",
       "**/ErrorHandlingTaskTest.*", "**/KafkaConfigBackingStoreTest.*", "**/KafkaOffsetBackingStoreTest.*",
       "**/KafkaBasedLogTest.*", "**/OffsetStorageWriterTest.*", "**/StandaloneHerderTest.*",
-      "**/SourceTaskOffsetCommitterTest.*", "**/WorkerGroupMemberTest.*",
+      "**/SourceTaskOffsetCommitterTest.*",
       "**/WorkerTest.*", "**/WorkerSinkTaskTest.*", "**/WorkerSinkTaskThreadedTest.*",
       "**/WorkerSourceTaskTest.*", "**/AbstractWorkerSourceTaskTest.*", "**/ExactlyOnceWorkerSourceTaskTest.*",
       "**/WorkerTaskTest.*",
diff --git a/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/distributed/WorkerGroupMemberTest.java b/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/distributed/WorkerGroupMemberTest.java
index 05cd01734fe..563d71dbed6 100644
--- a/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/distributed/WorkerGroupMemberTest.java
+++ b/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/distributed/WorkerGroupMemberTest.java
@@ -25,16 +25,12 @@ import org.apache.kafka.common.utils.Time;
 import org.apache.kafka.connect.runtime.MockConnectMetrics;
 import org.apache.kafka.connect.runtime.WorkerConfig;
 import org.apache.kafka.connect.storage.ConfigBackingStore;
-import org.apache.kafka.connect.storage.StatusBackingStore;
 import org.apache.kafka.connect.util.ConnectUtils;
-import org.easymock.EasyMock;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.powermock.api.easymock.PowerMock;
-import org.powermock.api.easymock.annotation.Mock;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.mockito.Mock;
+import org.mockito.MockedStatic;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
@@ -45,15 +41,13 @@ import java.util.Map;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mockStatic;
 
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({ConnectUtils.class})
-@PowerMockIgnore({"javax.management.*", "javax.crypto.*"})
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class WorkerGroupMemberTest {
     @Mock
     private ConfigBackingStore configBackingStore;
-    @Mock
-    private StatusBackingStore statusBackingStore;
 
     @Test
     public void testMetrics() throws Exception {
@@ -72,10 +66,11 @@ public class WorkerGroupMemberTest {
 
         LogContext logContext = new LogContext("[Worker clientId=client-1 + groupId= group-1]");
 
-        expectClusterId();
-
-        member = new WorkerGroupMember(config, "", configBackingStore,
-        null, Time.SYSTEM, "client-1", logContext);
+        try (MockedStatic<ConnectUtils> utilities = mockStatic(ConnectUtils.class)) {
+            utilities.when(() -> ConnectUtils.lookupKafkaClusterId(any())).thenReturn("cluster-1");
+            member = new WorkerGroupMember(config, "", configBackingStore, null, Time.SYSTEM, "client-1", logContext);
+            utilities.verify(() -> ConnectUtils.lookupKafkaClusterId(any()));
+        }     
 
         boolean entered = false;
         for (MetricsReporter reporter : member.metrics().reporters()) {
@@ -94,10 +89,4 @@ public class WorkerGroupMemberTest {
         //verify metric exists with correct prefix
         assertNotNull(server.getObjectInstance(new ObjectName("kafka.connect:type=grp1,client-id=client-1")));
     }
-    private void expectClusterId() {
-        PowerMock.mockStaticPartial(ConnectUtils.class, "lookupKafkaClusterId");
-        EasyMock.expect(ConnectUtils.lookupKafkaClusterId(EasyMock.anyObject())).andReturn("cluster-1").anyTimes();
-        PowerMock.replay(ConnectUtils.class);
-    }
-
 }