Merge dev/fluorine work across to master
[unimgr.git] / impl / src / test / java / org / opendaylight / unimgr / utils / EvcUtilsTest.java
diff --git a/impl/src/test/java/org/opendaylight/unimgr/utils/EvcUtilsTest.java b/impl/src/test/java/org/opendaylight/unimgr/utils/EvcUtilsTest.java
deleted file mode 100644 (file)
index 9ab5030..0000000
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Copyright (c) 2016 CableLabs 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.unimgr.utils;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.unimgr.impl.UnimgrConstants;
-import org.opendaylight.unimgr.impl.UnimgrMapper;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeRef;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeAugmentation;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeRef;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagedNodeEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.EvcAugmentation;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.EvcAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.UniAugmentation;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.EgressBw;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.IngressBw;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniDest;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniDestBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniDestKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniSource;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniSourceBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.unimgr.rev151012.evc.UniSourceKey;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.LinkId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
-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;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Link;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.LinkKey;
-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.InstanceIdentifier;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.api.support.membermodification.MemberMatcher;
-import org.powermock.api.support.membermodification.MemberModifier;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Optional;
-import com.google.common.util.concurrent.CheckedFuture;
-
-import ch.qos.logback.core.Appender;
-
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({LogicalDatastoreType.class, UnimgrMapper.class, EvcUtils.class, MdsalUtils.class})
-public class EvcUtilsTest {
-
-    @Rule
-    public final ExpectedException exception = ExpectedException.none();
-    @Mock private DataBroker dataBroker;
-    @Mock private Node bridgeNode;
-    @Mock private String bridgeName;
-    @Mock private String portName;
-    @Mock private String type;
-    @Mock private WriteTransaction transaction;
-    @Mock private IpAddress mockIp;
-    @SuppressWarnings("rawtypes")
-    @Mock private Appender mockAppender;
-    @SuppressWarnings({ "rawtypes" })
-    @Mock private CheckedFuture checkedFuture;
-    private ch.qos.logback.classic.Logger root;
-
-    @SuppressWarnings("unchecked")
-    @Before
-    public void setUp() throws Exception {
-        PowerMockito.mockStatic(EvcUtils.class, Mockito.CALLS_REAL_METHODS);
-        PowerMockito.mockStatic(MdsalUtils.class, Mockito.CALLS_REAL_METHODS);
-        PowerMockito.mockStatic(UnimgrMapper.class, Mockito.CALLS_REAL_METHODS);
-        PowerMockito.mockStatic(LogicalDatastoreType.class);
-        root = (ch.qos.logback.classic.Logger)
-                LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
-        // Check logger messages
-        when(mockAppender.getName()).thenReturn("MOCK");
-        root.addAppender(mockAppender);
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testGetEvcLinks() {
-        Link link = mock(Link.class);
-        List<Link> lnkList = new ArrayList<Link>();
-        lnkList.add(link);
-        Topology topology = mock (Topology.class);
-        DataBroker dataBroker = mock(DataBroker.class);
-        EvcAugmentation evcAugmentation = mock(EvcAugmentation.class, Mockito.RETURNS_MOCKS);
-        InstanceIdentifier<Topology> topologyInstanceIdentifier = mock(InstanceIdentifier.class);
-        MemberModifier.suppress(MemberMatcher.method(UnimgrMapper.class, "getEvcTopologyIid"));
-        when(UnimgrMapper.getEvcTopologyIid()).thenReturn(topologyInstanceIdentifier);
-        MemberModifier.suppress(MemberMatcher.method(MdsalUtils.class, "read", DataBroker.class, LogicalDatastoreType.class, InstanceIdentifier.class));
-        when(MdsalUtils.read(any(DataBroker.class), any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).thenReturn(topology);
-        when(topology.getLink()).thenReturn(lnkList);
-        when(link.getAugmentation(EvcAugmentation.class)).thenReturn(evcAugmentation);
-        List<Link> expectedListLink = EvcUtils.getEvcLinks(dataBroker);
-        assertNotNull(expectedListLink);
-        assertEquals(expectedListLink.get(0), link);
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testUpdateEvcNode() {
-        LinkId id = new LinkId("abcde");
-        InstanceIdentifier<?> evcKey = InstanceIdentifier
-                .create(NetworkTopology.class)
-                .child(Topology.class,
-                        new TopologyKey(UnimgrConstants.EVC_TOPOLOGY_ID))
-                .child(Link.class,
-                        new LinkKey(id));
-        InstanceIdentifier<?> sourceUniIid = PowerMockito.mock(InstanceIdentifier.class);
-        InstanceIdentifier<?> destinationUniIid = PowerMockito.mock(InstanceIdentifier.class);
-        WriteTransaction transaction = mock(WriteTransaction.class);
-        when(dataBroker.newWriteOnlyTransaction()).thenReturn(transaction);
-        Short order = new Short("0");
-        IpAddress ipAddreSource = new IpAddress("10.10.1.1".toCharArray());
-        UniSource uniSource = new UniSourceBuilder()
-                .setIpAddress(ipAddreSource)
-                .setKey(new UniSourceKey(order))
-                .setOrder(order)
-                .build();
-        List<UniSource> uniSourceList = new ArrayList<UniSource>();
-        uniSourceList.add(uniSource);
-        IpAddress ipAddreDest = new IpAddress("10.10.0.2".toCharArray());
-        UniDest uniDest = new UniDestBuilder()
-                .setOrder(order)
-                .setKey(new UniDestKey(order))
-                .setIpAddress(ipAddreDest)
-                .build();
-        List<UniDest> uniDestList = new ArrayList<UniDest>();
-        uniDestList.add(uniDest);
-        EgressBw egressBw = mock(EgressBw.class);
-        IngressBw ingressBw = mock(IngressBw.class);
-        EvcAugmentation evcAug = new EvcAugmentationBuilder()
-                .setCosId(UnimgrConstants.EVC_PREFIX + 1)
-                .setEgressBw(egressBw)
-                .setIngressBw(ingressBw)
-                .setUniDest(uniDestList)
-                .setUniSource(uniSourceList)
-                .build();
-        Optional<Link> optionalEvcLink = mock(Optional.class);
-        Link lnk = mock(Link.class);
-        when(optionalEvcLink.isPresent()).thenReturn(true);
-        when(optionalEvcLink.get()).thenReturn(lnk);
-        MemberModifier.suppress(MemberMatcher.method(MdsalUtils.class, "readLink", DataBroker.class, LogicalDatastoreType.class, InstanceIdentifier.class));
-        when(MdsalUtils.readLink(any(DataBroker.class), any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).thenReturn(optionalEvcLink);
-        doNothing().when(transaction).put(any(LogicalDatastoreType.class),
-                any(InstanceIdentifier.class),
-                any(Node.class));
-        EvcUtils.updateEvcNode(LogicalDatastoreType.OPERATIONAL, evcKey, evcAug,
-                sourceUniIid, destinationUniIid, dataBroker);
-        verify(transaction).put(any(LogicalDatastoreType.class), any(InstanceIdentifier.class), any(Node.class));
-        verify(transaction).submit();
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testDeleteEvcData() {
-        DataBroker dataBroker = mock(DataBroker.class);
-        Optional<Node> optionalUni = mock(Optional.class);
-        when(optionalUni.isPresent()).thenReturn(true);
-        Node node = mock(Node.class);
-        when(optionalUni.get()).thenReturn(node);
-        UniAugmentation uniAugmentation = mock(UniAugmentation.class);
-        when(node.getAugmentation(UniAugmentation.class)).thenReturn(uniAugmentation);
-        OvsdbNodeRef ovsdbNodeRef = mock(OvsdbNodeRef.class);
-        InstanceIdentifier<Node> iid = InstanceIdentifier
-                .create(NetworkTopology.class)
-                .child(Topology.class, new TopologyKey(UnimgrConstants.UNI_TOPOLOGY_ID))
-                .child(Node.class, new NodeKey(new NodeId("uni://10.0.0.1")));
-        when((InstanceIdentifier<Node>) ovsdbNodeRef.getValue()).thenReturn(iid);
-        when(uniAugmentation.getOvsdbNodeRef()).thenReturn(ovsdbNodeRef);
-        MemberModifier.suppress(MemberMatcher.method(MdsalUtils.class, "readNode", DataBroker.class, LogicalDatastoreType.class, InstanceIdentifier.class));
-        Optional<Node> optionalOvsdNode = mock(Optional.class);
-        when(MdsalUtils.readNode(any(DataBroker.class), any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).thenReturn(optionalOvsdNode);
-        when(optionalOvsdNode.isPresent()).thenReturn(true);
-        Node ovsdbNode = mock(Node.class);
-        when(optionalOvsdNode.get()).thenReturn(ovsdbNode);
-        OvsdbNodeAugmentation ovsdbNodeAugmentation = mock(OvsdbNodeAugmentation.class);
-        when(ovsdbNode.getAugmentation(OvsdbNodeAugmentation.class)).thenReturn(ovsdbNodeAugmentation);
-        List<ManagedNodeEntry> managedNodeEntryList = new ArrayList<>();
-        ManagedNodeEntry managedNodeEntry = mock(ManagedNodeEntry.class);
-        managedNodeEntryList.add(managedNodeEntry);
-        when(ovsdbNodeAugmentation.getManagedNodeEntry()).thenReturn(managedNodeEntryList);
-        OvsdbBridgeRef ovsdbBridgeRef = mock(OvsdbBridgeRef.class);
-        when(managedNodeEntry.getBridgeRef()).thenReturn(ovsdbBridgeRef);
-        InstanceIdentifier<Node> bridgeIid = InstanceIdentifier
-                .create(NetworkTopology.class)
-                .child(Topology.class, new TopologyKey(UnimgrConstants.UNI_TOPOLOGY_ID))
-                .child(Node.class, new NodeKey(new NodeId("ovsbr0")));
-        when((InstanceIdentifier<Node>) ovsdbBridgeRef.getValue()).thenReturn(bridgeIid);
-        MemberModifier.suppress(MemberMatcher.method(MdsalUtils.class, "readNode", DataBroker.class, InstanceIdentifier.class));
-        Optional<Node> optBridgeNode = mock(Optional.class);
-        when(MdsalUtils.readNode(any(DataBroker.class), any(InstanceIdentifier.class))).thenReturn(optBridgeNode);
-        when(optBridgeNode.isPresent()).thenReturn(true);
-        when(optBridgeNode.get()).thenReturn(bridgeNode);
-
-        MemberModifier.suppress(MemberMatcher.method(MdsalUtils.class, "deleteNode", DataBroker.class, InstanceIdentifier.class,LogicalDatastoreType.class));
-        when(MdsalUtils.deleteNode(any(DataBroker.class), any(InstanceIdentifier.class), any(LogicalDatastoreType.class))).thenReturn(true);
-        PowerMockito.mockStatic(UnimgrMapper.class);
-        when(UnimgrMapper.getTerminationPointIid(any(Node.class), anyString())).thenReturn(mock(InstanceIdentifier.class));
-        when(UnimgrMapper.getTerminationPointIid(any(Node.class), anyString())).thenReturn(mock(InstanceIdentifier.class));
-        EvcUtils.deleteEvcData(dataBroker, optionalUni);
-        verify(optionalUni).isPresent();
-        verify(optionalOvsdNode).isPresent();
-    }
-}