Eliminate use of deprecated mockito methods
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / DataTreeChangeListenerActorTest.java
index 627e434e5b7aab65b8fc3b5059d2e7cf563bd061..a71d99e055380d4acfaf1290d4d4f444ecd91eec 100644 (file)
@@ -7,6 +7,12 @@
  */
 package org.opendaylight.controller.cluster.datastore;
 
+import static org.junit.Assert.assertFalse;
+import static org.mockito.ArgumentMatchers.anyCollection;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
 import static org.opendaylight.controller.md.cluster.datastore.model.TestModel.TEST_PATH;
 
 import akka.actor.ActorRef;
@@ -14,10 +20,9 @@ import akka.actor.DeadLetter;
 import akka.actor.Props;
 import akka.testkit.javadsl.TestKit;
 import com.google.common.collect.ImmutableList;
-import org.junit.Assert;
+import java.time.Duration;
+import org.junit.Before;
 import org.junit.Test;
-import org.mockito.Matchers;
-import org.mockito.Mockito;
 import org.opendaylight.controller.cluster.datastore.messages.DataTreeChanged;
 import org.opendaylight.controller.cluster.datastore.messages.DataTreeChangedReply;
 import org.opendaylight.controller.cluster.datastore.messages.EnableNotification;
@@ -25,119 +30,107 @@ import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
 
 public class DataTreeChangeListenerActorTest extends AbstractActorTest {
+    private TestKit testKit;
+
+    @Before
+    public void before() {
+        testKit = new TestKit(getSystem());
+    }
 
     @Test
     public void testDataChangedWhenNotificationsAreEnabled() {
-        new TestKit(getSystem()) {
-            {
-                final DataTreeCandidate mockTreeCandidate = Mockito.mock(DataTreeCandidate.class);
-                final ImmutableList<DataTreeCandidate> mockCandidates = ImmutableList.of(mockTreeCandidate);
-                final DOMDataTreeChangeListener mockListener = Mockito.mock(DOMDataTreeChangeListener.class);
-                final Props props = DataTreeChangeListenerActor.props(mockListener, TEST_PATH);
-                final ActorRef subject = getSystem().actorOf(props, "testDataTreeChangedNotificationsEnabled");
+        final DataTreeCandidate mockTreeCandidate = mock(DataTreeCandidate.class);
+        final ImmutableList<DataTreeCandidate> mockCandidates = ImmutableList.of(mockTreeCandidate);
+        final DOMDataTreeChangeListener mockListener = mock(DOMDataTreeChangeListener.class);
+        final Props props = DataTreeChangeListenerActor.props(mockListener, TEST_PATH);
+        final ActorRef subject = getSystem().actorOf(props, "testDataTreeChangedNotificationsEnabled");
 
-                // Let the DataChangeListener know that notifications should be
-                // enabled
-                subject.tell(new EnableNotification(true, "test"), getRef());
+        // Let the DataChangeListener know that notifications should be
+        // enabled
+        subject.tell(new EnableNotification(true, "test"), testKit.getRef());
 
-                subject.tell(new DataTreeChanged(mockCandidates), getRef());
+        subject.tell(new DataTreeChanged(mockCandidates), testKit.getRef());
 
-                expectMsgClass(DataTreeChangedReply.class);
+        testKit.expectMsgClass(DataTreeChangedReply.class);
 
-                Mockito.verify(mockListener).onDataTreeChanged(mockCandidates);
-            }
-        };
+        verify(mockListener).onDataTreeChanged(mockCandidates);
     }
 
     @Test
     public void testDataChangedWhenNotificationsAreDisabled() {
-        new TestKit(getSystem()) {
-            {
-                final DataTreeCandidate mockTreeCandidate = Mockito.mock(DataTreeCandidate.class);
-                final ImmutableList<DataTreeCandidate> mockCandidates = ImmutableList.of(mockTreeCandidate);
-                final DOMDataTreeChangeListener mockListener = Mockito.mock(DOMDataTreeChangeListener.class);
-                final Props props = DataTreeChangeListenerActor.props(mockListener, TEST_PATH);
-                final ActorRef subject = getSystem().actorOf(props, "testDataTreeChangedNotificationsDisabled");
-
-                subject.tell(new DataTreeChanged(mockCandidates), getRef());
-
-                within(duration("1 seconds"), () -> {
-                    expectNoMessage();
-                    Mockito.verify(mockListener, Mockito.never())
-                        .onDataTreeChanged(Matchers.anyCollectionOf(DataTreeCandidate.class));
-                    return null;
-                });
-            }
-        };
+        final DataTreeCandidate mockTreeCandidate = mock(DataTreeCandidate.class);
+        final ImmutableList<DataTreeCandidate> mockCandidates = ImmutableList.of(mockTreeCandidate);
+        final DOMDataTreeChangeListener mockListener = mock(DOMDataTreeChangeListener.class);
+        final Props props = DataTreeChangeListenerActor.props(mockListener, TEST_PATH);
+        final ActorRef subject = getSystem().actorOf(props, "testDataTreeChangedNotificationsDisabled");
+
+        subject.tell(new DataTreeChanged(mockCandidates), testKit.getRef());
+
+        testKit.within(Duration.ofSeconds(1), () -> {
+            testKit.expectNoMessage();
+            verify(mockListener, never()).onDataTreeChanged(anyCollection());
+            return null;
+        });
     }
 
     @Test
     public void testDataChangedWithNoSender() {
-        new TestKit(getSystem()) {
-            {
-                final DataTreeCandidate mockTreeCandidate = Mockito.mock(DataTreeCandidate.class);
-                final ImmutableList<DataTreeCandidate> mockCandidates = ImmutableList.of(mockTreeCandidate);
-                final DOMDataTreeChangeListener mockListener = Mockito.mock(DOMDataTreeChangeListener.class);
-                final Props props = DataTreeChangeListenerActor.props(mockListener, TEST_PATH);
-                final ActorRef subject = getSystem().actorOf(props, "testDataTreeChangedWithNoSender");
-
-                getSystem().eventStream().subscribe(getRef(), DeadLetter.class);
-
-                subject.tell(new DataTreeChanged(mockCandidates), ActorRef.noSender());
-
-                // Make sure no DataChangedReply is sent to DeadLetters.
-                while (true) {
-                    DeadLetter deadLetter;
-                    try {
-                        deadLetter = expectMsgClass(duration("1 seconds"), DeadLetter.class);
-                    } catch (AssertionError e) {
-                        // Timed out - got no DeadLetter - this is good
-                        break;
-                    }
-
-                    // We may get DeadLetters for other messages we don't care
-                    // about.
-                    Assert.assertFalse("Unexpected DataTreeChangedReply",
-                            deadLetter.message() instanceof DataTreeChangedReply);
-                }
+        final DataTreeCandidate mockTreeCandidate = mock(DataTreeCandidate.class);
+        final ImmutableList<DataTreeCandidate> mockCandidates = ImmutableList.of(mockTreeCandidate);
+        final DOMDataTreeChangeListener mockListener = mock(DOMDataTreeChangeListener.class);
+        final Props props = DataTreeChangeListenerActor.props(mockListener, TEST_PATH);
+        final ActorRef subject = getSystem().actorOf(props, "testDataTreeChangedWithNoSender");
+
+        getSystem().eventStream().subscribe(testKit.getRef(), DeadLetter.class);
+
+        subject.tell(new DataTreeChanged(mockCandidates), ActorRef.noSender());
+
+        // Make sure no DataChangedReply is sent to DeadLetters.
+        while (true) {
+            DeadLetter deadLetter;
+            try {
+                deadLetter = testKit.expectMsgClass(Duration.ofSeconds(1), DeadLetter.class);
+            } catch (AssertionError e) {
+                // Timed out - got no DeadLetter - this is good
+                break;
             }
-        };
+
+            // We may get DeadLetters for other messages we don't care
+            // about.
+            assertFalse("Unexpected DataTreeChangedReply", deadLetter.message() instanceof DataTreeChangedReply);
+        }
     }
 
     @Test
     public void testDataChangedWithListenerRuntimeEx() {
-        new TestKit(getSystem()) {
-            {
-                final DataTreeCandidate mockTreeCandidate1 = Mockito.mock(DataTreeCandidate.class);
-                final ImmutableList<DataTreeCandidate> mockCandidates1 = ImmutableList.of(mockTreeCandidate1);
-                final DataTreeCandidate mockTreeCandidate2 = Mockito.mock(DataTreeCandidate.class);
-                final ImmutableList<DataTreeCandidate> mockCandidates2 = ImmutableList.of(mockTreeCandidate2);
-                final DataTreeCandidate mockTreeCandidate3 = Mockito.mock(DataTreeCandidate.class);
-                final ImmutableList<DataTreeCandidate> mockCandidates3 = ImmutableList.of(mockTreeCandidate3);
+        final DataTreeCandidate mockTreeCandidate1 = mock(DataTreeCandidate.class);
+        final ImmutableList<DataTreeCandidate> mockCandidates1 = ImmutableList.of(mockTreeCandidate1);
+        final DataTreeCandidate mockTreeCandidate2 = mock(DataTreeCandidate.class);
+        final ImmutableList<DataTreeCandidate> mockCandidates2 = ImmutableList.of(mockTreeCandidate2);
+        final DataTreeCandidate mockTreeCandidate3 = mock(DataTreeCandidate.class);
+        final ImmutableList<DataTreeCandidate> mockCandidates3 = ImmutableList.of(mockTreeCandidate3);
 
-                final DOMDataTreeChangeListener mockListener = Mockito.mock(DOMDataTreeChangeListener.class);
-                Mockito.doThrow(new RuntimeException("mock")).when(mockListener).onDataTreeChanged(mockCandidates2);
+        final DOMDataTreeChangeListener mockListener = mock(DOMDataTreeChangeListener.class);
+        doThrow(new RuntimeException("mock")).when(mockListener).onDataTreeChanged(mockCandidates2);
 
-                Props props = DataTreeChangeListenerActor.props(mockListener, TEST_PATH);
-                ActorRef subject = getSystem().actorOf(props, "testDataTreeChangedWithListenerRuntimeEx");
+        Props props = DataTreeChangeListenerActor.props(mockListener, TEST_PATH);
+        ActorRef subject = getSystem().actorOf(props, "testDataTreeChangedWithListenerRuntimeEx");
 
-                // Let the DataChangeListener know that notifications should be
-                // enabled
-                subject.tell(new EnableNotification(true, "test"), getRef());
+        // Let the DataChangeListener know that notifications should be
+        // enabled
+        subject.tell(new EnableNotification(true, "test"), testKit.getRef());
 
-                subject.tell(new DataTreeChanged(mockCandidates1), getRef());
-                expectMsgClass(DataTreeChangedReply.class);
+        subject.tell(new DataTreeChanged(mockCandidates1), testKit.getRef());
+        testKit.expectMsgClass(DataTreeChangedReply.class);
 
-                subject.tell(new DataTreeChanged(mockCandidates2), getRef());
-                expectMsgClass(DataTreeChangedReply.class);
+        subject.tell(new DataTreeChanged(mockCandidates2), testKit.getRef());
+        testKit.expectMsgClass(DataTreeChangedReply.class);
 
-                subject.tell(new DataTreeChanged(mockCandidates3), getRef());
-                expectMsgClass(DataTreeChangedReply.class);
+        subject.tell(new DataTreeChanged(mockCandidates3), testKit.getRef());
+        testKit.expectMsgClass(DataTreeChangedReply.class);
 
-                Mockito.verify(mockListener).onDataTreeChanged(mockCandidates1);
-                Mockito.verify(mockListener).onDataTreeChanged(mockCandidates2);
-                Mockito.verify(mockListener).onDataTreeChanged(mockCandidates3);
-            }
-        };
+        verify(mockListener).onDataTreeChanged(mockCandidates1);
+        verify(mockListener).onDataTreeChanged(mockCandidates2);
+        verify(mockListener).onDataTreeChanged(mockCandidates3);
     }
 }