Modernize ABIVersionTest
[controller.git] / opendaylight / md-sal / cds-access-api / src / test / java / org / opendaylight / controller / cluster / access / commands / AbstractRequestFailureTest.java
index a0a798697f2eed804ad648fffe96413468df6e82..ccdc6753ac640600d972d4591ba8246814ae96d8 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
+import org.apache.commons.lang.SerializationUtils;
 import org.junit.Assert;
 import org.junit.Test;
 import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
@@ -19,7 +20,7 @@ import org.opendaylight.controller.cluster.access.concepts.RequestFailure;
 import org.opendaylight.controller.cluster.access.concepts.RuntimeRequestException;
 import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
 
-public abstract class AbstractRequestFailureTest<T extends RequestFailure> {
+public abstract class AbstractRequestFailureTest<T extends RequestFailure<?, T>> {
     private static final FrontendIdentifier FRONTEND_IDENTIFIER = FrontendIdentifier.create(
             MemberName.forName("member"), FrontendType.forName("frontend"));
 
@@ -32,12 +33,22 @@ public abstract class AbstractRequestFailureTest<T extends RequestFailure> {
     abstract T object();
 
     @Test
-    public void getCauseTest() throws Exception {
+    public void getCauseTest() {
         Assert.assertEquals(CAUSE, object().getCause());
     }
 
     @Test
-    public void isHardFailureTest() throws Exception {
+    public void isHardFailureTest() {
         Assert.assertTrue(object().isHardFailure());
     }
+
+    @SuppressWarnings("unchecked")
+    @Test
+    public void serializationTest() {
+        final Object deserialize = SerializationUtils.clone(object());
+
+        Assert.assertEquals(object().getTarget(), ((T) deserialize).getTarget());
+        Assert.assertEquals(object().getVersion(), ((T) deserialize).getVersion());
+        Assert.assertEquals(object().getSequence(), ((T) deserialize).getSequence());
+    }
 }