Refactor SupportedIfCapability usage
[transportpce.git] / common / src / test / java / org / opendaylight / transportpce / common / mapping / PortMappingVersion121Test.java
index 865e49a50bd73611935afb8241e4e0b4e31c9bc0..de1aa85dac7b4e5443e5240ae77cbc74ad14f8d1 100644 (file)
@@ -13,7 +13,6 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import java.util.ArrayList;
@@ -33,14 +32,12 @@ import org.opendaylight.mdsal.binding.api.ReadTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.Timeouts;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
-import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
 import org.opendaylight.transportpce.test.DataStoreContext;
 import org.opendaylight.transportpce.test.DataStoreContextImpl;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.Network;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.NetworkBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.Nodes;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.Mapping;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.Network;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.NetworkBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.mapping.Mapping;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.network.Nodes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.Direction;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.NodeTypes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.Port;
@@ -79,8 +76,6 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.open
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.port.Interfaces;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.port.InterfacesBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.port.PartnerPortBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev161014.OpenROADMOpticalMultiplex;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev161014.OpticalTransport;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev161014.Protocols1Builder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev161014.lldp.container.LldpBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev161014.lldp.container.lldp.PortConfig;
@@ -101,7 +96,6 @@ public class PortMappingVersion121Test {
     private static final Logger LOG = LoggerFactory.getLogger(PortMappingVersion121Test.class);
     private static DataBroker dataBroker;
     private static DeviceTransactionManager deviceTransactionManager;
-    private static OpenRoadmInterfaces openRoadmInterfaces;
     private static PortMappingVersion121 portMappingVersion121;
     private Random ran = new Random();
 
@@ -111,8 +105,7 @@ public class PortMappingVersion121Test {
         DataStoreContext dataStoreContext = new DataStoreContextImpl();
         dataBroker = dataStoreContext.getDataBroker();
         deviceTransactionManager = mock(DeviceTransactionManager.class);
-        openRoadmInterfaces = mock(OpenRoadmInterfaces.class);
-        portMappingVersion121 = new PortMappingVersion121(dataBroker, deviceTransactionManager, openRoadmInterfaces);
+        portMappingVersion121 = new PortMappingVersion121(dataBroker, deviceTransactionManager);
     }
 
     @Test
@@ -126,10 +119,6 @@ public class PortMappingVersion121Test {
         Ports ports = getPortsWithInterfaces(interfacesList, "p1");
         List<Ports> portsList = Arrays.asList(ports);
 
-        // mock 2 bidirectional port for SRG
-        Ports ports1 = getPortsWithInterfaces(interfacesList, "p2");
-        List<Ports> portsList1 = Arrays.asList(ports1);
-
         // mock 2 unidirectional ports for degree
         Ports ports2 = getPorts("p2", Port.PortQual.RoadmExternal, "c3", "p3", Direction.Rx);
         Ports ports3 = getPorts("p3", Port.PortQual.RoadmExternal, "c3", "p2", Direction.Tx);
@@ -194,6 +183,8 @@ public class PortMappingVersion121Test {
         // mock one degree with bidirectional port
         org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacks circuitPacks =
                 new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacksBuilder()
+                .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206
+                        .degree.CircuitPacksKey(Uint32.valueOf(1)))
                         .setCircuitPackName("c1").build();
         Map<
                 org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacksKey,
@@ -207,6 +198,8 @@ public class PortMappingVersion121Test {
         // mock one srg with bidirectional port
         org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacks srgCircuitPacks =
                 new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacksBuilder()
+                .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206
+                        .srg.CircuitPacksKey(Uint32.valueOf(2)))
                         .setCircuitPackName("c2").build();
         Map<
                 org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacksKey,
@@ -220,6 +213,8 @@ public class PortMappingVersion121Test {
         // mock one degree with 2 unidirectional ports
         org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacks circuitPacks3 =
                 new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacksBuilder()
+                .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206
+                        .degree.CircuitPacksKey(Uint32.valueOf(3)))
                         .setCircuitPackName("c3").build();
         List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacks> circuitPacksList3 =
                 new ArrayList<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacks>();
@@ -237,6 +232,8 @@ public class PortMappingVersion121Test {
         // mock one srg with 2 unidirectional ports
         org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacks srgCircuitPacks4 =
                 new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacksBuilder()
+                .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206
+                        .srg.CircuitPacksKey(Uint32.valueOf(4)))
                         .setCircuitPackName("c4").build();
         Map<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacksKey,
                 org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacks>
@@ -249,6 +246,8 @@ public class PortMappingVersion121Test {
         // mock one degree with unidirectional ports, reverse direction
         org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacks circuitPacks5 =
                 new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacksBuilder()
+                .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206
+                        .degree.CircuitPacksKey(Uint32.valueOf(5)))
                         .setCircuitPackName("c5").build();
         List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacks> circuitPacksList5 =
                 new ArrayList<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacks>();
@@ -263,6 +262,8 @@ public class PortMappingVersion121Test {
         // mock one srg with 2 unidirectional ports, reverse direction
         org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacks srgCircuitPacks6 =
                 new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacksBuilder()
+                .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206
+                        .srg.CircuitPacksKey(Uint32.valueOf(6)))
                         .setCircuitPackName("c6").build();
         Map<
                 org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacksKey,
@@ -318,7 +319,8 @@ public class PortMappingVersion121Test {
         when(deviceTransactionManager.getDataFromDevice("node", LogicalDatastoreType.OPERATIONAL, protocoliid,
                 Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT)).thenReturn(Optional.of(protocols));
 
-        Interface interfaceObject = new InterfaceBuilder().setSupportingCircuitPackName("sc1").build();
+        Interface interfaceObject = new InterfaceBuilder().withKey(new InterfaceKey("itf1"))
+                .setSupportingCircuitPackName("sc1").build();
         InstanceIdentifier<Interface> interfaceIID = InstanceIdentifier.create(OrgOpenroadmDevice.class)
                 .child(Interface.class, new InterfaceKey(portConfig.getIfName()));
         when(deviceTransactionManager.getDataFromDevice("node", LogicalDatastoreType.OPERATIONAL, interfaceIID,
@@ -329,6 +331,8 @@ public class PortMappingVersion121Test {
         when(deviceTransactionManager.getDataFromDevice("node", LogicalDatastoreType.OPERATIONAL, portID,
                 Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT)).thenReturn(Optional.of(ports));
 
+        // mock 2 bidirectional port for SRG
+        Ports ports1 = getPortsWithInterfaces(interfacesList, "p2");
         InstanceIdentifier<Ports> portID1 = getChild("c2", "p1");
         when(deviceTransactionManager.getDataFromDevice("node",
             LogicalDatastoreType.OPERATIONAL, portID1,
@@ -425,29 +429,10 @@ public class PortMappingVersion121Test {
                 Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT))
                         .thenReturn(Optional.of(ordmSrgObject6));
 
-        Interface ifc1 = new InterfaceBuilder().setType(OpticalTransport.class).build();
-        Interface ifc2 = new InterfaceBuilder().setType(OpenROADMOpticalMultiplex.class).build();
-        try {
-            when(openRoadmInterfaces.getInterface("node", "i1")).thenReturn(Optional.of(ifc1));
-            when(openRoadmInterfaces.getInterface("node", "i2")).thenReturn(Optional.of(ifc2));
-        } catch (OpenRoadmInterfaceException e) {
-            LOG.error("Failed to mock interafce.", e);
-            fail();
-        }
-
         // test createMappingData with a node with 3 dgree + 3 srg + bidirectional & unidirectional ports
         assertTrue("creating mappingdata for existed node returns true",
                 portMappingVersion121.createMappingData("node"));
 
-        // verify 2 interfaces were processed
-        try {
-            verify(openRoadmInterfaces).getInterface("node", "i1");
-            verify(openRoadmInterfaces).getInterface("node", "i2");
-        } catch (OpenRoadmInterfaceException e) {
-            LOG.error("Failed to read interface", e);
-            fail();
-        }
-
         // assert all portmappings have been created for the roadm node
         ReadTransaction rr = dataBroker.newReadOnlyTransaction();
         InstanceIdentifier<Network> mappingIID = InstanceIdentifier.create(Network.class);
@@ -494,13 +479,15 @@ public class PortMappingVersion121Test {
         final Info info = getInfo();
 
         // mock 1 bidirectional port for network
-        Ports ports = new PortsBuilder().setPortName("p1").setPortQual(Port.PortQual.XpdrNetwork)
+        Ports ports = new PortsBuilder().withKey(new PortsKey("p1")).setPortName("p1")
+                .setPortQual(Port.PortQual.XpdrNetwork)
                 .setPortDirection(Direction.Bidirectional).build();
         List<Ports> portsList = new ArrayList<>();
         portsList.add(ports);
 
         // mock 1 bidirectional port for client
-        Ports ports11 = new PortsBuilder().setPortName("p11").setPortQual(Port.PortQual.XpdrClient)
+        Ports ports11 = new PortsBuilder().withKey(new PortsKey("p11")).setPortName("p11")
+                .setPortQual(Port.PortQual.XpdrClient)
                 .setPortDirection(Direction.Bidirectional).build();
         List<Ports> portsList11 = new ArrayList<>();
         portsList11.add(ports11);
@@ -520,7 +507,8 @@ public class PortMappingVersion121Test {
         portsList4.add(ports5);
 
         // mock connection map
-        Destination destination = new DestinationBuilder().setCircuitPackName("c2").setPortName("p11").build();
+        Destination destination = new DestinationBuilder()
+                .setCircuitPackName("c2").setPortName("p11").build();
         List<Destination> destinationList = new ArrayList<>();
         destinationList.add(destination);
         ConnectionMap connectionMap = getConnectionMap(destinationList);