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%2Fapp%2Fimpl%2FNetconfEventSourceManagerTest.java;fp=opendaylight%2Fmd-sal%2Fmessagebus-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmessagebus%2Fapp%2Fimpl%2FNetconfEventSourceManagerTest.java;h=0000000000000000000000000000000000000000;hb=6c9c88f85589d635e3742cb2557044bf3a006d29;hp=1d6b825c9fe1d6f32315e407e5425cfcca5c2cb3;hpb=817fba4cbd618da7f587b3a5c33ac1dd2450e983;p=controller.git diff --git a/opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/app/impl/NetconfEventSourceManagerTest.java b/opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/app/impl/NetconfEventSourceManagerTest.java deleted file mode 100644 index 1d6b825c9f..0000000000 --- a/opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/app/impl/NetconfEventSourceManagerTest.java +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * 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; - -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.notNull; -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.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ExecutionException; - -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.opendaylight.controller.config.yang.messagebus.app.impl.NamespaceToStream; -import org.opendaylight.controller.md.sal.binding.api.BindingService; -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.MountPointService; -import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker; -import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMMountPoint; -import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService; -import org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService; -import org.opendaylight.controller.messagebus.eventsources.netconf.NetconfEventSourceManager; -import org.opendaylight.controller.messagebus.spi.EventSource; -import org.opendaylight.controller.messagebus.spi.EventSourceRegistry; -import org.opendaylight.controller.sal.binding.api.RpcConsumerRegistry; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; -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.netconf.node.topology.rev150114.NetconfNode; -import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeFields; -import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.fields.AvailableCapabilities; -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.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.yang.binding.DataObject; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; - -import com.google.common.base.Optional; - -public class NetconfEventSourceManagerTest { - - private static final String notification_capability_prefix = "(urn:ietf:params:xml:ns:netconf:notification"; - NetconfEventSourceManager netconfEventSourceManager; - ListenerRegistration listenerRegistrationMock; - DOMMountPointService domMountPointServiceMock; - MountPointService mountPointServiceMock; - EventSourceTopology eventSourceTopologyMock; - AsyncDataChangeEvent asyncDataChangeEventMock; - RpcProviderRegistry rpcProviderRegistryMock; - EventSourceRegistry eventSourceRegistry; - @BeforeClass - public static void initTestClass() throws IllegalAccessException, InstantiationException { - } - - @Before - public void setUp() throws Exception { - DataBroker dataBrokerMock = mock(DataBroker.class); - DOMNotificationPublishService domNotificationPublishServiceMock = mock(DOMNotificationPublishService.class); - domMountPointServiceMock = mock(DOMMountPointService.class); - mountPointServiceMock = mock(MountPointService.class); - eventSourceTopologyMock = mock(EventSourceTopology.class); - rpcProviderRegistryMock = mock(RpcProviderRegistry.class); - eventSourceRegistry = mock(EventSourceRegistry.class); - List namespaceToStreamList = new ArrayList<>(); - - listenerRegistrationMock = mock(ListenerRegistration.class); - doReturn(listenerRegistrationMock).when(dataBrokerMock).registerDataChangeListener(eq(LogicalDatastoreType.OPERATIONAL), any(InstanceIdentifier.class), any(NetconfEventSourceManager.class), eq(AsyncDataBroker.DataChangeScope.SUBTREE)); - - netconfEventSourceManager = - NetconfEventSourceManager.create(dataBrokerMock, - domNotificationPublishServiceMock, - domMountPointServiceMock, - mountPointServiceMock, - eventSourceRegistry, - namespaceToStreamList); - } - - @Test - public void onDataChangedCreateEventSourceTestByCreateEntry() throws InterruptedException, ExecutionException { - onDataChangedTestHelper(true,false,true,notification_capability_prefix); - netconfEventSourceManager.onDataChanged(asyncDataChangeEventMock); - verify(eventSourceRegistry, times(1)).registerEventSource(any(EventSource.class)); - } - - @Test - public void onDataChangedCreateEventSourceTestByUpdateEntry() throws InterruptedException, ExecutionException { - onDataChangedTestHelper(false,true,true, notification_capability_prefix); - netconfEventSourceManager.onDataChanged(asyncDataChangeEventMock); - verify(eventSourceRegistry, times(1)).registerEventSource(any(EventSource.class)); - } - - @Test - public void onDataChangedCreateEventSourceTestNotNeconf() throws InterruptedException, ExecutionException { - onDataChangedTestHelper(false,true,false,notification_capability_prefix); - netconfEventSourceManager.onDataChanged(asyncDataChangeEventMock); - verify(eventSourceRegistry, times(0)).registerEventSource(any(EventSource.class)); - } - - @Test - public void onDataChangedCreateEventSourceTestNotNotificationCapability() throws InterruptedException, ExecutionException { - onDataChangedTestHelper(false,true,true,"bad-prefix"); - netconfEventSourceManager.onDataChanged(asyncDataChangeEventMock); - verify(eventSourceRegistry, times(0)).registerEventSource(any(EventSource.class)); - } - - private void onDataChangedTestHelper(boolean create, boolean update, boolean isNetconf, String notificationCapabilityPrefix) throws InterruptedException, ExecutionException{ - asyncDataChangeEventMock = mock(AsyncDataChangeEvent.class); - Map mapCreate = new HashMap<>(); - Map mapUpdate = new HashMap<>(); - InstanceIdentifier instanceIdentifierMock = mock(InstanceIdentifier.class); - Node dataObjectMock = mock(Node.class); - - if(create){ - mapCreate.put(instanceIdentifierMock, dataObjectMock); - } - if(update){ - mapUpdate.put(instanceIdentifierMock, dataObjectMock); - } - - doReturn(mapCreate).when(asyncDataChangeEventMock).getCreatedData(); - doReturn(mapUpdate).when(asyncDataChangeEventMock).getUpdatedData(); - NetconfNode netconfNodeMock = mock(NetconfNode.class); - AvailableCapabilities availableCapabilitiesMock = mock(AvailableCapabilities.class); - if(isNetconf){ - doReturn(netconfNodeMock).when(dataObjectMock).getAugmentation(NetconfNode.class); - doReturn(availableCapabilitiesMock).when(netconfNodeMock).getAvailableCapabilities(); - List availableCapabilityList = new ArrayList<>(); - availableCapabilityList.add(notificationCapabilityPrefix +"_availableCapabilityString1"); - doReturn(availableCapabilityList).when(availableCapabilitiesMock).getAvailableCapability(); - doReturn(NetconfNodeFields.ConnectionStatus.Connected).when(netconfNodeMock).getConnectionStatus(); - } else { - doReturn(null).when(dataObjectMock).getAugmentation(NetconfNode.class); - } - - Optional optionalMock = mock(Optional.class); - Optional optionalBindingMountMock = mock(Optional.class); - NodeId nodeId = new NodeId("nodeId1"); - doReturn(nodeId).when(dataObjectMock).getNodeId(); - doReturn(optionalMock).when(domMountPointServiceMock).getMountPoint((YangInstanceIdentifier)notNull()); - doReturn(optionalBindingMountMock).when(mountPointServiceMock).getMountPoint(any(InstanceIdentifier.class)); - doReturn(true).when(optionalMock).isPresent(); - doReturn(true).when(optionalBindingMountMock).isPresent(); - - DOMMountPoint domMountPointMock = mock(DOMMountPoint.class); - MountPoint mountPointMock = mock(MountPoint.class); - doReturn(domMountPointMock).when(optionalMock).get(); - doReturn(mountPointMock).when(optionalBindingMountMock).get(); - - RpcConsumerRegistry rpcConsumerRegistryMock = mock(RpcConsumerRegistry.class); - Optional onlyOptionalMock = (Optional) mock(Optional.class); - NotificationsService notificationsServiceMock = mock(NotificationsService.class); - - doReturn(onlyOptionalMock).when(mountPointMock).getService(RpcConsumerRegistry.class); - doReturn(rpcConsumerRegistryMock).when(onlyOptionalMock).get(); - doReturn(notificationsServiceMock).when(rpcConsumerRegistryMock).getRpcService(NotificationsService.class); - EventSourceRegistrationImpl esrMock = mock(EventSourceRegistrationImpl.class); - doReturn(esrMock).when(eventSourceRegistry).registerEventSource(any(EventSource.class)); - } - -} \ No newline at end of file