X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fmessagebus-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmessagebus%2Fapp%2Fimpl%2FEventSourceTopicTest.java;h=0c32cb51e32239ce66aa982955b1ffa9637ce2e1;hp=f369a128adaefb18f7aa7ed183cb5916c7ef4f19;hb=cce450550bec259d4f925389bafd007676f2186f;hpb=fe45ad923c8cf83d730cf4d576c310967afabdf3 diff --git a/opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/app/impl/EventSourceTopicTest.java b/opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/app/impl/EventSourceTopicTest.java index f369a128ad..0c32cb51e3 100644 --- a/opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/app/impl/EventSourceTopicTest.java +++ b/opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/app/impl/EventSourceTopicTest.java @@ -9,6 +9,8 @@ package org.opendaylight.controller.messagebus.app.impl; import static org.junit.Assert.assertNotNull; import static org.mockito.Matchers.any; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; @@ -20,20 +22,30 @@ import java.util.Map; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.eventaggregator.rev141202.NotificationPattern; import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.eventsource.rev141202.EventSourceService; import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.eventsource.rev141202.JoinTopicInput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId; +import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId; +import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; +import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import com.google.common.util.concurrent.CheckedFuture; + public class EventSourceTopicTest { EventSourceTopic eventSourceTopic; - org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node dataObjectMock; + Node dataObjectNodeMock; NodeId nodeIdMock; + DataBroker dataBrokerMock; EventSourceService eventSourceServiceMock; + EventSourceTopology eventSourceTopologyMock; @BeforeClass public static void initTestClass() throws IllegalAccessException, InstantiationException { @@ -43,7 +55,22 @@ public class EventSourceTopicTest { public void setUp() throws Exception { NotificationPattern notificationPattern = new NotificationPattern("value1"); eventSourceServiceMock = mock(EventSourceService.class); - eventSourceTopic = new EventSourceTopic(notificationPattern, "nodeIdPattern1", eventSourceServiceMock); + eventSourceTopologyMock = mock(EventSourceTopology.class); + dataBrokerMock = mock(DataBroker.class); + doReturn(eventSourceServiceMock).when(eventSourceTopologyMock).getEventSourceService(); + doReturn(dataBrokerMock).when(eventSourceTopologyMock).getDataBroker(); + + WriteTransaction writeTransactionMock = mock(WriteTransaction.class); + doReturn(writeTransactionMock).when(dataBrokerMock).newWriteOnlyTransaction(); + doNothing().when(writeTransactionMock).put(any(LogicalDatastoreType.class), any(InstanceIdentifier.class), any(DataObject.class),eq(true)); + CheckedFuture checkedFutureWriteMock = mock(CheckedFuture.class); + doReturn(checkedFutureWriteMock).when(writeTransactionMock).submit(); + + ReadOnlyTransaction readOnlyTransactionMock = mock(ReadOnlyTransaction.class); + doReturn(readOnlyTransactionMock).when(dataBrokerMock).newReadOnlyTransaction(); + CheckedFuture checkedFutureReadMock = mock(CheckedFuture.class); + doReturn(checkedFutureReadMock).when(readOnlyTransactionMock).read(LogicalDatastoreType.OPERATIONAL, EventSourceTopology.EVENT_SOURCE_TOPOLOGY_PATH); + eventSourceTopic = EventSourceTopic.create(notificationPattern, "nodeIdPattern1", eventSourceTopologyMock); } @Test @@ -61,20 +88,21 @@ public class EventSourceTopicTest { AsyncDataChangeEvent asyncDataChangeEventMock = mock(AsyncDataChangeEvent.class); onDataChangedTestHelper(asyncDataChangeEventMock); eventSourceTopic.onDataChanged(asyncDataChangeEventMock); - verify(dataObjectMock, times(1)).getId(); - verify(nodeIdMock, times(1)).getValue(); + verify(dataObjectNodeMock, times(2)).getNodeId(); + verify(nodeIdMock, times(2)).getValue(); } private void onDataChangedTestHelper(AsyncDataChangeEvent asyncDataChangeEventMock){ Map, DataObject> map = new HashMap<>(); InstanceIdentifier instanceIdentifierMock = mock(InstanceIdentifier.class); - dataObjectMock = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node.class); - map.put(instanceIdentifierMock, dataObjectMock); + dataObjectNodeMock = mock(Node.class); + doReturn(getNodeKey("testNodeId01")).when(dataObjectNodeMock).getKey(); + map.put(instanceIdentifierMock, dataObjectNodeMock); doReturn(map).when(asyncDataChangeEventMock).getUpdatedData(); - + doReturn(map).when(asyncDataChangeEventMock).getCreatedData(); nodeIdMock = mock(NodeId.class); - doReturn(nodeIdMock).when(dataObjectMock).getId(); - doReturn("0").when(nodeIdMock).getValue(); + doReturn(nodeIdMock).when(dataObjectNodeMock).getNodeId(); + doReturn("nodeIdPattern1").when(nodeIdMock).getValue(); } @Test @@ -84,4 +112,7 @@ public class EventSourceTopicTest { verify(eventSourceServiceMock, times(1)).joinTopic(any(JoinTopicInput.class)); } -} + public NodeKey getNodeKey(String nodeId){ + return new NodeKey(new NodeId(nodeId)); + } +} \ No newline at end of file