From 54e20827dff665094aa1d187124e79e855439a96 Mon Sep 17 00:00:00 2001 From: Ivan Hrasko Date: Thu, 9 Mar 2017 15:45:27 +0100 Subject: [PATCH] Unit tests: add serialization tests - remove separate tests for proxy - proxy classes are tested with serialization tests Change-Id: I238d02d4c33a417c5d13d4ac1f59389d79594e4e Signed-off-by: Ivan Hrasko --- .../AbortLocalTransactionRequestTest.java | 7 ++ .../AbstractLocalTransactionRequestTest.java | 12 +-- .../commands/AbstractRequestFailureTest.java | 11 +++ .../AbstractTransactionSuccessTest.java | 15 ++++ .../CommitLocalTransactionRequestTest.java | 7 ++ .../commands/ConnectClientFailureTest.java | 9 +-- .../ConnectClientRequestProxyV1Test.java | 31 -------- .../commands/ConnectClientRequestTest.java | 28 +++---- .../ExistsTransactionRequestTest.java | 12 +-- .../ExistsTransactionSuccessTest.java | 17 ++--- .../commands/LocalHistoryFailureTest.java | 8 +- .../ModifyTransactionRequestEmptyTest.java | 65 ++++++++++++++++ ...nRequestProxyV1EmptyModificationsTest.java | 33 -------- ...questProxyV1NotEmptyModificationsTest.java | 41 ---------- .../ModifyTransactionRequestTest.java | 28 ++++--- .../ModifyTransactionSuccessTest.java | 10 +-- .../commands/ReadTransactionRequestTest.java | 12 +-- .../ReadTransactionSuccessNoDataTest.java | 36 +++++++++ .../commands/ReadTransactionSuccessTest.java | 16 ++-- .../TransactionAbortRequestProxyV1Test.java | 30 -------- .../commands/TransactionAbortRequestTest.java | 14 ++-- .../commands/TransactionAbortSuccessTest.java | 10 +-- .../TransactionCanCommitSuccessTest.java | 10 +-- .../TransactionCommitSuccessTest.java | 10 +-- ...TransactionDoCommitRequestProxyV1Test.java | 30 -------- .../TransactionDoCommitRequestTest.java | 14 ++-- .../commands/TransactionFailureTest.java | 8 +- ...ransactionPreCommitRequestProxyV1Test.java | 31 -------- .../TransactionPreCommitRequestTest.java | 14 ++-- .../TransactionPreCommitSuccessTest.java | 10 +-- .../TransactionPurgeRequestProxyV1Test.java | 30 -------- .../commands/TransactionPurgeRequestTest.java | 14 ++-- .../TransactionPurgeResponseTest.java | 10 +-- .../concepts/AbstractRequestProxyTest.java | 76 ------------------- .../access/concepts/AbstractRequestTest.java | 26 ++++++- 35 files changed, 289 insertions(+), 446 deletions(-) delete mode 100644 opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ConnectClientRequestProxyV1Test.java create mode 100644 opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ModifyTransactionRequestEmptyTest.java delete mode 100644 opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ModifyTransactionRequestProxyV1EmptyModificationsTest.java delete mode 100644 opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ModifyTransactionRequestProxyV1NotEmptyModificationsTest.java create mode 100644 opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionSuccessNoDataTest.java delete mode 100644 opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortRequestProxyV1Test.java delete mode 100644 opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionDoCommitRequestProxyV1Test.java delete mode 100644 opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPreCommitRequestProxyV1Test.java delete mode 100644 opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPurgeRequestProxyV1Test.java delete mode 100644 opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/AbstractRequestProxyTest.java diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbortLocalTransactionRequestTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbortLocalTransactionRequestTest.java index 5d801c67e6..60e7dc8388 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbortLocalTransactionRequestTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbortLocalTransactionRequestTest.java @@ -7,6 +7,7 @@ */ package org.opendaylight.controller.cluster.access.commands; +import org.junit.Assert; import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier; import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier; import org.opendaylight.controller.cluster.access.concepts.FrontendType; @@ -28,4 +29,10 @@ public class AbortLocalTransactionRequestTest protected AbortLocalTransactionRequest object() { return OBJECT; } + + @Override + protected void doAdditionalAssertions(final Object deserialize) { + Assert.assertTrue(deserialize instanceof AbortLocalTransactionRequest); + Assert.assertEquals(OBJECT.getReplyTo(), ((AbortLocalTransactionRequest) deserialize).getReplyTo()); + } } \ No newline at end of file diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbstractLocalTransactionRequestTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbstractLocalTransactionRequestTest.java index 33cba17063..2696767a14 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbstractLocalTransactionRequestTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbstractLocalTransactionRequestTest.java @@ -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.ABIVersion; @@ -16,13 +17,14 @@ public abstract class AbstractLocalTransactionRequestTest { public void isHardFailureTest() throws Exception { 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()); + } } diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbstractTransactionSuccessTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbstractTransactionSuccessTest.java index e762912b95..d67ebd8df1 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbstractTransactionSuccessTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/AbstractTransactionSuccessTest.java @@ -7,6 +7,9 @@ */ 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; import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier; import org.opendaylight.controller.cluster.access.concepts.FrontendType; @@ -23,4 +26,16 @@ public abstract class AbstractTransactionSuccessTest MODIFICATIONS = Lists.newArrayList( - new TransactionWrite(YangInstanceIdentifier.EMPTY, NODE), - new TransactionMerge(YangInstanceIdentifier.EMPTY, NODE)); + new TransactionWrite(YangInstanceIdentifier.EMPTY, NODE)); private static final PersistenceProtocol PROTOCOL = PersistenceProtocol.ABORT; @@ -38,7 +39,7 @@ public class ModifyTransactionRequestTest extends AbstractTransactionRequestTest } @Test - public void getPersistenceProtocol() throws Exception { + public void getPersistenceProtocolTest() throws Exception { final Optional result = OBJECT.getPersistenceProtocol(); Assert.assertTrue(result.isPresent()); Assert.assertEquals(PROTOCOL, result.get()); @@ -58,15 +59,24 @@ public class ModifyTransactionRequestTest extends AbstractTransactionRequestTest Assert.assertTrue(result.toString().contains("protocol=" + PROTOCOL)); } - @Test - public void externalizableProxyTest() throws Exception { - final ModifyTransactionRequestProxyV1 proxy = OBJECT.externalizableProxy(ABIVersion.BORON); - Assert.assertNotNull(proxy); - } - @Test public void cloneAsVersionTest() throws Exception { final ModifyTransactionRequest clone = OBJECT.cloneAsVersion(ABIVersion.BORON); Assert.assertEquals(OBJECT, clone); } + + @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.getPersistenceProtocol(), casted.getPersistenceProtocol()); + + Assert.assertNotNull(casted.getModifications()); + Assert.assertEquals(1, casted.getModifications().size()); + final TransactionModification modification = casted.getModifications().get(0); + Assert.assertEquals(YangInstanceIdentifier.EMPTY, modification.getPath()); + Assert.assertEquals(TYPE_WRITE, modification.getType()); + } } \ No newline at end of file diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ModifyTransactionSuccessTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ModifyTransactionSuccessTest.java index 0961493efd..1f7e3d4dec 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ModifyTransactionSuccessTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ModifyTransactionSuccessTest.java @@ -15,15 +15,13 @@ public class ModifyTransactionSuccessTest extends AbstractTransactionSuccessTest private static final ModifyTransactionSuccess OBJECT = new ModifyTransactionSuccess( TRANSACTION_IDENTIFIER, 0); - @Test - public void externalizableProxy() throws Exception { - final AbstractTransactionSuccessProxy proxy = OBJECT.externalizableProxy( - ABIVersion.BORON); - Assert.assertNotNull(proxy); + @Override + protected ModifyTransactionSuccess object() { + return OBJECT; } @Test - public void cloneAsVersion() throws Exception { + public void cloneAsVersionTest() throws Exception { final ModifyTransactionSuccess clone = OBJECT.cloneAsVersion(ABIVersion.BORON); Assert.assertEquals(OBJECT.getVersion(), clone.getVersion()); Assert.assertEquals(OBJECT.getSequence(), clone.getSequence()); diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionRequestTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionRequestTest.java index c8158878b2..ab1e1bbbd7 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionRequestTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionRequestTest.java @@ -21,7 +21,7 @@ public class ReadTransactionRequestTest extends AbstractReadTransactionRequestTe } @Test - public void cloneAsVersion() throws Exception { + public void cloneAsVersionTest() throws Exception { final ABIVersion cloneVersion = ABIVersion.TEST_FUTURE_VERSION; final ReadTransactionRequest clone = OBJECT.cloneAsVersion(cloneVersion); Assert.assertEquals(cloneVersion, clone.getVersion()); @@ -29,10 +29,10 @@ public class ReadTransactionRequestTest extends AbstractReadTransactionRequestTe Assert.assertEquals(OBJECT.isSnapshotOnly(), clone.isSnapshotOnly()); } - @Test - public void externalizableProxy() throws Exception { - final ABIVersion proxyVersion = ABIVersion.TEST_FUTURE_VERSION; - final ReadTransactionRequestProxyV1 proxy = OBJECT.externalizableProxy(proxyVersion); - Assert.assertNotNull(proxy); + @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()); } } \ No newline at end of file diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionSuccessNoDataTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionSuccessNoDataTest.java new file mode 100644 index 0000000000..9e7c796ec2 --- /dev/null +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionSuccessNoDataTest.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2017 Pantheon Technologies s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.controller.cluster.access.commands; + +import com.google.common.base.Optional; +import org.junit.Assert; +import org.junit.Test; +import org.opendaylight.controller.cluster.access.ABIVersion; +import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; + +public class ReadTransactionSuccessNoDataTest extends AbstractTransactionSuccessTest { + private static final ReadTransactionSuccess OBJECT = new ReadTransactionSuccess( + TRANSACTION_IDENTIFIER, 0, Optional.absent()); + + @Override + protected ReadTransactionSuccess object() { + return OBJECT; + } + + @Test + public void getDataTest() throws Exception { + final Optional> result = OBJECT.getData(); + Assert.assertFalse(result.isPresent()); + } + + @Test + public void cloneAsVersionTest() throws Exception { + final ReadTransactionSuccess clone = OBJECT.cloneAsVersion(ABIVersion.BORON); + Assert.assertEquals(OBJECT, clone); + } +} \ No newline at end of file diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionSuccessTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionSuccessTest.java index 55f665a87e..0f4871fa61 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionSuccessTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/ReadTransactionSuccessTest.java @@ -23,22 +23,20 @@ public class ReadTransactionSuccessTest extends AbstractTransactionSuccessTest> result = OBJECT.getData(); Assert.assertTrue(result.isPresent()); Assert.assertEquals(NODE.getValue(), result.get().getValue()); } @Test - public void externalizableProxy() throws Exception { - final AbstractTransactionSuccessProxy proxy = OBJECT.externalizableProxy( - ABIVersion.BORON); - Assert.assertNotNull(proxy); - } - - @Test - public void cloneAsVersion() throws Exception { + public void cloneAsVersionTest() throws Exception { final ReadTransactionSuccess clone = OBJECT.cloneAsVersion(ABIVersion.BORON); Assert.assertEquals(OBJECT, clone); } diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortRequestProxyV1Test.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortRequestProxyV1Test.java deleted file mode 100644 index e4c40ccc7c..0000000000 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortRequestProxyV1Test.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2017 Pantheon Technologies s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.controller.cluster.access.commands; - -import org.junit.Assert; -import org.junit.Test; -import org.opendaylight.controller.cluster.access.concepts.AbstractRequestProxyTest; -import org.opendaylight.controller.cluster.access.concepts.Request; - -public class TransactionAbortRequestProxyV1Test extends AbstractRequestProxyTest { - private static final TransactionAbortRequest REQUEST = new TransactionAbortRequest( - TRANSACTION_IDENTIFIER, 0, ACTOR_REF); - private static final TransactionAbortRequestProxyV1 OBJECT = new TransactionAbortRequestProxyV1(REQUEST); - - @Override - public TransactionAbortRequestProxyV1 object() { - return OBJECT; - } - - @Test - public void createRequestTest() { - final Request request = object().createRequest(TRANSACTION_IDENTIFIER, 0, ACTOR_REF); - Assert.assertNotNull(request); - } -} \ No newline at end of file diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortRequestTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortRequestTest.java index 79a2634b4f..1478579c7e 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortRequestTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortRequestTest.java @@ -21,14 +21,14 @@ public class TransactionAbortRequestTest extends AbstractTransactionRequestTest< } @Test - public void externalizableProxy() throws Exception { - final TransactionAbortRequestProxyV1 proxy = OBJECT.externalizableProxy(ABIVersion.BORON); - Assert.assertNotNull(proxy); - } - - @Test - public void cloneAsVersion() throws Exception { + public void cloneAsVersionTest() throws Exception { final TransactionAbortRequest clone = OBJECT.cloneAsVersion(ABIVersion.BORON); Assert.assertEquals(OBJECT, clone); } + + @Override + protected void doAdditionalAssertions(final Object deserialize) { + Assert.assertTrue(deserialize instanceof TransactionAbortRequest); + Assert.assertEquals(OBJECT.getReplyTo(), ((TransactionAbortRequest)deserialize).getReplyTo()); + } } \ No newline at end of file diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortSuccessTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortSuccessTest.java index b86e42ca93..f7bd10880d 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortSuccessTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionAbortSuccessTest.java @@ -15,15 +15,13 @@ public class TransactionAbortSuccessTest extends AbstractTransactionSuccessTest< private static final TransactionAbortSuccess OBJECT = new TransactionAbortSuccess( TRANSACTION_IDENTIFIER, 0); - @Test - public void externalizableProxy() throws Exception { - final AbstractTransactionSuccessProxy proxy = OBJECT.externalizableProxy( - ABIVersion.BORON); - Assert.assertNotNull(proxy); + @Override + protected TransactionAbortSuccess object() { + return OBJECT; } @Test - public void cloneAsVersion() throws Exception { + public void cloneAsVersionTest() throws Exception { final TransactionAbortSuccess clone = OBJECT.cloneAsVersion(ABIVersion.BORON); Assert.assertEquals(OBJECT, clone); } diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionCanCommitSuccessTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionCanCommitSuccessTest.java index bf2677d581..80001e0ca4 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionCanCommitSuccessTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionCanCommitSuccessTest.java @@ -15,15 +15,13 @@ public class TransactionCanCommitSuccessTest extends AbstractTransactionSuccessT private static final TransactionCanCommitSuccess OBJECT = new TransactionCanCommitSuccess( TRANSACTION_IDENTIFIER, 0); - @Test - public void externalizableProxy() throws Exception { - final AbstractTransactionSuccessProxy proxy = OBJECT.externalizableProxy( - ABIVersion.BORON); - Assert.assertNotNull(proxy); + @Override + protected TransactionCanCommitSuccess object() { + return OBJECT; } @Test - public void cloneAsVersion() throws Exception { + public void cloneAsVersionTest() throws Exception { final TransactionCanCommitSuccess clone = OBJECT.cloneAsVersion(ABIVersion.BORON); Assert.assertEquals(OBJECT, clone); } diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionCommitSuccessTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionCommitSuccessTest.java index 363707f557..6d5049c144 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionCommitSuccessTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionCommitSuccessTest.java @@ -15,15 +15,13 @@ public class TransactionCommitSuccessTest extends AbstractTransactionSuccessTest private static final TransactionCommitSuccess OBJECT = new TransactionCommitSuccess( TRANSACTION_IDENTIFIER, 0); - @Test - public void externalizableProxy() throws Exception { - final AbstractTransactionSuccessProxy proxy = OBJECT.externalizableProxy( - ABIVersion.BORON); - Assert.assertNotNull(proxy); + @Override + protected TransactionCommitSuccess object() { + return OBJECT; } @Test - public void cloneAsVersion() throws Exception { + public void cloneAsVersionTest() throws Exception { final TransactionCommitSuccess clone = OBJECT.cloneAsVersion(ABIVersion.BORON); Assert.assertEquals(OBJECT, clone); } diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionDoCommitRequestProxyV1Test.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionDoCommitRequestProxyV1Test.java deleted file mode 100644 index b90438e0c0..0000000000 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionDoCommitRequestProxyV1Test.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2017 Pantheon Technologies s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.controller.cluster.access.commands; - -import org.junit.Assert; -import org.junit.Test; -import org.opendaylight.controller.cluster.access.concepts.AbstractRequestProxyTest; -import org.opendaylight.controller.cluster.access.concepts.Request; - -public class TransactionDoCommitRequestProxyV1Test extends AbstractRequestProxyTest { - private static final TransactionDoCommitRequest REQUEST = new TransactionDoCommitRequest( - TRANSACTION_IDENTIFIER, 0, ACTOR_REF); - private static final TransactionDoCommitRequestProxyV1 OBJECT = new TransactionDoCommitRequestProxyV1(REQUEST); - - @Override - public TransactionDoCommitRequestProxyV1 object() { - return OBJECT; - } - - @Test - public void createRequestTest() { - final Request request = object().createRequest(TRANSACTION_IDENTIFIER, 0, ACTOR_REF); - Assert.assertNotNull(request); - } -} \ No newline at end of file diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionDoCommitRequestTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionDoCommitRequestTest.java index a0b6664b81..9c6b1fb259 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionDoCommitRequestTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionDoCommitRequestTest.java @@ -21,14 +21,14 @@ public class TransactionDoCommitRequestTest extends AbstractTransactionRequestTe } @Test - public void externalizableProxy() throws Exception { - final TransactionDoCommitRequestProxyV1 proxy = OBJECT.externalizableProxy(ABIVersion.BORON); - Assert.assertNotNull(proxy); - } - - @Test - public void cloneAsVersion() throws Exception { + public void cloneAsVersionTest() throws Exception { final TransactionDoCommitRequest clone = OBJECT.cloneAsVersion(ABIVersion.BORON); Assert.assertEquals(OBJECT, clone); } + + @Override + protected void doAdditionalAssertions(final Object deserialize) { + Assert.assertTrue(deserialize instanceof TransactionDoCommitRequest); + Assert.assertEquals(OBJECT.getReplyTo(), ((TransactionDoCommitRequest) deserialize).getReplyTo()); + } } \ No newline at end of file diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionFailureTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionFailureTest.java index ff61651a7a..6adeaae4ab 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionFailureTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionFailureTest.java @@ -20,14 +20,8 @@ public class TransactionFailureTest extends AbstractRequestFailureTest { - private static final TransactionPreCommitRequest REQUEST = new TransactionPreCommitRequest( - TRANSACTION_IDENTIFIER, 0, ACTOR_REF); - private static final TransactionPreCommitRequestProxyV1 OBJECT = new TransactionPreCommitRequestProxyV1(REQUEST); - - @Override - public TransactionPreCommitRequestProxyV1 object() { - return OBJECT; - } - - @Test - public void createRequestTest() { - final Request request = object().createRequest(TRANSACTION_IDENTIFIER, 0, ACTOR_REF); - Assert.assertNotNull(request); - } -} \ No newline at end of file diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPreCommitRequestTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPreCommitRequestTest.java index 5b40e9e5da..9bc9b68c2f 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPreCommitRequestTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPreCommitRequestTest.java @@ -21,14 +21,14 @@ public class TransactionPreCommitRequestTest extends AbstractTransactionRequestT } @Test - public void externalizableProxy() throws Exception { - final TransactionPreCommitRequestProxyV1 proxy = OBJECT.externalizableProxy(ABIVersion.BORON); - Assert.assertNotNull(proxy); - } - - @Test - public void cloneAsVersion() throws Exception { + public void cloneAsVersionTest() throws Exception { final TransactionPreCommitRequest clone = OBJECT.cloneAsVersion(ABIVersion.BORON); Assert.assertEquals(OBJECT, clone); } + + @Override + protected void doAdditionalAssertions(final Object deserialize) { + Assert.assertTrue(deserialize instanceof TransactionPreCommitRequest); + Assert.assertEquals(OBJECT.getReplyTo(), ((TransactionPreCommitRequest) deserialize).getReplyTo()); + } } \ No newline at end of file diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPreCommitSuccessTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPreCommitSuccessTest.java index fc426fc3ed..fbb0faf4cd 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPreCommitSuccessTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPreCommitSuccessTest.java @@ -15,15 +15,13 @@ public class TransactionPreCommitSuccessTest extends AbstractTransactionSuccessT private static final TransactionPreCommitSuccess OBJECT = new TransactionPreCommitSuccess( TRANSACTION_IDENTIFIER, 0); - @Test - public void externalizableProxy() throws Exception { - final AbstractTransactionSuccessProxy proxy = OBJECT.externalizableProxy( - ABIVersion.BORON); - Assert.assertNotNull(proxy); + @Override + protected TransactionPreCommitSuccess object() { + return OBJECT; } @Test - public void cloneAsVersion() throws Exception { + public void cloneAsVersionTest() throws Exception { final TransactionPreCommitSuccess clone = OBJECT.cloneAsVersion(ABIVersion.BORON); Assert.assertEquals(OBJECT, clone); } diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPurgeRequestProxyV1Test.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPurgeRequestProxyV1Test.java deleted file mode 100644 index c106ad5c15..0000000000 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPurgeRequestProxyV1Test.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2017 Pantheon Technologies s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.controller.cluster.access.commands; - -import org.junit.Assert; -import org.junit.Test; -import org.opendaylight.controller.cluster.access.concepts.AbstractRequestProxyTest; -import org.opendaylight.controller.cluster.access.concepts.Request; - -public class TransactionPurgeRequestProxyV1Test extends AbstractRequestProxyTest { - private static final TransactionPurgeRequest REQUEST = new TransactionPurgeRequest( - TRANSACTION_IDENTIFIER, 0, ACTOR_REF); - private static final TransactionPurgeRequestProxyV1 OBJECT = new TransactionPurgeRequestProxyV1(REQUEST); - - @Override - public TransactionPurgeRequestProxyV1 object() { - return OBJECT; - } - - @Test - public void createRequestTest() { - final Request request = object().createRequest(TRANSACTION_IDENTIFIER, 0, ACTOR_REF); - Assert.assertNotNull(request); - } -} \ No newline at end of file diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPurgeRequestTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPurgeRequestTest.java index a0581d4fde..22266e2930 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPurgeRequestTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPurgeRequestTest.java @@ -21,14 +21,14 @@ public class TransactionPurgeRequestTest extends AbstractTransactionRequestTest< } @Test - public void externalizableProxy() throws Exception { - final TransactionPurgeRequestProxyV1 proxy = OBJECT.externalizableProxy(ABIVersion.BORON); - Assert.assertNotNull(proxy); - } - - @Test - public void cloneAsVersion() throws Exception { + public void cloneAsVersionTest() throws Exception { final TransactionPurgeRequest clone = OBJECT.cloneAsVersion(ABIVersion.BORON); Assert.assertEquals(OBJECT, clone); } + + @Override + protected void doAdditionalAssertions(final Object deserialize) { + Assert.assertTrue(deserialize instanceof TransactionPurgeRequest); + Assert.assertEquals(OBJECT.getReplyTo(), ((TransactionPurgeRequest) deserialize).getReplyTo()); + } } \ No newline at end of file diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPurgeResponseTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPurgeResponseTest.java index c190e61a01..4a60a0f9f7 100644 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPurgeResponseTest.java +++ b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/commands/TransactionPurgeResponseTest.java @@ -15,15 +15,13 @@ public class TransactionPurgeResponseTest extends AbstractTransactionSuccessTest private static final TransactionPurgeResponse OBJECT = new TransactionPurgeResponse( TRANSACTION_IDENTIFIER, 0); - @Test - public void externalizableProxy() throws Exception { - final AbstractTransactionSuccessProxy proxy = OBJECT.externalizableProxy( - ABIVersion.BORON); - Assert.assertNotNull(proxy); + @Override + protected TransactionPurgeResponse object() { + return OBJECT; } @Test - public void cloneAsVersion() throws Exception { + public void cloneAsVersionTest() throws Exception { final TransactionPurgeResponse clone = OBJECT.cloneAsVersion(ABIVersion.BORON); Assert.assertEquals(OBJECT, clone); } diff --git a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/AbstractRequestProxyTest.java b/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/AbstractRequestProxyTest.java deleted file mode 100644 index 3aceaa6e01..0000000000 --- a/opendaylight/md-sal/cds-access-api/src/test/java/org/opendaylight/controller/cluster/access/concepts/AbstractRequestProxyTest.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2017 Pantheon Technologies s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.controller.cluster.access.concepts; - -import akka.actor.ActorRef; -import akka.actor.ActorSystem; -import akka.actor.ExtendedActorSystem; -import akka.serialization.JavaSerializer; -import akka.testkit.TestProbe; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.lang.reflect.Constructor; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -public abstract class AbstractRequestProxyTest { - public abstract T object(); - - private static final FrontendIdentifier FRONTEND_IDENTIFIER = FrontendIdentifier.create( - MemberName.forName("test"), FrontendType.forName("one")); - protected static final ClientIdentifier CLIENT_IDENTIFIER = ClientIdentifier.create(FRONTEND_IDENTIFIER, 0); - - private static final LocalHistoryIdentifier HISTORY_IDENTIFIER = new LocalHistoryIdentifier( - CLIENT_IDENTIFIER, 0); - protected static final TransactionIdentifier TRANSACTION_IDENTIFIER = new TransactionIdentifier( - HISTORY_IDENTIFIER, 0); - - private static final ActorSystem SYSTEM = ActorSystem.create("test"); - protected static final ActorRef ACTOR_REF = TestProbe.apply(SYSTEM).ref(); - - @Before - public void setUp() { - JavaSerializer.currentSystem().value_$eq((ExtendedActorSystem) SYSTEM); - } - - @Test - public void externalizableTest() throws Exception { - final T copy = copy(); - Assert.assertTrue(copy != null); - } - - @SuppressWarnings("unchecked") - private T copy() throws Exception { - final ByteArrayOutputStream bos = new ByteArrayOutputStream(); - try (ObjectOutputStream oos = new ObjectOutputStream(bos)) { - object().writeExternal(oos); - } - - try (ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bos.toByteArray()))) { - final Constructor constructor = object().getClass().getConstructor(); - constructor.setAccessible(true); - final T result = (T) constructor.newInstance(); - result.readExternal(ois); - return result; - } - } - - @Test - public void readTargetTest() throws Exception { - final ByteArrayOutputStream bos = new ByteArrayOutputStream(); - try (ObjectOutputStream oos = new ObjectOutputStream(bos)) { - object().writeExternal(oos); - } - - final ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bos.toByteArray())); - Assert.assertNotNull(object().readTarget(ois)); - } -} \ No newline at end of file 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 6bf0088c96..2229aff022 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 @@ -9,9 +9,13 @@ package org.opendaylight.controller.cluster.access.concepts; import akka.actor.ActorRef; import akka.actor.ActorSystem; +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.junit.Assert; +import org.junit.Before; import org.junit.Test; public abstract class AbstractRequestTest { @@ -20,12 +24,32 @@ public abstract class AbstractRequestTest { protected abstract T object(); + @Before + public void setUp() { + JavaSerializer.currentSystem().value_$eq((ExtendedActorSystem) SYSTEM); + } + @Test - public void getReplyToTest() {} + public void getReplyToTest() { + Assert.assertEquals(ACTOR_REF, object().getReplyTo()); + } @Test public void addToStringAttributesCommonTest() { final MoreObjects.ToStringHelper result = object().addToStringAttributes(MoreObjects.toStringHelper(object())); Assert.assertTrue(result.toString().contains("replyTo=" + ACTOR_REF)); } + + @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()); + doAdditionalAssertions((T) deserialize); + } + + protected abstract void doAdditionalAssertions(final Object deserialize); } -- 2.36.6