Add mockito-configuration to tests
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / test / java / org / opendaylight / controller / cluster / raft / RaftActorDelegatingPersistentDataProviderTest.java
index 378c53cb18a9ee92b7085a27e429afafd225f584..e833f4350808db9663dd20fbe71d2faac7e95275 100644 (file)
@@ -7,6 +7,9 @@
  */
 package org.opendaylight.controller.cluster.raft;
 
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.verify;
 import akka.japi.Procedure;
@@ -16,6 +19,8 @@ import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
 import org.opendaylight.controller.cluster.DataPersistenceProvider;
 import org.opendaylight.controller.cluster.PersistentDataProvider;
 import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload;
@@ -51,11 +56,24 @@ public class RaftActorDelegatingPersistentDataProviderTest {
 
     private RaftActorDelegatingPersistentDataProvider provider;
 
+    @SuppressWarnings("unchecked")
     @Before
-    public void setup() {
+    public void setup() throws Exception {
         MockitoAnnotations.initMocks(this);
         doReturn(PERSISTENT_PAYLOAD).when(mockPersistentLogEntry).getData();
         doReturn(NON_PERSISTENT_PAYLOAD).when(mockNonPersistentLogEntry).getData();
+
+        doAnswer(new Answer<Void>() {
+            @Override
+            public Void answer(InvocationOnMock invocation) throws Exception {
+                final Object[] args = invocation.getArguments();
+                ((Procedure<Object>)args[1]).apply(args[0]);
+                return null;
+            }
+        }).when(mockPersistentProvider).persist(any(Object.class), any(Procedure.class));
+
+        doNothing().when(mockDelegateProvider).persist(any(Object.class), any(Procedure.class));
+        doNothing().when(mockProcedure).apply(any(Object.class));
         provider = new RaftActorDelegatingPersistentDataProvider(mockDelegateProvider, mockPersistentProvider);
     }