Assert payload serialized size 21/103421/9
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 26 Nov 2022 11:42:15 +0000 (12:42 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 28 Nov 2022 21:38:39 +0000 (22:38 +0100)
We want to be in control over the size of our serialization, make sure
to add assertions.

JIRA: CONTROLLER-2051
JIRA: CONTROLLER-2056
Change-Id: I72957eaf284bfd5498cfdb11301239ac50d612f1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
30 files changed:
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbortLocalTransactionRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbstractLocalTransactionRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbstractReadTransactionRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbstractTransactionRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/CommitLocalTransactionRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ConnectClientRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ExistsTransactionRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ModifyTransactionRequestEmptyTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ModifyTransactionRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/SkipTransactionsRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionDoCommitRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPreCommitRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPurgeRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/AbstractEnvelopeTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/AbstractRequestTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/FailureEnvelopeTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/RequestEnvelopeTest.java
opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/SuccessEnvelopeTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/messages/CloseTransactionChainTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/AbortTransactionPayloadTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/AbstractIdentifiablePayloadTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/CloseLocalHistoryPayloadTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/CommitTransactionPayloadTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/CreateLocalHistoryPayloadTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/PurgeLocalHistoryPayloadTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/PurgeTransactionPayloadTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/SkipTransactionsPayloadTest.java

index 60e7dc83884c15f7bce09bf280307c54bee28ffa..2235e0e332652864c0f3a9900742b00438f8108f 100644 (file)
@@ -7,7 +7,8 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
-import org.junit.Assert;
+import static org.junit.Assert.assertEquals;
+
 import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
 import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier;
 import org.opendaylight.controller.cluster.access.concepts.FrontendType;
@@ -25,14 +26,12 @@ public class AbortLocalTransactionRequestTest
 
     private static final AbortLocalTransactionRequest OBJECT = new AbortLocalTransactionRequest(TRANSACTION, ACTOR_REF);
 
-    @Override
-    protected AbortLocalTransactionRequest object() {
-        return OBJECT;
+    public AbortLocalTransactionRequestTest() {
+        super(OBJECT, 0);
     }
 
     @Override
-    protected void doAdditionalAssertions(final Object deserialize) {
-        Assert.assertTrue(deserialize instanceof AbortLocalTransactionRequest);
-        Assert.assertEquals(OBJECT.getReplyTo(), ((AbortLocalTransactionRequest) deserialize).getReplyTo());
+    protected void doAdditionalAssertions(final AbortLocalTransactionRequest deserialize) {
+        assertEquals(OBJECT.getReplyTo(), deserialize.getReplyTo());
     }
 }
\ No newline at end of file
index 49755f7522109521f63556c8bc1bc20b50c85552..77e975e8e6fdca61425109c3f6c75552e2cceb72 100644 (file)
@@ -20,8 +20,9 @@ import org.opendaylight.controller.cluster.access.ABIVersion;
 
 public abstract class AbstractLocalTransactionRequestTest<T extends AbstractLocalTransactionRequest<T>>
         extends AbstractTransactionRequestTest<T> {
-    @Override
-    protected abstract T object();
+    protected AbstractLocalTransactionRequestTest(final T object, final int baseSize) {
+        super(object, baseSize);
+    }
 
     @Test
     public void cloneAsVersionTest() {
index f1fe2c08f911f7fe3f05bfb682d99d7325071d66..df8407b3f0e686365668f2777e3fb9ffdbfc7f5e 100644 (file)
@@ -7,8 +7,11 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertEquals;
+
 import com.google.common.base.MoreObjects;
-import org.junit.Assert;
 import org.junit.Test;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 
@@ -17,22 +20,23 @@ public abstract class AbstractReadTransactionRequestTest<T extends AbstractReadP
     protected static final YangInstanceIdentifier PATH = YangInstanceIdentifier.empty();
     protected static final boolean SNAPSHOT_ONLY = true;
 
-    @Override
-    protected abstract T object();
+    protected AbstractReadTransactionRequestTest(final T object, final int baseSize) {
+        super(object, baseSize);
+    }
 
     @Test
     public void getPathTest() {
-        Assert.assertEquals(PATH, object().getPath());
+        assertEquals(PATH, object().getPath());
     }
 
     @Test
     public void isSnapshotOnlyTest() {
-        Assert.assertEquals(SNAPSHOT_ONLY, object().isSnapshotOnly());
+        assertEquals(SNAPSHOT_ONLY, object().isSnapshotOnly());
     }
 
     @Test
     public void addToStringAttributesTest() {
-        final MoreObjects.ToStringHelper result = object().addToStringAttributes(MoreObjects.toStringHelper(object()));
-        Assert.assertTrue(result.toString().contains("path=" + PATH));
+        final var result = object().addToStringAttributes(MoreObjects.toStringHelper(object())).toString();
+        assertThat(result, containsString("path=" + PATH));
     }
 }
index 58d24e4e53838a2c19b674a9251d32fd86cfa245..f276ac3937763895d0c13ec74fb0b7ded97ad985 100644 (file)
@@ -7,7 +7,8 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
-import org.junit.Assert;
+import static org.junit.Assert.assertNotNull;
+
 import org.junit.Test;
 import org.opendaylight.controller.cluster.access.concepts.AbstractRequestTest;
 import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
@@ -15,7 +16,6 @@ import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier;
 import org.opendaylight.controller.cluster.access.concepts.FrontendType;
 import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier;
 import org.opendaylight.controller.cluster.access.concepts.MemberName;
-import org.opendaylight.controller.cluster.access.concepts.RequestException;
 import org.opendaylight.controller.cluster.access.concepts.RuntimeRequestException;
 import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
 
@@ -29,14 +29,14 @@ public abstract class AbstractTransactionRequestTest<T extends TransactionReques
     protected static final TransactionIdentifier TRANSACTION_IDENTIFIER = new TransactionIdentifier(
             HISTORY_IDENTIFIER, 0);
 
-    @Override
-    protected abstract T object();
+    protected AbstractTransactionRequestTest(final T object, final int baseSize) {
+        super(object, baseSize);
+    }
 
     @Test
     public void toRequestFailureTest() {
-        final Throwable cause = new Throwable();
-        final RequestException exception = new RuntimeRequestException("fail", cause);
-        final TransactionFailure failure = object().toRequestFailure(exception);
-        Assert.assertNotNull(failure);
+        final var exception = new RuntimeRequestException("fail", new Throwable());
+        final var failure = object().toRequestFailure(exception);
+        assertNotNull(failure);
     }
 }
index 108bf537adc42769b32e9fa1ecbbe3a267be0e79..02c8da9b06f3caa2d95d467f00ede8d08e48488d 100644 (file)
@@ -7,8 +7,11 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertEquals;
+
 import com.google.common.base.MoreObjects;
-import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
@@ -30,34 +33,32 @@ public class CommitLocalTransactionRequestTest
     private static final DataTreeModification MODIFICATION = Mockito.mock(DataTreeModification.class);
     private static final boolean COORDINATED = true;
 
-    private static final CommitLocalTransactionRequest OBJECT = new CommitLocalTransactionRequest(
-            TRANSACTION, 0, ACTOR_REF, MODIFICATION, null, COORDINATED);
+    private static final CommitLocalTransactionRequest OBJECT = new CommitLocalTransactionRequest(TRANSACTION, 0,
+        ACTOR_REF, MODIFICATION, null, COORDINATED);
 
-    @Override
-    protected CommitLocalTransactionRequest object() {
-        return OBJECT;
+    public CommitLocalTransactionRequestTest() {
+        super(OBJECT, 0);
     }
 
     @Test
     public void getModificationTest() {
-        Assert.assertEquals(MODIFICATION, OBJECT.getModification());
+        assertEquals(MODIFICATION, OBJECT.getModification());
     }
 
     @Test
     public void isCoordinatedTest() {
-        Assert.assertEquals(COORDINATED, OBJECT.isCoordinated());
+        assertEquals(COORDINATED, OBJECT.isCoordinated());
     }
 
     @Test
     public void addToStringAttributesTest() {
-        final MoreObjects.ToStringHelper result = OBJECT.addToStringAttributes(MoreObjects.toStringHelper(OBJECT));
-        Assert.assertTrue(result.toString().contains("coordinated=" + COORDINATED));
+        final var result = OBJECT.addToStringAttributes(MoreObjects.toStringHelper(OBJECT)).toString();
+        assertThat(result, containsString("coordinated=" + COORDINATED));
     }
 
     @Override
-    protected void doAdditionalAssertions(final Object deserialize) {
-        Assert.assertTrue(deserialize instanceof CommitLocalTransactionRequest);
-        Assert.assertEquals(OBJECT.getReplyTo(), ((CommitLocalTransactionRequest) deserialize).getReplyTo());
-        Assert.assertEquals(OBJECT.getModification(), ((CommitLocalTransactionRequest) deserialize).getModification());
+    protected void doAdditionalAssertions(final CommitLocalTransactionRequest deserialize) {
+        assertEquals(OBJECT.getReplyTo(), deserialize.getReplyTo());
+        assertEquals(OBJECT.getModification(), deserialize.getModification());
     }
 }
\ No newline at end of file
index 64e4717e85aa15595968560f04089b9a5951779a..2291157c83890986ccc74a8b1856aed518d8c71a 100644 (file)
@@ -7,9 +7,13 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableRangeSet;
-import org.junit.Assert;
 import org.junit.Test;
 import org.opendaylight.controller.cluster.access.ABIVersion;
 import org.opendaylight.controller.cluster.access.concepts.AbstractRequestTest;
@@ -17,7 +21,6 @@ import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
 import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier;
 import org.opendaylight.controller.cluster.access.concepts.FrontendType;
 import org.opendaylight.controller.cluster.access.concepts.MemberName;
-import org.opendaylight.controller.cluster.access.concepts.RequestException;
 
 public class ConnectClientRequestTest extends AbstractRequestTest<ConnectClientRequest> {
     private static final FrontendIdentifier FRONTEND_IDENTIFIER = FrontendIdentifier.create(
@@ -30,49 +33,45 @@ public class ConnectClientRequestTest extends AbstractRequestTest<ConnectClientR
     private static final ConnectClientRequest OBJECT = new ConnectClientRequest(
             CLIENT_IDENTIFIER, 0, ACTOR_REF, MIN_VERSION, MAX_VERSION);
 
-    @Override
-    protected ConnectClientRequest object() {
-        return OBJECT;
+    public ConnectClientRequestTest() {
+        super(OBJECT, 310);
     }
 
     @Test
     public void getMinVersionTest() {
-        Assert.assertEquals(MIN_VERSION, OBJECT.getMinVersion());
+        assertEquals(MIN_VERSION, OBJECT.getMinVersion());
     }
 
     @Test
     public void getMaxVersionTest() {
-        Assert.assertEquals(MAX_VERSION, OBJECT.getMaxVersion());
+        assertEquals(MAX_VERSION, OBJECT.getMaxVersion());
     }
 
     @Test
     public void toRequestFailureTest() {
-        final RequestException exception = new DeadTransactionException(ImmutableRangeSet.of());
-        final ConnectClientFailure failure = OBJECT.toRequestFailure(exception);
-        Assert.assertNotNull(failure);
+        final var exception = new DeadTransactionException(ImmutableRangeSet.of());
+        final var failure = OBJECT.toRequestFailure(exception);
+        assertNotNull(failure);
     }
 
     @Test
     public void cloneAsVersionTest() {
-        final ConnectClientRequest clone = OBJECT.cloneAsVersion(ABIVersion.BORON);
-        Assert.assertNotNull(clone);
-        Assert.assertEquals(ABIVersion.BORON, clone.getVersion());
+        final var clone = OBJECT.cloneAsVersion(ABIVersion.BORON);
+        assertNotNull(clone);
+        assertEquals(ABIVersion.BORON, clone.getVersion());
     }
 
     @Test
     public void addToStringAttributesTest() {
-        final MoreObjects.ToStringHelper result = OBJECT.addToStringAttributes(MoreObjects.toStringHelper(OBJECT));
-        Assert.assertTrue(result.toString().contains("minVersion=" + MIN_VERSION));
-        Assert.assertTrue(result.toString().contains("maxVersion=" + MAX_VERSION));
+        final var result = OBJECT.addToStringAttributes(MoreObjects.toStringHelper(OBJECT)).toString();
+        assertThat(result, containsString("minVersion=" + MIN_VERSION));
+        assertThat(result, containsString("maxVersion=" + MAX_VERSION));
     }
 
     @Override
-    protected void doAdditionalAssertions(final Object deserialize) {
-        Assert.assertTrue(deserialize instanceof ConnectClientRequest);
-        final ConnectClientRequest casted = (ConnectClientRequest) deserialize;
-
-        Assert.assertEquals(OBJECT.getMaxVersion(), casted.getMaxVersion());
-        Assert.assertEquals(OBJECT.getMinVersion(), casted.getMinVersion());
-        Assert.assertEquals(OBJECT.getReplyTo(), casted.getReplyTo());
+    protected void doAdditionalAssertions(final ConnectClientRequest deserialize) {
+        assertEquals(OBJECT.getMaxVersion(), deserialize.getMaxVersion());
+        assertEquals(OBJECT.getMinVersion(), deserialize.getMinVersion());
+        assertEquals(OBJECT.getReplyTo(), deserialize.getReplyTo());
     }
 }
\ No newline at end of file
index 2682c9df5982f7cd56d80e3bd2def73968f5e76b..63254354fca6602f04a6efa8193ae38c44a419c3 100644 (file)
@@ -7,32 +7,31 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
-import org.junit.Assert;
+import static org.junit.Assert.assertEquals;
+
 import org.junit.Test;
 import org.opendaylight.controller.cluster.access.ABIVersion;
 
 public class ExistsTransactionRequestTest extends AbstractReadTransactionRequestTest<ExistsTransactionRequest> {
-    private static final ExistsTransactionRequest OBJECT = new ExistsTransactionRequest(
-            TRANSACTION_IDENTIFIER, 0, ACTOR_REF, PATH, SNAPSHOT_ONLY);
+    private static final ExistsTransactionRequest OBJECT = new ExistsTransactionRequest(TRANSACTION_IDENTIFIER, 0,
+        ACTOR_REF, PATH, SNAPSHOT_ONLY);
 
-    @Override
-    protected ExistsTransactionRequest object() {
-        return OBJECT;
+    public ExistsTransactionRequestTest() {
+        super(OBJECT, 620);
     }
 
     @Test
     public void cloneAsVersionTest() {
-        final ABIVersion cloneVersion = ABIVersion.TEST_FUTURE_VERSION;
-        final ExistsTransactionRequest clone = OBJECT.cloneAsVersion(cloneVersion);
-        Assert.assertEquals(cloneVersion, clone.getVersion());
-        Assert.assertEquals(OBJECT.getPath(), clone.getPath());
-        Assert.assertEquals(OBJECT.isSnapshotOnly(), clone.isSnapshotOnly());
+        final var cloneVersion = ABIVersion.TEST_FUTURE_VERSION;
+        final var clone = OBJECT.cloneAsVersion(cloneVersion);
+        assertEquals(cloneVersion, clone.getVersion());
+        assertEquals(OBJECT.getPath(), clone.getPath());
+        assertEquals(OBJECT.isSnapshotOnly(), clone.isSnapshotOnly());
     }
 
     @Override
-    protected void doAdditionalAssertions(final Object deserialize) {
-        Assert.assertTrue(deserialize instanceof ExistsTransactionRequest);
-        Assert.assertEquals(OBJECT.getReplyTo(), ((ExistsTransactionRequest) deserialize).getReplyTo());
-        Assert.assertEquals(OBJECT.getPath(), ((ExistsTransactionRequest) deserialize).getPath());
+    protected void doAdditionalAssertions(final ExistsTransactionRequest deserialize) {
+        assertEquals(OBJECT.getReplyTo(), deserialize.getReplyTo());
+        assertEquals(OBJECT.getPath(), deserialize.getPath());
     }
 }
\ No newline at end of file
index 3f284e8fc4069ab7911d0368fa01d866528572f6..ce1b0d98b7756a9ed01f078e99f1356e67cb5269 100644 (file)
@@ -7,59 +7,51 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertEquals;
+
 import com.google.common.base.MoreObjects;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
-import org.junit.Assert;
 import org.junit.Test;
 import org.opendaylight.controller.cluster.access.ABIVersion;
 
 public class ModifyTransactionRequestEmptyTest extends AbstractTransactionRequestTest<ModifyTransactionRequest> {
     private static final PersistenceProtocol PROTOCOL = PersistenceProtocol.ABORT;
+    private static final ModifyTransactionRequest OBJECT = new ModifyTransactionRequest(TRANSACTION_IDENTIFIER, 0,
+        ACTOR_REF, List.of(), PROTOCOL);
 
-    private static final ModifyTransactionRequest OBJECT = new ModifyTransactionRequest(
-            TRANSACTION_IDENTIFIER, 0, ACTOR_REF, new ArrayList<>(), PROTOCOL);
-
-    @Override
-    protected ModifyTransactionRequest object() {
-        return OBJECT;
+    public ModifyTransactionRequestEmptyTest() {
+        super(OBJECT, 408);
     }
 
     @Test
     public void getPersistenceProtocolTest() {
-        final Optional<PersistenceProtocol> result = OBJECT.getPersistenceProtocol();
-        Assert.assertTrue(result.isPresent());
-        Assert.assertEquals(PROTOCOL, result.get());
+        assertEquals(Optional.of(PROTOCOL), OBJECT.getPersistenceProtocol());
     }
 
     @Test
     public void getModificationsTest() {
-        final List<TransactionModification> result = OBJECT.getModifications();
-        Assert.assertNotNull(result);
-        Assert.assertTrue(result.isEmpty());
+        assertEquals(List.of(), OBJECT.getModifications());
     }
 
     @Test
     public void addToStringAttributesTest() {
-        final MoreObjects.ToStringHelper result = OBJECT.addToStringAttributes(MoreObjects.toStringHelper(OBJECT));
-        Assert.assertTrue(result.toString().contains("modifications=0"));
-        Assert.assertTrue(result.toString().contains("protocol=" + PROTOCOL));
+        final var result = OBJECT.addToStringAttributes(MoreObjects.toStringHelper(OBJECT)).toString();
+        assertThat(result, containsString("modifications=0"));
+        assertThat(result, containsString("protocol=" + PROTOCOL));
     }
 
     @Test
     public void cloneAsVersionTest() {
-        final ModifyTransactionRequest clone = OBJECT.cloneAsVersion(ABIVersion.BORON);
-        Assert.assertEquals(OBJECT, clone);
+        assertEquals(OBJECT, OBJECT.cloneAsVersion(ABIVersion.BORON));
     }
 
     @Override
-    protected void doAdditionalAssertions(final Object deserialize) {
-        Assert.assertTrue(deserialize instanceof ModifyTransactionRequest);
-        final ModifyTransactionRequest casted = (ModifyTransactionRequest) deserialize;
-
-        Assert.assertEquals(OBJECT.getReplyTo(), casted.getReplyTo());
-        Assert.assertEquals(OBJECT.getModifications(), casted.getModifications());
-        Assert.assertEquals(OBJECT.getPersistenceProtocol(), casted.getPersistenceProtocol());
+    protected void doAdditionalAssertions(final ModifyTransactionRequest deserialize) {
+        assertEquals(OBJECT.getReplyTo(), deserialize.getReplyTo());
+        assertEquals(OBJECT.getModifications(), deserialize.getModifications());
+        assertEquals(OBJECT.getPersistenceProtocol(), deserialize.getPersistenceProtocol());
     }
 }
\ No newline at end of file
index 7d0164f8674f0fce70e258b6dcb0019862dfd7f5..ad85c0f3ff53921823c8fba95699da480b9fc4e4 100644 (file)
@@ -7,16 +7,15 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
 import static org.opendaylight.controller.cluster.access.commands.TransactionModification.TYPE_WRITE;
 
 import com.google.common.base.MoreObjects;
-import com.google.common.collect.Lists;
 import java.util.List;
 import java.util.Optional;
-import org.junit.Assert;
 import org.junit.Test;
 import org.opendaylight.controller.cluster.access.ABIVersion;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -29,57 +28,48 @@ public class ModifyTransactionRequestTest extends AbstractTransactionRequestTest
     private static final ContainerNode NODE = Builders.containerBuilder().withNodeIdentifier(
             NodeIdentifier.create(QName.create("namespace", "localName"))).build();
 
-    private static final List<TransactionModification> MODIFICATIONS = Lists.newArrayList(
+    private static final List<TransactionModification> MODIFICATIONS = List.of(
             new TransactionWrite(YangInstanceIdentifier.empty(), NODE));
 
     private static final PersistenceProtocol PROTOCOL = PersistenceProtocol.ABORT;
 
-    private static final ModifyTransactionRequest OBJECT = new ModifyTransactionRequest(
-            TRANSACTION_IDENTIFIER, 0, ACTOR_REF, MODIFICATIONS, PROTOCOL);
+    private static final ModifyTransactionRequest OBJECT = new ModifyTransactionRequest(TRANSACTION_IDENTIFIER, 0,
+        ACTOR_REF, MODIFICATIONS, PROTOCOL);
 
-    @Override
-    protected ModifyTransactionRequest object() {
-        return OBJECT;
+    public ModifyTransactionRequestTest() {
+        super(OBJECT, 440);
     }
 
     @Test
     public void getPersistenceProtocolTest() {
-        final Optional<PersistenceProtocol> result = OBJECT.getPersistenceProtocol();
-        assertTrue(result.isPresent());
-        assertEquals(PROTOCOL, result.get());
+        assertEquals(Optional.of(PROTOCOL), OBJECT.getPersistenceProtocol());
     }
 
     @Test
     public void getModificationsTest() {
-        final List<TransactionModification> result = OBJECT.getModifications();
-        assertNotNull(result);
-        assertEquals(MODIFICATIONS, result);
+        assertEquals(MODIFICATIONS, OBJECT.getModifications());
     }
 
     @Test
     public void addToStringAttributesTest() {
-        final MoreObjects.ToStringHelper result = OBJECT.addToStringAttributes(MoreObjects.toStringHelper(OBJECT));
-        assertTrue(result.toString().contains("modifications=1"));
-        assertTrue(result.toString().contains("protocol=" + PROTOCOL));
+        final var result = OBJECT.addToStringAttributes(MoreObjects.toStringHelper(OBJECT)).toString();
+        assertThat(result, containsString("modifications=1"));
+        assertThat(result, containsString("protocol=" + PROTOCOL));
     }
 
     @Test
     public void cloneAsVersionTest() {
-        final ModifyTransactionRequest clone = OBJECT.cloneAsVersion(ABIVersion.BORON);
-        Assert.assertEquals(OBJECT, clone);
+        assertEquals(OBJECT, OBJECT.cloneAsVersion(ABIVersion.BORON));
     }
 
     @Override
-    protected void doAdditionalAssertions(final Object deserialize) {
-        assertTrue(deserialize instanceof ModifyTransactionRequest);
-        final ModifyTransactionRequest casted = (ModifyTransactionRequest) deserialize;
-
-        assertEquals(OBJECT.getReplyTo(), casted.getReplyTo());
-        assertEquals(OBJECT.getPersistenceProtocol(), casted.getPersistenceProtocol());
+    protected void doAdditionalAssertions(final ModifyTransactionRequest deserialize) {
+        assertEquals(OBJECT.getReplyTo(), deserialize.getReplyTo());
+        assertEquals(OBJECT.getPersistenceProtocol(), deserialize.getPersistenceProtocol());
 
-        assertNotNull(casted.getModifications());
-        assertEquals(1, casted.getModifications().size());
-        final TransactionModification modification = casted.getModifications().get(0);
+        assertNotNull(deserialize.getModifications());
+        assertEquals(1, deserialize.getModifications().size());
+        final var modification = deserialize.getModifications().get(0);
         assertEquals(YangInstanceIdentifier.empty(), modification.getPath());
         assertEquals(TYPE_WRITE, modification.getType());
     }
index c4096833ca282f88c19b97791c8bb3986f1cb9b7..4009f8e551084f14205d003f0b69a9f5a7709227 100644 (file)
@@ -7,32 +7,31 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
-import org.junit.Assert;
+import static org.junit.Assert.assertEquals;
+
 import org.junit.Test;
 import org.opendaylight.controller.cluster.access.ABIVersion;
 
 public class ReadTransactionRequestTest extends AbstractReadTransactionRequestTest<ReadTransactionRequest> {
-    private static final ReadTransactionRequest OBJECT = new ReadTransactionRequest(
-            TRANSACTION_IDENTIFIER, 0, ACTOR_REF, PATH, SNAPSHOT_ONLY);
+    private static final ReadTransactionRequest OBJECT = new ReadTransactionRequest(TRANSACTION_IDENTIFIER, 0,
+        ACTOR_REF, PATH, SNAPSHOT_ONLY);
 
-    @Override
-    protected ReadTransactionRequest object() {
-        return OBJECT;
+    public ReadTransactionRequestTest() {
+        super(OBJECT, 618);
     }
 
     @Test
     public void cloneAsVersionTest() {
-        final ABIVersion cloneVersion = ABIVersion.TEST_FUTURE_VERSION;
-        final ReadTransactionRequest clone = OBJECT.cloneAsVersion(cloneVersion);
-        Assert.assertEquals(cloneVersion, clone.getVersion());
-        Assert.assertEquals(OBJECT.getPath(), clone.getPath());
-        Assert.assertEquals(OBJECT.isSnapshotOnly(), clone.isSnapshotOnly());
+        final var cloneVersion = ABIVersion.TEST_FUTURE_VERSION;
+        final var clone = OBJECT.cloneAsVersion(cloneVersion);
+        assertEquals(cloneVersion, clone.getVersion());
+        assertEquals(OBJECT.getPath(), clone.getPath());
+        assertEquals(OBJECT.isSnapshotOnly(), clone.isSnapshotOnly());
     }
 
     @Override
-    protected void doAdditionalAssertions(final Object deserialize) {
-        Assert.assertTrue(deserialize instanceof ReadTransactionRequest);
-        Assert.assertEquals(OBJECT.getReplyTo(), ((ReadTransactionRequest) deserialize).getReplyTo());
-        Assert.assertEquals(OBJECT.getPath(), ((ReadTransactionRequest) deserialize).getPath());
+    protected void doAdditionalAssertions(final ReadTransactionRequest deserialize) {
+        assertEquals(OBJECT.getReplyTo(), deserialize.getReplyTo());
+        assertEquals(OBJECT.getPath(), deserialize.getPath());
     }
 }
\ No newline at end of file
index 39076e30072b1cb95e175ce51ac41fe66b6e6ac7..51bd58b3f8508d0dfbe000121e06d0d9e91d636b 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 
 import com.google.common.primitives.UnsignedLong;
@@ -20,20 +18,17 @@ public class SkipTransactionsRequestTest extends AbstractTransactionRequestTest<
     private static final SkipTransactionsRequest OBJECT = new SkipTransactionsRequest(
             TRANSACTION_IDENTIFIER, 0, ACTOR_REF, List.of(UnsignedLong.ONE));
 
-    @Override
-    protected SkipTransactionsRequest object() {
-        return OBJECT;
+    public SkipTransactionsRequestTest() {
+        super(OBJECT, 403);
     }
 
     @Test
     public void cloneAsVersionTest() {
-        final SkipTransactionsRequest clone = OBJECT.cloneAsVersion(ABIVersion.BORON);
-        assertEquals(OBJECT, clone);
+        assertEquals(OBJECT, OBJECT.cloneAsVersion(ABIVersion.BORON));
     }
 
     @Override
-    protected void doAdditionalAssertions(final Object deserialize) {
-        assertThat(deserialize, instanceOf(SkipTransactionsRequest.class));
-        assertEquals(OBJECT.getReplyTo(), ((SkipTransactionsRequest) deserialize).getReplyTo());
+    protected void doAdditionalAssertions(final SkipTransactionsRequest deserialize) {
+        assertEquals(OBJECT.getReplyTo(), deserialize.getReplyTo());
     }
 }
\ No newline at end of file
index 9c7dbf11d729bdc97eb05f64a23258e8b3bf1c9b..cf7ab56a9f0dcfcacc0d8dcea812464c7072ddb9 100644 (file)
@@ -7,28 +7,26 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
-import org.junit.Assert;
+import static org.junit.Assert.assertEquals;
+
 import org.junit.Test;
 import org.opendaylight.controller.cluster.access.ABIVersion;
 
 public class TransactionAbortRequestTest extends AbstractTransactionRequestTest<TransactionAbortRequest> {
-    private static final TransactionAbortRequest OBJECT = new TransactionAbortRequest(
-            TRANSACTION_IDENTIFIER, 0, ACTOR_REF);
+    private static final TransactionAbortRequest OBJECT = new TransactionAbortRequest(TRANSACTION_IDENTIFIER, 0,
+        ACTOR_REF);
 
-    @Override
-    protected TransactionAbortRequest object() {
-        return OBJECT;
+    public TransactionAbortRequestTest() {
+        super(OBJECT, 400);
     }
 
     @Test
     public void cloneAsVersionTest() {
-        final TransactionAbortRequest clone = OBJECT.cloneAsVersion(ABIVersion.BORON);
-        Assert.assertEquals(OBJECT, clone);
+        assertEquals(OBJECT, OBJECT.cloneAsVersion(ABIVersion.BORON));
     }
 
     @Override
-    protected void doAdditionalAssertions(final Object deserialize) {
-        Assert.assertTrue(deserialize instanceof TransactionAbortRequest);
-        Assert.assertEquals(OBJECT.getReplyTo(), ((TransactionAbortRequest)deserialize).getReplyTo());
+    protected void doAdditionalAssertions(final TransactionAbortRequest deserialize) {
+        assertEquals(OBJECT.getReplyTo(), deserialize.getReplyTo());
     }
 }
\ No newline at end of file
index 26f1a379bbef7cf1e89f38e321fee0831f606a6f..8e52cc976fd3052d5ea24252bc3639279cce6e8f 100644 (file)
@@ -7,28 +7,26 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
-import org.junit.Assert;
+import static org.junit.Assert.assertEquals;
+
 import org.junit.Test;
 import org.opendaylight.controller.cluster.access.ABIVersion;
 
 public class TransactionDoCommitRequestTest extends AbstractTransactionRequestTest<TransactionDoCommitRequest> {
-    private static final TransactionDoCommitRequest OBJECT = new TransactionDoCommitRequest(
-            TRANSACTION_IDENTIFIER, 0, ACTOR_REF);
+    private static final TransactionDoCommitRequest OBJECT = new TransactionDoCommitRequest(TRANSACTION_IDENTIFIER, 0,
+        ACTOR_REF);
 
-    @Override
-    protected TransactionDoCommitRequest object() {
-        return OBJECT;
+    public TransactionDoCommitRequestTest() {
+        super(OBJECT, 403);
     }
 
     @Test
     public void cloneAsVersionTest() {
-        final TransactionDoCommitRequest clone = OBJECT.cloneAsVersion(ABIVersion.BORON);
-        Assert.assertEquals(OBJECT, clone);
+        assertEquals(OBJECT, OBJECT.cloneAsVersion(ABIVersion.BORON));
     }
 
     @Override
-    protected void doAdditionalAssertions(final Object deserialize) {
-        Assert.assertTrue(deserialize instanceof TransactionDoCommitRequest);
-        Assert.assertEquals(OBJECT.getReplyTo(), ((TransactionDoCommitRequest) deserialize).getReplyTo());
+    protected void doAdditionalAssertions(final TransactionDoCommitRequest deserialize) {
+        assertEquals(OBJECT.getReplyTo(), deserialize.getReplyTo());
     }
 }
\ No newline at end of file
index ceac8606b87b55ed9063f08e350e35aef68ad612..e9dd25c0363c9a253fe189affc9f39c08eaa7717 100644 (file)
@@ -7,28 +7,26 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
-import org.junit.Assert;
+import static org.junit.Assert.assertEquals;
+
 import org.junit.Test;
 import org.opendaylight.controller.cluster.access.ABIVersion;
 
 public class TransactionPreCommitRequestTest extends AbstractTransactionRequestTest<TransactionPreCommitRequest> {
-    private static final TransactionPreCommitRequest OBJECT = new TransactionPreCommitRequest(
-            TRANSACTION_IDENTIFIER, 0, ACTOR_REF);
+    private static final TransactionPreCommitRequest OBJECT = new TransactionPreCommitRequest(TRANSACTION_IDENTIFIER, 0,
+        ACTOR_REF);
 
-    @Override
-    protected TransactionPreCommitRequest object() {
-        return OBJECT;
+    public TransactionPreCommitRequestTest() {
+        super(OBJECT, 404);
     }
 
     @Test
     public void cloneAsVersionTest() {
-        final TransactionPreCommitRequest clone = OBJECT.cloneAsVersion(ABIVersion.BORON);
-        Assert.assertEquals(OBJECT, clone);
+        assertEquals(OBJECT, OBJECT.cloneAsVersion(ABIVersion.BORON));
     }
 
     @Override
-    protected void doAdditionalAssertions(final Object deserialize) {
-        Assert.assertTrue(deserialize instanceof TransactionPreCommitRequest);
-        Assert.assertEquals(OBJECT.getReplyTo(), ((TransactionPreCommitRequest) deserialize).getReplyTo());
+    protected void doAdditionalAssertions(final TransactionPreCommitRequest deserialize) {
+        assertEquals(OBJECT.getReplyTo(), deserialize.getReplyTo());
     }
 }
\ No newline at end of file
index 5ae9f26dbf5605aa6239a8eea8099979086378f5..087b515816de56d221c67f3cdbaec3324670090b 100644 (file)
@@ -7,28 +7,26 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
-import org.junit.Assert;
+import static org.junit.Assert.assertEquals;
+
 import org.junit.Test;
 import org.opendaylight.controller.cluster.access.ABIVersion;
 
 public class TransactionPurgeRequestTest extends AbstractTransactionRequestTest<TransactionPurgeRequest> {
-    private static final TransactionPurgeRequest OBJECT = new TransactionPurgeRequest(
-            TRANSACTION_IDENTIFIER, 0, ACTOR_REF);
+    private static final TransactionPurgeRequest OBJECT = new TransactionPurgeRequest(TRANSACTION_IDENTIFIER, 0,
+        ACTOR_REF);
 
-    @Override
-    protected TransactionPurgeRequest object() {
-        return OBJECT;
+    public TransactionPurgeRequestTest() {
+        super(OBJECT, 400);
     }
 
     @Test
     public void cloneAsVersionTest() {
-        final TransactionPurgeRequest clone = OBJECT.cloneAsVersion(ABIVersion.BORON);
-        Assert.assertEquals(OBJECT, clone);
+        assertEquals(OBJECT, OBJECT.cloneAsVersion(ABIVersion.BORON));
     }
 
     @Override
-    protected void doAdditionalAssertions(final Object deserialize) {
-        Assert.assertTrue(deserialize instanceof TransactionPurgeRequest);
-        Assert.assertEquals(OBJECT.getReplyTo(), ((TransactionPurgeRequest) deserialize).getReplyTo());
+    protected void doAdditionalAssertions(final TransactionPurgeRequest deserialize) {
+        assertEquals(OBJECT.getReplyTo(), deserialize.getReplyTo());
     }
 }
\ No newline at end of file
index f0f5d3d26c56a7c557bd74e21dd294b620feaada..d4a0fc9de3bda8b00f684dacb97cfb0df573a74a 100644 (file)
@@ -7,12 +7,18 @@
  */
 package org.opendaylight.controller.cluster.access.concepts;
 
+import static java.util.Objects.requireNonNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 import org.apache.commons.lang.SerializationUtils;
-import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
 public abstract class AbstractEnvelopeTest<E extends Envelope<?>> {
+    protected record EnvelopeDetails<E extends Envelope<?>>(E envelope, int expectedSize) {
+        // Nothing else
+    }
+
     private static final FrontendIdentifier FRONTEND =
             new FrontendIdentifier(MemberName.forName("test"), FrontendIdentifierTest.ONE_FRONTEND_TYPE);
     private static final ClientIdentifier CLIENT = new ClientIdentifier(FRONTEND, 0);
@@ -20,33 +26,37 @@ public abstract class AbstractEnvelopeTest<E extends Envelope<?>> {
     protected static final TransactionIdentifier OBJECT = new TransactionIdentifier(HISTORY, 0);
 
     private E envelope;
+    private int expectedSize;
 
     @Before
     public void setUp() throws Exception {
-        envelope = createEnvelope();
+        final var details = createEnvelope();
+        envelope = requireNonNull(details.envelope);
+        expectedSize = details.expectedSize;
     }
 
     @Test
     public void testProxySerializationDeserialization() {
         final byte[] serializedBytes = SerializationUtils.serialize(envelope);
-        final Object deserialize = SerializationUtils.deserialize(serializedBytes);
-        checkDeserialized((E) deserialize);
+        assertEquals(expectedSize, serializedBytes.length);
+        @SuppressWarnings("unchecked")
+        final E deserialize = (E) SerializationUtils.deserialize(serializedBytes);
+        checkDeserialized(deserialize);
     }
 
     private void checkDeserialized(final E deserializedEnvelope) {
-        Assert.assertEquals(envelope.getSessionId(), deserializedEnvelope.getSessionId());
-        Assert.assertEquals(envelope.getTxSequence(), deserializedEnvelope.getTxSequence());
-        final Message<?, ?> expectedMessage = envelope.getMessage();
-        final Message<?, ?> actualMessage = deserializedEnvelope.getMessage();
-        Assert.assertEquals(expectedMessage.getSequence(), actualMessage.getSequence());
-        Assert.assertEquals(expectedMessage.getTarget(), actualMessage.getTarget());
-        Assert.assertEquals(expectedMessage.getVersion(), actualMessage.getVersion());
-        Assert.assertEquals(expectedMessage.getClass(), actualMessage.getClass());
+        assertEquals(envelope.getSessionId(), deserializedEnvelope.getSessionId());
+        assertEquals(envelope.getTxSequence(), deserializedEnvelope.getTxSequence());
+        final var expectedMessage = envelope.getMessage();
+        final var actualMessage = deserializedEnvelope.getMessage();
+        assertEquals(expectedMessage.getSequence(), actualMessage.getSequence());
+        assertEquals(expectedMessage.getTarget(), actualMessage.getTarget());
+        assertEquals(expectedMessage.getVersion(), actualMessage.getVersion());
+        assertEquals(expectedMessage.getClass(), actualMessage.getClass());
         doAdditionalAssertions(envelope, deserializedEnvelope);
     }
 
-    protected abstract E createEnvelope();
+    protected abstract EnvelopeDetails<E> createEnvelope();
 
-    @SuppressWarnings("checkstyle:hiddenField")
     protected abstract void doAdditionalAssertions(E envelope, E resolvedObject);
 }
index e5fb8bc9cc2d6d7ce2c4bb64e68c2a970477c563..22be739bff68cc5970e13ee9bcaeaeba57c496b1 100644 (file)
@@ -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;
@@ -24,8 +25,19 @@ import org.junit.Test;
 public abstract class AbstractRequestTest<T extends Request<?, T>> {
     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<T extends Request<?, T>> {
 
     @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);
 }
index 93f93b6d49023562a8ee401a5985022864c15ff1..5bf162f059d0d8a603558ed417c8a2f23b8e5362 100644 (file)
@@ -12,23 +12,24 @@ import static org.junit.Assert.assertEquals;
 import java.io.DataInput;
 import java.io.IOException;
 import java.io.Serial;
+import org.apache.commons.lang.SerializationUtils;
 import org.opendaylight.controller.cluster.access.ABIVersion;
 import org.opendaylight.yangtools.concepts.WritableIdentifier;
 
 public class FailureEnvelopeTest extends AbstractEnvelopeTest<FailureEnvelope> {
-
     @Override
-    protected FailureEnvelope createEnvelope() {
-        final RequestFailure<?, ?> message =
-                new MockFailure(OBJECT, new RuntimeRequestException("msg", new RuntimeException()), 42);
-        return new FailureEnvelope(message, 1L, 2L, 11L);
+    protected EnvelopeDetails<FailureEnvelope> createEnvelope() {
+        final var cause = new RuntimeRequestException("msg", new RuntimeException());
+        final int causeSize = SerializationUtils.serialize(cause).length;
+        return new EnvelopeDetails<>(new FailureEnvelope(new MockFailure(OBJECT, cause, 42), 1L, 2L, 11L),
+            causeSize + 687);
     }
 
     @Override
     protected void doAdditionalAssertions(final FailureEnvelope envelope, final FailureEnvelope resolvedObject) {
         assertEquals(envelope.getExecutionTimeNanos(), resolvedObject.getExecutionTimeNanos());
-        final RequestException expectedCause = envelope.getMessage().getCause();
-        final RequestException actualCause = resolvedObject.getMessage().getCause();
+        final var expectedCause = envelope.getMessage().getCause();
+        final var actualCause = resolvedObject.getMessage().getCause();
         assertEquals(expectedCause.getMessage(), actualCause.getMessage());
         assertEquals(expectedCause.isRetriable(), actualCause.isRetriable());
     }
index b63dc4c78c741d514a097d2c7bf01b2eb7000166..f5e1f28590f3e470680d101923435c1d26681daf 100644 (file)
@@ -7,19 +7,21 @@
  */
 package org.opendaylight.controller.cluster.access.concepts;
 
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertEquals;
+
 import akka.actor.ActorRef;
 import akka.actor.ActorSystem;
 import akka.actor.ExtendedActorSystem;
 import akka.serialization.JavaSerializer;
 import akka.testkit.TestProbe;
 import org.junit.After;
-import org.junit.Assert;
 import org.junit.Before;
 import org.opendaylight.controller.cluster.access.commands.TransactionPurgeRequest;
 import org.opendaylight.controller.cluster.access.commands.TransactionPurgeResponse;
 
 public class RequestEnvelopeTest extends AbstractEnvelopeTest<RequestEnvelope> {
-
     private ActorSystem system;
     private ActorRef replyTo;
     private TestProbe replyToProbe;
@@ -33,27 +35,29 @@ public class RequestEnvelopeTest extends AbstractEnvelopeTest<RequestEnvelope> {
     }
 
     @Override
-    protected RequestEnvelope createEnvelope() {
+    protected EnvelopeDetails<RequestEnvelope> createEnvelope() {
         replyToProbe = new TestProbe(system);
         replyTo = replyToProbe.ref();
-        final TransactionPurgeRequest message = new TransactionPurgeRequest(OBJECT, 2L, replyTo);
-        return new RequestEnvelope(message, 1L, 2L);
+        final int refSize = replyTo.path().toSerializationFormat().length();
+
+        return new EnvelopeDetails<>(new RequestEnvelope(new TransactionPurgeRequest(OBJECT, 2L, replyTo), 1L, 2L),
+            refSize + 584);
     }
 
     @Override
     protected void doAdditionalAssertions(final RequestEnvelope envelope, final RequestEnvelope resolvedObject) {
         final Request<?, ?> actual = resolvedObject.getMessage();
-        Assert.assertTrue(actual instanceof TransactionPurgeRequest);
-        final TransactionPurgeRequest purgeRequest = (TransactionPurgeRequest) actual;
-        Assert.assertEquals(replyTo, purgeRequest.getReplyTo());
-        final TransactionPurgeResponse response = new TransactionPurgeResponse(OBJECT, 2L);
+        assertThat(actual, instanceOf(TransactionPurgeRequest.class));
+        final var purgeRequest = (TransactionPurgeRequest) actual;
+        assertEquals(replyTo, purgeRequest.getReplyTo());
+        final var response = new TransactionPurgeResponse(OBJECT, 2L);
         resolvedObject.sendSuccess(response, 11L);
-        final SuccessEnvelope successEnvelope = replyToProbe.expectMsgClass(SuccessEnvelope.class);
-        Assert.assertEquals(response, successEnvelope.getMessage());
-        final RuntimeRequestException failResponse = new RuntimeRequestException("fail", new RuntimeException());
+        final var successEnvelope = replyToProbe.expectMsgClass(SuccessEnvelope.class);
+        assertEquals(response, successEnvelope.getMessage());
+        final var failResponse = new RuntimeRequestException("fail", new RuntimeException());
         resolvedObject.sendFailure(failResponse, 11L);
-        final FailureEnvelope failureEnvelope = replyToProbe.expectMsgClass(FailureEnvelope.class);
-        Assert.assertEquals(failResponse, failureEnvelope.getMessage().getCause());
+        final var failureEnvelope = replyToProbe.expectMsgClass(FailureEnvelope.class);
+        assertEquals(failResponse, failureEnvelope.getMessage().getCause());
     }
 
     @After
index 30d9e98636e50e036fccdc1791d923ea72d83d6d..c7a01ef0ecb7a0e6dddd2adc035d166aad9fe7e7 100644 (file)
@@ -7,20 +7,18 @@
  */
 package org.opendaylight.controller.cluster.access.concepts;
 
-import org.junit.Assert;
+import static org.junit.Assert.assertEquals;
+
 import org.opendaylight.controller.cluster.access.commands.TransactionAbortSuccess;
 
 public class SuccessEnvelopeTest extends AbstractEnvelopeTest<SuccessEnvelope> {
-
     @Override
-    protected SuccessEnvelope createEnvelope() {
-        final RequestSuccess<?, ?> message = new TransactionAbortSuccess(OBJECT, 2L);
-        return new SuccessEnvelope(message, 1L, 2L, 11L);
+    protected EnvelopeDetails<SuccessEnvelope> createEnvelope() {
+        return new EnvelopeDetails<>(new SuccessEnvelope(new TransactionAbortSuccess(OBJECT, 2L), 1L, 2L, 11L), 769);
     }
 
     @Override
-    protected void doAdditionalAssertions(final SuccessEnvelope envelope,
-                                          final SuccessEnvelope resolvedObject) {
-        Assert.assertEquals(envelope.getExecutionTimeNanos(), resolvedObject.getExecutionTimeNanos());
+    protected void doAdditionalAssertions(final SuccessEnvelope envelope, final SuccessEnvelope resolvedObject) {
+        assertEquals(envelope.getExecutionTimeNanos(), resolvedObject.getExecutionTimeNanos());
     }
 }
\ No newline at end of file
index a3726e270bea47a1ad4b840e20ab14b6b5753709..67987c3e37bb147b6e56d04165035f06d93923f8 100644 (file)
@@ -45,12 +45,20 @@ public abstract class AbstractTest {
         TX_COUNTER.set(1L);
     }
 
+    protected static TransactionIdentifier newTransactionId(final long txId) {
+        return new TransactionIdentifier(HISTORY_ID, txId);
+    }
+
     protected static TransactionIdentifier nextTransactionId() {
-        return new TransactionIdentifier(HISTORY_ID, TX_COUNTER.getAndIncrement());
+        return newTransactionId(TX_COUNTER.getAndIncrement());
+    }
+
+    protected static LocalHistoryIdentifier newHistoryId(final long historyId) {
+        return new LocalHistoryIdentifier(CLIENT_ID, historyId);
     }
 
     protected static LocalHistoryIdentifier nextHistoryId() {
-        return new LocalHistoryIdentifier(CLIENT_ID, HISTORY_COUNTER.incrementAndGet());
+        return newHistoryId(HISTORY_COUNTER.incrementAndGet());
     }
 
     protected static <T> T waitOnAsyncTask(final CompletionStage<T> completionStage, final FiniteDuration timeout)
index 6f857112a4f5d8bf8834b79d66e3636c4f98b625..fcb4d0d29baf680f7132f088f0776875dfdf57b2 100644 (file)
@@ -23,16 +23,18 @@ import org.opendaylight.controller.cluster.datastore.DataStoreVersions;
  * @author Thomas Pantelis
  */
 public class CloseTransactionChainTest extends AbstractTest {
-
     @Test
     public void testSerialization() {
-        CloseTransactionChain expected = new CloseTransactionChain(nextHistoryId(), DataStoreVersions.CURRENT_VERSION);
+        CloseTransactionChain expected = new CloseTransactionChain(newHistoryId(1), DataStoreVersions.CURRENT_VERSION);
 
-        Object serialized = expected.toSerializable();
+        var serialized = (Serializable) expected.toSerializable();
         assertEquals("Serialized type", CloseTransactionChain.class, serialized.getClass());
 
+        final byte[] bytes = SerializationUtils.serialize(serialized);
+        assertEquals(241, bytes.length);
+
         CloseTransactionChain actual = CloseTransactionChain.fromSerializable(
-                SerializationUtils.clone((Serializable) serialized));
+                SerializationUtils.deserialize(bytes));
         assertEquals("getIdentifier", expected.getIdentifier(), actual.getIdentifier());
         assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion());
     }
index 8453368cb18e323da401188a0569721ca911f19c..895f458a34ad689f4fa970257ca6994544d09f06 100644 (file)
@@ -8,9 +8,7 @@
 package org.opendaylight.controller.cluster.datastore.persisted;
 
 public class AbortTransactionPayloadTest extends AbstractIdentifiablePayloadTest<AbortTransactionPayload> {
-
-    @Override
-    AbortTransactionPayload object() {
-        return AbortTransactionPayload.create(nextTransactionId(), 512);
+    public AbortTransactionPayloadTest() {
+        super(AbortTransactionPayload.create(newTransactionId(0), 512), 264);
     }
 }
index a04c16919876075fb2d2c6b8e77b907a8518fcd6..5b82a478a74973dc1c2786302586af5296f5ae39 100644 (file)
@@ -7,19 +7,27 @@
  */
 package org.opendaylight.controller.cluster.datastore.persisted;
 
+import static java.util.Objects.requireNonNull;
+import static org.junit.Assert.assertEquals;
+
 import org.apache.commons.lang3.SerializationUtils;
-import org.junit.Assert;
 import org.junit.Test;
 import org.opendaylight.controller.cluster.datastore.AbstractTest;
 
-public abstract class AbstractIdentifiablePayloadTest<T extends AbstractIdentifiablePayload<?>> extends AbstractTest {
+abstract class AbstractIdentifiablePayloadTest<T extends AbstractIdentifiablePayload<?>> extends AbstractTest {
+    private final T object;
+    private final int expectedSize;
 
-    abstract T object();
+    AbstractIdentifiablePayloadTest(final T object, final int expectedSize) {
+        this.object = requireNonNull(object);
+        this.expectedSize = expectedSize;
+    }
 
     @Test
     public void testSerialization() {
-        final T object = object();
-        final T cloned = SerializationUtils.clone(object);
-        Assert.assertEquals(object.getIdentifier(), cloned.getIdentifier());
+        final byte[] bytes = SerializationUtils.serialize(object);
+        assertEquals(expectedSize, bytes.length);
+        final T cloned = SerializationUtils.deserialize(bytes);
+        assertEquals(object.getIdentifier(), cloned.getIdentifier());
     }
 }
index eeed0612b7f3bbc4314f386b14e4380a0c281cf6..d816979088701a994088cfcaf278f883d59c85ef 100644 (file)
@@ -8,9 +8,7 @@
 package org.opendaylight.controller.cluster.datastore.persisted;
 
 public class CloseLocalHistoryPayloadTest extends AbstractIdentifiablePayloadTest<CloseLocalHistoryPayload> {
-
-    @Override
-    CloseLocalHistoryPayload object() {
-        return CloseLocalHistoryPayload.create(nextHistoryId(), 512);
+    public CloseLocalHistoryPayloadTest() {
+        super(CloseLocalHistoryPayload.create(newHistoryId(0), 512), 264);
     }
 }
index e3696e0fb793ab8361f381649bbe2e686496461b..c5b8bab0685cab108f721a6d9beb9b9b38f61ab2 100644 (file)
@@ -108,6 +108,7 @@ public class CommitTransactionPayloadTest extends AbstractTest {
     public void testCandidateSerialization() throws IOException {
         final CommitTransactionPayload payload = CommitTransactionPayload.create(nextTransactionId(), candidate);
         assertEquals("payload size", 156, payload.size());
+        assertEquals("serialized size", 270, SerializationUtils.serialize(payload).length);
     }
 
     @Test
index e0aef362e94ab1ee6e37507918dc3b341192c3aa..7c0891e6f5c77672513fe123168c51560c64d42f 100644 (file)
@@ -8,9 +8,7 @@
 package org.opendaylight.controller.cluster.datastore.persisted;
 
 public class CreateLocalHistoryPayloadTest extends AbstractIdentifiablePayloadTest<CreateLocalHistoryPayload> {
-
-    @Override
-    CreateLocalHistoryPayload object() {
-        return CreateLocalHistoryPayload.create(nextHistoryId(), 512);
+    public CreateLocalHistoryPayloadTest() {
+        super(CreateLocalHistoryPayload.create(newHistoryId(0), 512), 265);
     }
 }
index 3a3ded1af7e049218f2cc7a4064de2d57f5f0f93..99c188ddd8838b2600bd18ad2b28bf0469b2c42b 100644 (file)
@@ -8,9 +8,7 @@
 package org.opendaylight.controller.cluster.datastore.persisted;
 
 public class PurgeLocalHistoryPayloadTest extends AbstractIdentifiablePayloadTest<PurgeLocalHistoryPayload> {
-
-    @Override
-    PurgeLocalHistoryPayload object() {
-        return PurgeLocalHistoryPayload.create(nextHistoryId(), 512);
+    public PurgeLocalHistoryPayloadTest() {
+        super(PurgeLocalHistoryPayload.create(newHistoryId(0), 512), 264);
     }
 }
index cf59654467d8629dd9236fb845744cd25900caae..fad6205e1669e326f4de389382996e01b7b3d832 100644 (file)
@@ -8,9 +8,7 @@
 package org.opendaylight.controller.cluster.datastore.persisted;
 
 public class PurgeTransactionPayloadTest extends AbstractIdentifiablePayloadTest<PurgeTransactionPayload> {
-
-    @Override
-    PurgeTransactionPayload object() {
-        return PurgeTransactionPayload.create(nextTransactionId(), 512);
+    public PurgeTransactionPayloadTest() {
+        super(PurgeTransactionPayload.create(newTransactionId(0), 512), 264);
     }
 }
index 44012d81d635bbf03c2075abb8de46ee82ee4a57..39df133c8a2a2c712df867a54d51ffdfd4c5a592 100644 (file)
@@ -10,8 +10,7 @@ package org.opendaylight.controller.cluster.datastore.persisted;
 import org.opendaylight.controller.cluster.datastore.utils.MutableUnsignedLongSet;
 
 public class SkipTransactionsPayloadTest extends AbstractIdentifiablePayloadTest<SkipTransactionsPayload> {
-    @Override
-    SkipTransactionsPayload object() {
-        return SkipTransactionsPayload.create(nextHistoryId(), MutableUnsignedLongSet.of(42).immutableCopy(), 512);
+    public SkipTransactionsPayloadTest() {
+        super(SkipTransactionsPayload.create(newHistoryId(0), MutableUnsignedLongSet.of(42).immutableCopy(), 512), 270);
     }
 }