X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcds-access-api%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fconcepts%2FAbstractRequestTest.java;h=48ceabef81cd87259df989c49ac9cf917350c6cb;hb=refs%2Fheads%2Fmaster;hp=e5fb8bc9cc2d6d7ce2c4bb64e68c2a970477c563;hpb=be61ca85c121e1b1fe05be37ab893e305683e0b7;p=controller.git diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/AbstractRequestTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/AbstractRequestTest.java index e5fb8bc9cc..48ceabef81 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/AbstractRequestTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/AbstractRequestTest.java @@ -7,6 +7,7 @@ */ package org.opendaylight.controller.cluster.access.concepts; +import static java.util.Objects.requireNonNull; import static org.hamcrest.CoreMatchers.containsString; import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.assertEquals; @@ -17,15 +18,26 @@ import akka.actor.ExtendedActorSystem; import akka.serialization.JavaSerializer; import akka.testkit.TestProbe; import com.google.common.base.MoreObjects; -import org.apache.commons.lang.SerializationUtils; +import org.apache.commons.lang3.SerializationUtils; import org.junit.Before; import org.junit.Test; public abstract class AbstractRequestTest> { private static final ActorSystem SYSTEM = ActorSystem.create("test"); protected static final ActorRef ACTOR_REF = TestProbe.apply(SYSTEM).ref(); + private static final int ACTOR_REF_SIZE = ACTOR_REF.path().toSerializationFormat().length(); - protected abstract T object(); + private final T object; + private final int expectedSize; + + protected AbstractRequestTest(final T object, final int baseSize) { + this.object = requireNonNull(object); + this.expectedSize = baseSize + ACTOR_REF_SIZE; + } + + protected final T object() { + return object; + } @Before public void setUp() { @@ -34,25 +46,27 @@ public abstract class AbstractRequestTest> { @Test public void getReplyToTest() { - assertEquals(ACTOR_REF, object().getReplyTo()); + assertEquals(ACTOR_REF, object.getReplyTo()); } @Test public void addToStringAttributesCommonTest() { - final var result = object().addToStringAttributes(MoreObjects.toStringHelper(object())); + final var result = object.addToStringAttributes(MoreObjects.toStringHelper(object)); assertThat(result.toString(), containsString("replyTo=" + ACTOR_REF)); } - @SuppressWarnings("unchecked") @Test public void serializationTest() { - final Object deserialize = SerializationUtils.clone(object()); + final byte[] bytes = SerializationUtils.serialize(object); + assertEquals(expectedSize, bytes.length); + @SuppressWarnings("unchecked") + final T deserialize = (T) SerializationUtils.deserialize(bytes); - assertEquals(object().getTarget(), ((T) deserialize).getTarget()); - assertEquals(object().getVersion(), ((T) deserialize).getVersion()); - assertEquals(object().getSequence(), ((T) deserialize).getSequence()); + assertEquals(object.getTarget(), deserialize.getTarget()); + assertEquals(object.getVersion(), deserialize.getVersion()); + assertEquals(object.getSequence(), deserialize.getSequence()); doAdditionalAssertions(deserialize); } - protected abstract void doAdditionalAssertions(Object deserialize); + protected abstract void doAdditionalAssertions(T deserialize); }