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%2FFailureEnvelopeTest.java;h=70132a6c05d0d2bb4da906d3358d5cae6512701b;hb=HEAD;hp=2f56dd4aab19a2a013c1e59ed0164c7b0b80174e;hpb=0b1f60f64ea5b69ff4a00a4438568491009ee0da;p=controller.git diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/FailureEnvelopeTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/FailureEnvelopeTest.java index 2f56dd4aab..70132a6c05 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/FailureEnvelopeTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/FailureEnvelopeTest.java @@ -7,32 +7,39 @@ */ package org.opendaylight.controller.cluster.access.concepts; +import static com.google.common.base.Verify.verifyNotNull; +import static java.util.Objects.requireNonNull; +import static org.junit.Assert.assertEquals; + import java.io.DataInput; import java.io.IOException; -import javax.annotation.Nonnull; -import org.junit.Assert; +import org.apache.commons.lang3.SerializationUtils; import org.opendaylight.controller.cluster.access.ABIVersion; import org.opendaylight.yangtools.concepts.WritableIdentifier; public class FailureEnvelopeTest extends AbstractEnvelopeTest { - @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 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 + 216); } @Override protected void doAdditionalAssertions(final FailureEnvelope envelope, final FailureEnvelope resolvedObject) { - Assert.assertEquals(envelope.getExecutionTimeNanos(), resolvedObject.getExecutionTimeNanos()); - final RequestException expectedCause = envelope.getMessage().getCause(); - final RequestException actualCause = resolvedObject.getMessage().getCause(); - Assert.assertEquals(expectedCause.getMessage(), actualCause.getMessage()); - Assert.assertEquals(expectedCause.isRetriable(), actualCause.isRetriable()); + assertEquals(envelope.getExecutionTimeNanos(), resolvedObject.getExecutionTimeNanos()); + final var expectedCause = envelope.getMessage().getCause(); + final var actualCause = resolvedObject.getMessage().getCause(); + assertEquals(expectedCause.getMessage(), actualCause.getMessage()); + assertEquals(expectedCause.isRetriable(), actualCause.isRetriable()); } - private static class MockRequestFailureProxy extends AbstractRequestFailureProxy { + private static class MockRequestFailureProxy implements RequestFailure.SerialForm { + @java.io.Serial + private static final long serialVersionUID = 5015515628523887221L; + + private MockFailure message; @SuppressWarnings("checkstyle:RedundantModifier") public MockRequestFailureProxy() { @@ -40,25 +47,38 @@ public class FailureEnvelopeTest extends AbstractEnvelopeTest { } private MockRequestFailureProxy(final MockFailure mockFailure) { - super(mockFailure); + message = requireNonNull(mockFailure); } - @Nonnull @Override - protected MockFailure createFailure(@Nonnull final WritableIdentifier target, final long sequence, - @Nonnull final RequestException failureCause) { + public MockFailure createFailure(final WritableIdentifier target, final long sequence, + final RequestException failureCause) { return new MockFailure(target, failureCause, sequence); } - @Nonnull @Override - protected WritableIdentifier readTarget(@Nonnull final DataInput in) throws IOException { + public WritableIdentifier readTarget(final DataInput in) throws IOException { return TransactionIdentifier.readFrom(in); } + @Override + public MockFailure message() { + return verifyNotNull(message); + } + + @Override + public void setMessage(final MockFailure message) { + this.message = requireNonNull(message); + } + + @Override + public Object readResolve() { + return message(); + } } private static class MockFailure extends RequestFailure { + @java.io.Serial private static final long serialVersionUID = 1L; MockFailure(final WritableIdentifier target, final RequestException cause, final long sequence) { @@ -66,7 +86,7 @@ public class FailureEnvelopeTest extends AbstractEnvelopeTest { } @Override - protected AbstractRequestFailureProxy externalizableProxy( + protected RequestFailure.SerialForm externalizableProxy( final ABIVersion version) { return new MockRequestFailureProxy(this); } @@ -75,7 +95,5 @@ public class FailureEnvelopeTest extends AbstractEnvelopeTest { protected MockFailure cloneAsVersion(final ABIVersion version) { return this; } - } - }