Simplify code using Java 8 features
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / ShardDataTreeMocking.java
index 6696df0781a5fcdd3dd42acb7a38722117b8261f..0e1dd4448ec59d85c4cc096e7b3d5650a6b7fc4c 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.controller.cluster.datastore;
 
 import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyBoolean;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.inOrder;
@@ -20,6 +21,9 @@ import com.google.common.primitives.UnsignedLong;
 import com.google.common.util.concurrent.FutureCallback;
 import org.mockito.InOrder;
 import org.mockito.invocation.InvocationOnMock;
+import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
+import org.opendaylight.controller.cluster.datastore.persisted.CommitTransactionPayload;
+import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
 
 public final class ShardDataTreeMocking {
@@ -123,33 +127,25 @@ public final class ShardDataTreeMocking {
 
     @SuppressWarnings("unchecked")
     public static ShardDataTreeCohort failedCanCommit(final ShardDataTreeCohort mock) {
-        doAnswer(invocation -> {
-            return invokeFailure(invocation);
-        }).when(mock).canCommit(any(FutureCallback.class));
+        doAnswer(ShardDataTreeMocking::invokeFailure).when(mock).canCommit(any(FutureCallback.class));
         return mock;
     }
 
     @SuppressWarnings("unchecked")
     public static ShardDataTreeCohort failedPreCommit(final ShardDataTreeCohort mock) {
-        doAnswer(invocation -> {
-            return invokeFailure(invocation);
-        }).when(mock).preCommit(any(FutureCallback.class));
+        doAnswer(ShardDataTreeMocking::invokeFailure).when(mock).preCommit(any(FutureCallback.class));
         return mock;
     }
 
     @SuppressWarnings("unchecked")
     public static ShardDataTreeCohort failedCommit(final ShardDataTreeCohort mock) {
-        doAnswer(invocation -> {
-            return invokeFailure(invocation);
-        }).when(mock).commit(any(FutureCallback.class));
+        doAnswer(ShardDataTreeMocking::invokeFailure).when(mock).commit(any(FutureCallback.class));
         return mock;
     }
 
     @SuppressWarnings("unchecked")
     public static ShardDataTreeCohort successfulCanCommit(final ShardDataTreeCohort mock) {
-        doAnswer(invocation -> {
-            return invokeSuccess(invocation, null);
-        }).when(mock).canCommit(any(FutureCallback.class));
+        doAnswer(invocation -> invokeSuccess(invocation, null)).when(mock).canCommit(any(FutureCallback.class));
 
         return mock;
     }
@@ -161,9 +157,7 @@ public final class ShardDataTreeMocking {
     @SuppressWarnings("unchecked")
     public static ShardDataTreeCohort successfulPreCommit(final ShardDataTreeCohort mock,
             final DataTreeCandidate candidate) {
-        doAnswer(invocation -> {
-            return invokeSuccess(invocation, candidate);
-        }).when(mock).preCommit(any(FutureCallback.class));
+        doAnswer(invocation -> invokeSuccess(invocation, candidate)).when(mock).preCommit(any(FutureCallback.class));
 
         return mock;
     }
@@ -174,9 +168,7 @@ public final class ShardDataTreeMocking {
 
     @SuppressWarnings("unchecked")
     public static ShardDataTreeCohort successfulCommit(final ShardDataTreeCohort mock, final UnsignedLong index) {
-        doAnswer(invocation -> {
-            return invokeSuccess(invocation, index);
-        }).when(mock).commit(any(FutureCallback.class));
+        doAnswer(invocation -> invokeSuccess(invocation, index)).when(mock).commit(any(FutureCallback.class));
 
         return mock;
     }
@@ -188,4 +180,13 @@ public final class ShardDataTreeMocking {
         inOrder.verify(mock).preCommit(any(FutureCallback.class));
         inOrder.verify(mock).commit(any(FutureCallback.class));
     }
+
+    public static void immediatePayloadReplication(final ShardDataTree shardDataTree, final Shard mockShard) {
+        doAnswer(invocation -> {
+            shardDataTree.applyReplicatedPayload(invocation.getArgumentAt(0, TransactionIdentifier.class),
+                    invocation.getArgumentAt(1, Payload.class));
+            return null;
+        }).when(mockShard).persistPayload(any(TransactionIdentifier.class), any(CommitTransactionPayload.class),
+                anyBoolean());
+    }
 }