X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FDataChangeListenerProxyTest.java;h=2ed11cfbda21eff65b3cb6223b671731c891ab67;hp=d5625d277b057819ad14f108f4d2826459efba7a;hb=b10d77375b5a290143106180f1583ea4e18f8478;hpb=d255fdd0b14660a22ff63771d954ac3fe5d0cb7e diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerProxyTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerProxyTest.java index d5625d277b..2ed11cfbda 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerProxyTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerProxyTest.java @@ -3,71 +3,86 @@ package org.opendaylight.controller.cluster.datastore; import akka.actor.ActorRef; import akka.actor.Props; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Test; import org.opendaylight.controller.cluster.datastore.messages.DataChanged; 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.cluster.datastore.model.CompositeModel; +import org.opendaylight.controller.md.cluster.datastore.model.TestModel; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; -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.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; public class DataChangeListenerProxyTest extends AbstractActorTest { - private static class MockDataChangeEvent implements - AsyncDataChangeEvent> { + private static class MockDataChangedEvent implements AsyncDataChangeEvent> { + Map> createdData = new HashMap(); + Map> updatedData = new HashMap(); + Map> originalData = new HashMap(); - @Override - public Map> getCreatedData() { - throw new UnsupportedOperationException("getCreatedData"); - } - @Override - public Map> getUpdatedData() { - throw new UnsupportedOperationException("getUpdatedData"); - } - @Override public Set getRemovedPaths() { - throw new UnsupportedOperationException("getRemovedPaths"); - } + @Override + public Map> getCreatedData() { + createdData.put(YangInstanceIdentifier.builder().build(), CompositeModel.createDocumentOne(CompositeModel.createTestContext())); + return createdData; + } - @Override - public Map> getOriginalData() { - throw new UnsupportedOperationException("getOriginalData"); - } + @Override + public Map> getUpdatedData() { + updatedData.put(YangInstanceIdentifier.builder().build(), CompositeModel.createTestContainer()); + return updatedData; - @Override public NormalizedNode getOriginalSubtree() { - throw new UnsupportedOperationException("getOriginalSubtree"); - } + } - @Override public NormalizedNode getUpdatedSubtree() { - throw new UnsupportedOperationException("getUpdatedSubtree"); - } + @Override + public Set getRemovedPaths() { + Setids = new HashSet<>(); + ids.add( CompositeModel.TEST_PATH); + return ids; } - @Test + @Override + public Map> getOriginalData() { + originalData.put(YangInstanceIdentifier.builder().build(), CompositeModel.createFamily()); + return originalData; + } + + @Override public NormalizedNode getOriginalSubtree() { + return CompositeModel.createFamily() ; + } + + @Override public NormalizedNode getUpdatedSubtree() { + return CompositeModel.createTestContainer(); + } + } + + + @Test public void testOnDataChanged() throws Exception { final Props props = Props.create(MessageCollectorActor.class); final ActorRef actorRef = getSystem().actorOf(props); - DataChangeListenerProxy dataChangeListenerProxy = - new DataChangeListenerProxy( - getSystem().actorSelection(actorRef.path())); + DataChangeListenerProxy dataChangeListenerProxy = new DataChangeListenerProxy( + TestModel.createTestContext(), getSystem().actorSelection(actorRef.path())); - dataChangeListenerProxy.onDataChanged(new MockDataChangeEvent()); + dataChangeListenerProxy.onDataChanged(new MockDataChangedEvent()); //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); + .executeLocalOperation(actorRef, "messages"); Assert.assertNotNull(messages); @@ -77,7 +92,7 @@ public class DataChangeListenerProxyTest extends AbstractActorTest { Assert.assertEquals(1, listMessages.size()); - Assert.assertTrue(listMessages.get(0) instanceof DataChanged); + Assert.assertTrue(listMessages.get(0).getClass().equals(DataChanged.class)); } }