X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FDataChangeListenerRegistrationProxyTest.java;h=aaf080bdf7d8d50de4a3f31713143389994872a6;hb=9b3246b5f5ed82559bf0c75141731dc3376125f9;hp=57609a98e799134359aa0fb4f0bf57925299654d;hpb=af255d4824ce1290d6e6b4c669a5d9b0c5960f34;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerRegistrationProxyTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerRegistrationProxyTest.java index 57609a98e7..aaf080bdf7 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerRegistrationProxyTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerRegistrationProxyTest.java @@ -8,23 +8,28 @@ import org.opendaylight.controller.cluster.datastore.messages.CloseDataChangeLis import org.opendaylight.controller.cluster.datastore.utils.ActorContext; import org.opendaylight.controller.cluster.datastore.utils.DoNothingActor; import org.opendaylight.controller.cluster.datastore.utils.MessageCollectorActor; +import org.opendaylight.controller.cluster.datastore.utils.MockClusterWrapper; import org.opendaylight.controller.cluster.datastore.utils.MockConfiguration; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeListener; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import java.util.List; +import static junit.framework.TestCase.assertEquals; +import static junit.framework.TestCase.assertNotNull; +import static junit.framework.TestCase.assertTrue; + public class DataChangeListenerRegistrationProxyTest extends AbstractActorTest{ private ActorRef dataChangeListenerActor = getSystem().actorOf(Props.create(DoNothingActor.class)); private static class MockDataChangeListener implements - AsyncDataChangeListener> { + AsyncDataChangeListener> { @Override public void onDataChanged( - AsyncDataChangeEvent> change) { + AsyncDataChangeEvent> change) { throw new UnsupportedOperationException("onDataChanged"); } } @@ -59,19 +64,45 @@ public class DataChangeListenerRegistrationProxyTest extends AbstractActorTest{ //Check if it was received by the remote actor ActorContext - testContext = new ActorContext(getSystem(), getSystem().actorOf(Props.create(DoNothingActor.class)), new MockConfiguration()); + testContext = new ActorContext(getSystem(), getSystem().actorOf(Props.create(DoNothingActor.class)),new MockClusterWrapper(), new MockConfiguration()); Object messages = testContext - .executeLocalOperation(actorRef, "messages", - ActorContext.ASK_DURATION); + .executeOperation(actorRef, "messages"); - Assert.assertNotNull(messages); + assertNotNull(messages); - Assert.assertTrue(messages instanceof List); + assertTrue(messages instanceof List); List listMessages = (List) messages; - Assert.assertEquals(1, listMessages.size()); + assertEquals(1, listMessages.size()); + + assertTrue(listMessages.get(0).getClass() + .equals(CloseDataChangeListenerRegistration.SERIALIZABLE_CLASS)); + } + + @Test + public void testCloseWhenRegistrationIsNull() throws Exception { + final Props props = Props.create(MessageCollectorActor.class); + final ActorRef actorRef = getSystem().actorOf(props); + + DataChangeListenerRegistrationProxy proxy = + new DataChangeListenerRegistrationProxy( + new MockDataChangeListener(), dataChangeListenerActor); + + proxy.close(); + + //Check if it was received by the remote actor + ActorContext + testContext = new ActorContext(getSystem(), getSystem().actorOf(Props.create(DoNothingActor.class)),new MockClusterWrapper(), new MockConfiguration()); + Object messages = testContext + .executeOperation(actorRef, "messages"); + + assertNotNull(messages); + + assertTrue(messages instanceof List); + + List listMessages = (List) messages; - Assert.assertTrue(listMessages.get(0) instanceof CloseDataChangeListenerRegistration); + assertEquals(0, listMessages.size()); } }