From c859dd2813bc5aed92a0eee58a50d5bd29e0146c Mon Sep 17 00:00:00 2001 From: slfan1989 Date: Sat, 18 Jun 2022 16:29:12 -0700 Subject: [PATCH 1/7] YARN-11187. Remove WhiteBox in yarn module. --- .../launcher/TestContainersLauncher.java | 39 ++++++++++++------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java index f48d785569512..42d9c5eb0f9c5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java @@ -17,8 +17,8 @@ package org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher; +import org.apache.commons.lang3.reflect.FieldUtils; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.test.Whitebox; import org.apache.hadoop.yarn.api.records.ApplicationAttemptId; import org.apache.hadoop.yarn.api.records.ApplicationId; import org.apache.hadoop.yarn.api.records.ContainerId; @@ -39,6 +39,7 @@ import org.mockito.MockitoAnnotations; import java.io.IOException; +import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -125,8 +126,8 @@ public void setup() throws IllegalArgumentException, IllegalAccessException { public void testLaunchContainerEvent() throws IllegalArgumentException, IllegalAccessException { Map dummyMap = - (Map) Whitebox.getInternalState(spy, - "running"); + (Map) FieldUtils.getField(ContainersLauncher.class,"running"). + get(spy); when(event.getType()) .thenReturn(ContainersLauncherEventType.LAUNCH_CONTAINER); assertEquals(0, dummyMap.size()); @@ -141,8 +142,8 @@ public void testLaunchContainerEvent() public void testRelaunchContainerEvent() throws IllegalArgumentException, IllegalAccessException { Map dummyMap = - (Map) Whitebox.getInternalState(spy, - "running"); + (Map) + FieldUtils.getField(ContainersLauncher.class, "running", true).get(spy); when(event.getType()) .thenReturn(ContainersLauncherEventType.RELAUNCH_CONTAINER); assertEquals(0, dummyMap.size()); @@ -161,8 +162,8 @@ public void testRelaunchContainerEvent() public void testRecoverContainerEvent() throws IllegalArgumentException, IllegalAccessException { Map dummyMap = - (Map) Whitebox.getInternalState(spy, - "running"); + (Map) + FieldUtils.getField(ContainersLauncher.class, "running", true).get(spy); when(event.getType()) .thenReturn(ContainersLauncherEventType.RECOVER_CONTAINER); assertEquals(0, dummyMap.size()); @@ -190,9 +191,11 @@ public void testRecoverPausedContainerEvent() public void testCleanupContainerEvent() throws IllegalArgumentException, IllegalAccessException, IOException { Map dummyMap = Collections - .synchronizedMap(new HashMap()); + .synchronizedMap(new HashMap<>()); dummyMap.put(containerId, containerLaunch); - Whitebox.setInternalState(spy, "running", dummyMap); + Field running = FieldUtils.getField(ContainersLauncher.class, "running"); + running.setAccessible(true); + running.set(spy, dummyMap); when(event.getType()) .thenReturn(ContainersLauncherEventType.CLEANUP_CONTAINER); @@ -207,9 +210,11 @@ public void testCleanupContainerEvent() public void testCleanupContainerForReINITEvent() throws IllegalArgumentException, IllegalAccessException, IOException { Map dummyMap = Collections - .synchronizedMap(new HashMap()); + .synchronizedMap(new HashMap<>()); dummyMap.put(containerId, containerLaunch); - Whitebox.setInternalState(spy, "running", dummyMap); + Field running = FieldUtils.getField(ContainersLauncher.class, "running"); + running.setAccessible(true); + running.set(spy, dummyMap); when(event.getType()) .thenReturn(ContainersLauncherEventType.CLEANUP_CONTAINER_FOR_REINIT); @@ -238,7 +243,9 @@ public void testSignalContainerEvent() when(containerId.getApplicationAttemptId().getApplicationId()) .thenReturn(appId); - Whitebox.setInternalState(spy, "running", dummyMap); + Field running = FieldUtils.getField(ContainersLauncher.class, "running"); + running.setAccessible(true); + running.set(spy, dummyMap); when(dummyEvent.getType()) .thenReturn(ContainersLauncherEventType.SIGNAL_CONTAINER); when(dummyEvent.getCommand()) @@ -257,7 +264,9 @@ public void testPauseContainerEvent() Map dummyMap = Collections .synchronizedMap(new HashMap()); dummyMap.put(containerId, containerLaunch); - Whitebox.setInternalState(spy, "running", dummyMap); + Field running = FieldUtils.getField(ContainersLauncher.class, "running"); + running.setAccessible(true); + running.set(spy, dummyMap); when(event.getType()) .thenReturn(ContainersLauncherEventType.PAUSE_CONTAINER); doNothing().when(containerLaunch).pauseContainer(); @@ -272,7 +281,9 @@ public void testResumeContainerEvent() Map dummyMap = Collections .synchronizedMap(new HashMap()); dummyMap.put(containerId, containerLaunch); - Whitebox.setInternalState(spy, "running", dummyMap); + Field running = FieldUtils.getField(ContainersLauncher.class, "running"); + running.setAccessible(true); + running.set(spy, dummyMap); when(event.getType()) .thenReturn(ContainersLauncherEventType.RESUME_CONTAINER); doNothing().when(containerLaunch).resumeContainer(); From b755b9cdb6622046182ee67e8cc28d8dc3d1888c Mon Sep 17 00:00:00 2001 From: slfan1989 Date: Mon, 20 Jun 2022 15:55:03 -0700 Subject: [PATCH 2/7] YARN-11187. Fix CheckStyle. --- .../containermanager/launcher/TestContainersLauncher.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java index 42d9c5eb0f9c5..317ea266e8223 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java @@ -126,8 +126,8 @@ public void setup() throws IllegalArgumentException, IllegalAccessException { public void testLaunchContainerEvent() throws IllegalArgumentException, IllegalAccessException { Map dummyMap = - (Map) FieldUtils.getField(ContainersLauncher.class,"running"). - get(spy); + (Map) FieldUtils. + getField(ContainersLauncher.class,"running").get(spy); when(event.getType()) .thenReturn(ContainersLauncherEventType.LAUNCH_CONTAINER); assertEquals(0, dummyMap.size()); From a2d6eda3ae1d74185b2ceea70bb7ae2afda6fe8b Mon Sep 17 00:00:00 2001 From: slfan1989 Date: Mon, 20 Jun 2022 20:25:50 -0700 Subject: [PATCH 3/7] YARN-11187. Fix CheckStyle. --- .../containermanager/launcher/TestContainersLauncher.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java index 317ea266e8223..5de648d34132a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java @@ -127,7 +127,7 @@ public void testLaunchContainerEvent() throws IllegalArgumentException, IllegalAccessException { Map dummyMap = (Map) FieldUtils. - getField(ContainersLauncher.class,"running").get(spy); + getField(ContainersLauncher.class, "running").get(spy); when(event.getType()) .thenReturn(ContainersLauncherEventType.LAUNCH_CONTAINER); assertEquals(0, dummyMap.size()); From c446ac8849fb56d90a7768de0bf7c3364a201208 Mon Sep 17 00:00:00 2001 From: slfan1989 Date: Sat, 16 Jul 2022 01:40:00 -0700 Subject: [PATCH 4/7] YARN-11187. Remove WhiteBox in yarn module. --- .../launcher/TestContainersLauncher.java | 46 +++++++------------ 1 file changed, 17 insertions(+), 29 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java index 5de648d34132a..3e3c4017fe339 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java @@ -17,7 +17,6 @@ package org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher; -import org.apache.commons.lang3.reflect.FieldUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.yarn.api.records.ApplicationAttemptId; import org.apache.hadoop.yarn.api.records.ApplicationId; @@ -124,10 +123,8 @@ public void setup() throws IllegalArgumentException, IllegalAccessException { @SuppressWarnings("unchecked") @Test public void testLaunchContainerEvent() - throws IllegalArgumentException, IllegalAccessException { - Map dummyMap = - (Map) FieldUtils. - getField(ContainersLauncher.class, "running").get(spy); + throws IllegalArgumentException { + Map dummyMap = spy.running; when(event.getType()) .thenReturn(ContainersLauncherEventType.LAUNCH_CONTAINER); assertEquals(0, dummyMap.size()); @@ -140,10 +137,8 @@ public void testLaunchContainerEvent() @SuppressWarnings("unchecked") @Test public void testRelaunchContainerEvent() - throws IllegalArgumentException, IllegalAccessException { - Map dummyMap = - (Map) - FieldUtils.getField(ContainersLauncher.class, "running", true).get(spy); + throws IllegalArgumentException { + Map dummyMap = spy.running; when(event.getType()) .thenReturn(ContainersLauncherEventType.RELAUNCH_CONTAINER); assertEquals(0, dummyMap.size()); @@ -160,10 +155,8 @@ public void testRelaunchContainerEvent() @SuppressWarnings("unchecked") @Test public void testRecoverContainerEvent() - throws IllegalArgumentException, IllegalAccessException { - Map dummyMap = - (Map) - FieldUtils.getField(ContainersLauncher.class, "running", true).get(spy); + throws IllegalArgumentException { + Map dummyMap = spy.running; when(event.getType()) .thenReturn(ContainersLauncherEventType.RECOVER_CONTAINER); assertEquals(0, dummyMap.size()); @@ -179,7 +172,7 @@ public void testRecoverContainerEvent() @Test public void testRecoverPausedContainerEvent() - throws IllegalArgumentException, IllegalAccessException { + throws IllegalArgumentException { when(event.getType()) .thenReturn(ContainersLauncherEventType.RECOVER_PAUSED_CONTAINER); spy.handle(event); @@ -193,9 +186,8 @@ public void testCleanupContainerEvent() Map dummyMap = Collections .synchronizedMap(new HashMap<>()); dummyMap.put(containerId, containerLaunch); - Field running = FieldUtils.getField(ContainersLauncher.class, "running"); - running.setAccessible(true); - running.set(spy, dummyMap); + spy.running.clear(); + spy.running.putAll(dummyMap); when(event.getType()) .thenReturn(ContainersLauncherEventType.CLEANUP_CONTAINER); @@ -212,9 +204,8 @@ public void testCleanupContainerForReINITEvent() Map dummyMap = Collections .synchronizedMap(new HashMap<>()); dummyMap.put(containerId, containerLaunch); - Field running = FieldUtils.getField(ContainersLauncher.class, "running"); - running.setAccessible(true); - running.set(spy, dummyMap); + spy.running.clear(); + spy.running.putAll(dummyMap); when(event.getType()) .thenReturn(ContainersLauncherEventType.CLEANUP_CONTAINER_FOR_REINIT); @@ -243,9 +234,8 @@ public void testSignalContainerEvent() when(containerId.getApplicationAttemptId().getApplicationId()) .thenReturn(appId); - Field running = FieldUtils.getField(ContainersLauncher.class, "running"); - running.setAccessible(true); - running.set(spy, dummyMap); + spy.running.clear(); + spy.running.putAll(dummyMap); when(dummyEvent.getType()) .thenReturn(ContainersLauncherEventType.SIGNAL_CONTAINER); when(dummyEvent.getCommand()) @@ -264,9 +254,8 @@ public void testPauseContainerEvent() Map dummyMap = Collections .synchronizedMap(new HashMap()); dummyMap.put(containerId, containerLaunch); - Field running = FieldUtils.getField(ContainersLauncher.class, "running"); - running.setAccessible(true); - running.set(spy, dummyMap); + spy.running.clear(); + spy.running.putAll(dummyMap); when(event.getType()) .thenReturn(ContainersLauncherEventType.PAUSE_CONTAINER); doNothing().when(containerLaunch).pauseContainer(); @@ -281,9 +270,8 @@ public void testResumeContainerEvent() Map dummyMap = Collections .synchronizedMap(new HashMap()); dummyMap.put(containerId, containerLaunch); - Field running = FieldUtils.getField(ContainersLauncher.class, "running"); - running.setAccessible(true); - running.set(spy, dummyMap); + spy.running.clear(); + spy.running.putAll(dummyMap); when(event.getType()) .thenReturn(ContainersLauncherEventType.RESUME_CONTAINER); doNothing().when(containerLaunch).resumeContainer(); From b89d8e7523d5e9662337a4eabd8005f2b7181538 Mon Sep 17 00:00:00 2001 From: slfan1989 Date: Sun, 17 Jul 2022 06:28:48 -0700 Subject: [PATCH 5/7] YARN-11187. Remove WhiteBox in yarn module. --- .../containermanager/launcher/TestContainersLauncher.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java index 3e3c4017fe339..e8a65ff34d17e 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java @@ -191,9 +191,9 @@ public void testCleanupContainerEvent() when(event.getType()) .thenReturn(ContainersLauncherEventType.CLEANUP_CONTAINER); - assertEquals(1, dummyMap.size()); + assertEquals(1, spy.running.size()); spy.handle(event); - assertEquals(0, dummyMap.size()); + assertEquals(0, spy.running.size()); Mockito.verify(containerLauncher, Mockito.times(1)) .submit(Mockito.any(ContainerCleanup.class)); } From a5f15d27b1b3a04dc4d12144323901c8e1ea318a Mon Sep 17 00:00:00 2001 From: slfan1989 Date: Sun, 25 Sep 2022 23:38:25 +0800 Subject: [PATCH 6/7] YARN-11187. Fix CheckStyle. --- .../launcher/TestContainersLauncher.java | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java index e8a65ff34d17e..fc71abe49891b 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java @@ -38,7 +38,6 @@ import org.mockito.MockitoAnnotations; import java.io.IOException; -import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -183,11 +182,8 @@ public void testRecoverPausedContainerEvent() @Test public void testCleanupContainerEvent() throws IllegalArgumentException, IllegalAccessException, IOException { - Map dummyMap = Collections - .synchronizedMap(new HashMap<>()); - dummyMap.put(containerId, containerLaunch); spy.running.clear(); - spy.running.putAll(dummyMap); + spy.running.put(containerId, containerLaunch); when(event.getType()) .thenReturn(ContainersLauncherEventType.CLEANUP_CONTAINER); @@ -201,11 +197,8 @@ public void testCleanupContainerEvent() @Test public void testCleanupContainerForReINITEvent() throws IllegalArgumentException, IllegalAccessException, IOException { - Map dummyMap = Collections - .synchronizedMap(new HashMap<>()); - dummyMap.put(containerId, containerLaunch); spy.running.clear(); - spy.running.putAll(dummyMap); + spy.running.put(containerId, containerLaunch); when(event.getType()) .thenReturn(ContainersLauncherEventType.CLEANUP_CONTAINER_FOR_REINIT); @@ -222,9 +215,6 @@ public void testCleanupContainerForReINITEvent() @Test public void testSignalContainerEvent() throws IllegalArgumentException, IllegalAccessException, IOException { - Map dummyMap = Collections - .synchronizedMap(new HashMap()); - dummyMap.put(containerId, containerLaunch); SignalContainersLauncherEvent dummyEvent = mock(SignalContainersLauncherEvent.class); @@ -235,7 +225,7 @@ public void testSignalContainerEvent() .thenReturn(appId); spy.running.clear(); - spy.running.putAll(dummyMap); + spy.running.put(containerId, containerLaunch); when(dummyEvent.getType()) .thenReturn(ContainersLauncherEventType.SIGNAL_CONTAINER); when(dummyEvent.getCommand()) @@ -243,7 +233,7 @@ public void testSignalContainerEvent() doNothing().when(containerLaunch) .signalContainer(SignalContainerCommand.GRACEFUL_SHUTDOWN); spy.handle(dummyEvent); - assertEquals(1, dummyMap.size()); + assertEquals(1, spy.running.size()); Mockito.verify(containerLaunch, Mockito.times(1)) .signalContainer(SignalContainerCommand.GRACEFUL_SHUTDOWN); } From a9c4f1643f0b3782d4f0869bb6f9b3ace9d6f738 Mon Sep 17 00:00:00 2001 From: slfan1989 Date: Mon, 26 Sep 2022 09:46:35 +0800 Subject: [PATCH 7/7] YARN-11187. Fix CheckStyle. --- .../launcher/TestContainersLauncher.java | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java index fc71abe49891b..d1b1650731727 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainersLauncher.java @@ -39,8 +39,6 @@ import java.io.IOException; import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -241,32 +239,26 @@ public void testSignalContainerEvent() @Test public void testPauseContainerEvent() throws IllegalArgumentException, IllegalAccessException, IOException { - Map dummyMap = Collections - .synchronizedMap(new HashMap()); - dummyMap.put(containerId, containerLaunch); spy.running.clear(); - spy.running.putAll(dummyMap); + spy.running.put(containerId, containerLaunch); when(event.getType()) .thenReturn(ContainersLauncherEventType.PAUSE_CONTAINER); doNothing().when(containerLaunch).pauseContainer(); spy.handle(event); - assertEquals(1, dummyMap.size()); + assertEquals(1, spy.running.size()); Mockito.verify(containerLaunch, Mockito.times(1)).pauseContainer(); } @Test public void testResumeContainerEvent() throws IllegalArgumentException, IllegalAccessException, IOException { - Map dummyMap = Collections - .synchronizedMap(new HashMap()); - dummyMap.put(containerId, containerLaunch); spy.running.clear(); - spy.running.putAll(dummyMap); + spy.running.put(containerId, containerLaunch); when(event.getType()) .thenReturn(ContainersLauncherEventType.RESUME_CONTAINER); doNothing().when(containerLaunch).resumeContainer(); spy.handle(event); - assertEquals(1, dummyMap.size()); + assertEquals(1, spy.running.size()); Mockito.verify(containerLaunch, Mockito.times(1)).resumeContainer(); } }