*/
package org.opendaylight.controller.cluster.access.commands;
-import org.junit.Assert;
+import static org.hamcrest.CoreMatchers.allOf;
+import static org.hamcrest.CoreMatchers.endsWith;
+import static org.hamcrest.CoreMatchers.startsWith;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertThrows;
+
+import org.apache.commons.lang3.SerializationUtils;
import org.junit.Test;
import org.opendaylight.controller.cluster.access.ABIVersion;
-public abstract class AbstractLocalTransactionRequestTest<T extends AbstractLocalTransactionRequest>
- extends AbstractTransactionRequestTest {
- @Override
- protected abstract T object();
-
- @Test(expected = UnsupportedOperationException.class)
- public void testExternalizableProxy() {
- object().externalizableProxy(ABIVersion.BORON);
+public abstract class AbstractLocalTransactionRequestTest<T extends AbstractLocalTransactionRequest<T>>
+ extends AbstractTransactionRequestTest<T> {
+ protected AbstractLocalTransactionRequestTest(final T object, final int baseSize, final int legacySize) {
+ super(object, baseSize, legacySize);
}
@Test
public void cloneAsVersionTest() {
- Assert.assertEquals(object(), object().cloneAsVersion(ABIVersion.BORON));
+ assertSame(object(), object().cloneAsVersion(ABIVersion.MAGNESIUM));
+ }
+
+ @Override
+ @Test
+ public void serializationTest() {
+ final var ex = assertThrows(UnsupportedOperationException.class, () -> SerializationUtils.clone(object()));
+ assertThat(ex.getMessage(), allOf(
+ startsWith("Local transaction request "),
+ endsWith(" should never be serialized")));
}
}