Avoid unnecessary unsuccessful AppendEntriesReply
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / databroker / actors / dds / TransactionTester.java
index 1bcf5569f095df77edb60e2c49ae21bdb624f06a..e52012b459e44035e12f0f1fba1f9367991d5e02 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.controller.cluster.databroker.actors.dds;
 
+import akka.actor.ActorRef;
 import akka.testkit.TestProbe;
 import javax.annotation.Nonnull;
 import org.junit.Assert;
@@ -17,7 +18,6 @@ import org.opendaylight.controller.cluster.access.commands.TransactionFailure;
 import org.opendaylight.controller.cluster.access.commands.TransactionRequest;
 import org.opendaylight.controller.cluster.access.concepts.AbstractRequestFailureProxy;
 import org.opendaylight.controller.cluster.access.concepts.FailureEnvelope;
-import org.opendaylight.controller.cluster.access.concepts.Request;
 import org.opendaylight.controller.cluster.access.concepts.RequestEnvelope;
 import org.opendaylight.controller.cluster.access.concepts.RequestException;
 import org.opendaylight.controller.cluster.access.concepts.RequestFailure;
@@ -43,20 +43,24 @@ class TransactionTester<T extends AbstractProxyTransaction> {
         this.backendProbe = backendProbe;
     }
 
+    ActorRef localActor() {
+        return connection.localActor();
+    }
+
     T getTransaction() {
         return transaction;
     }
 
-    TransactionRequest getLastReceivedMessage() {
-        return (TransactionRequest) envelope.getMessage();
+    TransactionRequest<?> getLastReceivedMessage() {
+        return (TransactionRequest<?>) envelope.getMessage();
     }
 
-    <R extends TransactionRequest> R expectTransactionRequest(final Class<R> expected) {
+    <R extends TransactionRequest<R>> R expectTransactionRequest(final Class<R> expected) {
         envelope = backendProbe.expectMsgClass(RequestEnvelope.class);
-        final Class<? extends Request> actual = envelope.getMessage().getClass();
+        final Class<?> actual = envelope.getMessage().getClass();
         final String errorMsg = String.format("Expected instance of %s, received %s", expected, actual);
         Assert.assertTrue(errorMsg, expected.isAssignableFrom(actual));
-        return (R) envelope.getMessage();
+        return expected.cast(envelope.getMessage());
     }
 
     void replySuccess(final RequestSuccess<?, ?> success) {
@@ -78,7 +82,9 @@ class TransactionTester<T extends AbstractProxyTransaction> {
     }
 
     private static class MockFailure extends RequestFailure<TransactionIdentifier, TransactionFailure> {
-        private MockFailure(@Nonnull final TransactionIdentifier target, final long sequence,
+        private static final long serialVersionUID = 1L;
+
+        MockFailure(@Nonnull final TransactionIdentifier target, final long sequence,
                             @Nonnull final RequestException cause) {
             super(target, sequence, cause);
         }