X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fmessagebus-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmessagebus%2Feventsources%2Fnetconf%2FNetconfEventSourceTest.java;fp=opendaylight%2Fmd-sal%2Fmessagebus-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmessagebus%2Fapp%2Fimpl%2FNetconfEventSourceTest.java;h=24fa57a7ab46b3acca4b57c23f392b7d1ff564f1;hb=refs%2Fchanges%2F98%2F21798%2F2;hp=5e1a07062d38596724225bf22b1edf33b084df2d;hpb=817fba4cbd618da7f587b3a5c33ac1dd2450e983;p=controller.git diff --git a/opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/app/impl/NetconfEventSourceTest.java b/opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/eventsources/netconf/NetconfEventSourceTest.java similarity index 71% rename from opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/app/impl/NetconfEventSourceTest.java rename to opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/eventsources/netconf/NetconfEventSourceTest.java index 5e1a07062d..24fa57a7ab 100644 --- a/opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/app/impl/NetconfEventSourceTest.java +++ b/opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/eventsources/netconf/NetconfEventSourceTest.java @@ -5,15 +5,13 @@ * 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.messagebus.app.impl; +package org.opendaylight.controller.messagebus.eventsources.netconf; + -//import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.mockito.Matchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; import java.net.URI; import java.util.HashMap; @@ -24,25 +22,25 @@ import java.util.Set; import org.junit.Before; import org.junit.Test; import org.opendaylight.controller.md.sal.binding.api.BindingService; -import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.MountPoint; +import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException; import org.opendaylight.controller.md.sal.dom.api.DOMMountPoint; import org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService; import org.opendaylight.controller.md.sal.dom.api.DOMNotificationService; import org.opendaylight.controller.md.sal.dom.api.DOMRpcService; import org.opendaylight.controller.md.sal.dom.api.DOMService; -import org.opendaylight.controller.messagebus.eventsources.netconf.NetconfEventSource; import org.opendaylight.controller.sal.binding.api.RpcConsumerRegistry; 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.eventaggregator.rev141202.TopicId; import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.eventsource.rev141202.JoinTopicInput; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.notification._1._0.rev080714.NotificationsService; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey; -import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.inventory.rev140108.NetconfNode; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netmod.notification.rev080714.Netconf; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netmod.notification.rev080714.netconf.Streams; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeFields.ConnectionStatus; import org.opendaylight.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; @@ -57,6 +55,7 @@ public class NetconfEventSourceTest { NetconfEventSource netconfEventSource; DOMMountPoint domMountPointMock; + MountPoint mountPointMock; JoinTopicInput joinTopicInputMock; @Before @@ -64,34 +63,34 @@ public class NetconfEventSourceTest { Map streamMap = new HashMap<>(); streamMap.put("uriStr1", "string2"); domMountPointMock = mock(DOMMountPoint.class); + mountPointMock = mock(MountPoint.class); DOMNotificationPublishService domNotificationPublishServiceMock = mock(DOMNotificationPublishService.class); - RpcConsumerRegistry rpcConsumerRegistryMock = mock(RpcConsumerRegistry.class); Optional onlyOptionalMock = (Optional) mock(Optional.class); NotificationsService notificationsServiceMock = mock(NotificationsService.class); - doReturn(notificationsServiceMock).when(rpcConsumerRegistryMock).getRpcService(NotificationsService.class); - org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node - = mock(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node.class); - org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId nodeId - = new org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId("NodeId1"); - doReturn(nodeId).when(node).getNodeId(); - netconfEventSource = new NetconfEventSource(node, streamMap, domMountPointMock, domNotificationPublishServiceMock); - } - @Test - public void onDataChangedTest(){ - InstanceIdentifier brmIdent = InstanceIdentifier.create(Nodes.class) - .child(Node.class, new NodeKey(new NodeId("brm"))).augmentation(NetconfNode.class); - AsyncDataChangeEvent asyncDataChangeEventMock = mock(AsyncDataChangeEvent.class); - NetconfNode dataObjectMock = mock(NetconfNode.class); - Map dataChangeMap = new HashMap<>(); - dataChangeMap.put(brmIdent, dataObjectMock); - doReturn(dataChangeMap).when(asyncDataChangeEventMock).getOriginalData(); - doReturn(dataChangeMap).when(asyncDataChangeEventMock).getUpdatedData(); - doReturn(true).when(dataObjectMock).isConnected(); - netconfEventSource.onDataChanged(asyncDataChangeEventMock); - verify(dataObjectMock, times(2)).isConnected(); + Optional optionalMpDataBroker = (Optional) mock(Optional.class); + DataBroker mpDataBroker = mock(DataBroker.class); + doReturn(optionalMpDataBroker).when(mountPointMock).getService(DataBroker.class); + doReturn(true).when(optionalMpDataBroker).isPresent(); + doReturn(mpDataBroker).when(optionalMpDataBroker).get(); + + ReadOnlyTransaction rtx = mock(ReadOnlyTransaction.class); + doReturn(rtx).when(mpDataBroker).newReadOnlyTransaction(); + CheckedFuture, ReadFailedException> checkFeature = (CheckedFuture, ReadFailedException>)mock(CheckedFuture.class); + InstanceIdentifier pathStream = InstanceIdentifier.builder(Netconf.class).child(Streams.class).build(); + doReturn(checkFeature).when(rtx).read(LogicalDatastoreType.OPERATIONAL, pathStream); + Optional avStreams = NetconfTestUtils.getAvailableStream("stream01", true); + doReturn(avStreams).when(checkFeature).checkedGet(); + + netconfEventSource = new NetconfEventSource( + NetconfTestUtils.getNetconfNode("NodeId1", "node.test.local", ConnectionStatus.Connected, NetconfTestUtils.notification_capability_prefix), + streamMap, + domMountPointMock, + mountPointMock , + domNotificationPublishServiceMock); + } @Test @@ -131,10 +130,12 @@ public class NetconfEventSourceTest { Optional optionalMock = (Optional) mock(Optional.class); doReturn(optionalMock).when(domMountPointMock).getService(DOMRpcService.class); + doReturn(true).when(optionalMock).isPresent(); DOMRpcService domRpcServiceMock = mock(DOMRpcService.class); doReturn(domRpcServiceMock).when(optionalMock).get(); CheckedFuture checkedFutureMock = mock(CheckedFuture.class); doReturn(checkedFutureMock).when(domRpcServiceMock).invokeRpc(any(SchemaPath.class), any(ContainerNode.class)); + } } \ No newline at end of file