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=ab3ff795d3cb4a4e66e3ddd708236a8d15eec365;hb=4c22825994c2519fb1c9d63f0050ebf35c4f8439;hp=33b5d956115c7c4be6b20d47df82d4b11cce8c65;hpb=996ab3e41386da6b27cf21f6464ef1e55363e1ca;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 33b5d95611..ab3ff795d3 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,22 +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"); } } @@ -58,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))); + testContext = new ActorContext(getSystem(), getSystem().actorOf(Props.create(DoNothingActor.class)),new MockClusterWrapper(), new MockConfiguration()); Object messages = testContext - .executeLocalOperation(actorRef, "messages", - ActorContext.ASK_DURATION); + .executeLocalOperation(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 + .executeLocalOperation(actorRef, "messages"); + + assertNotNull(messages); + + assertTrue(messages instanceof List); + + List listMessages = (List) messages; - Assert.assertTrue(listMessages.get(0) instanceof CloseDataChangeListenerRegistration); + assertEquals(0, listMessages.size()); } }