Migrate networkmodel module to JUnit5
[transportpce.git] / networkmodel / src / test / java / org / opendaylight / transportpce / networkmodel / util / OpenRoadmTopologyTest.java
index 4acee5cbda6f2b79394b0f1e47bd0f8be18f7c83..10b1fd34b625a7e086f75907c78ab71454753803 100644 (file)
@@ -7,11 +7,11 @@
  */
 package org.opendaylight.transportpce.networkmodel.util;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
@@ -28,12 +28,11 @@ import java.util.concurrent.Executor;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.stream.Collectors;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.mockito.invocation.InvocationOnMock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 import org.mockito.stubbing.Answer;
 import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
@@ -72,18 +71,18 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.Uint16;
 
 
-@RunWith(MockitoJUnitRunner.StrictStubs.class)
+@ExtendWith(MockitoExtension.class)
 public class OpenRoadmTopologyTest {
     @Mock
     private NetworkTransactionService networkTransactionService;
 
     @Test
-    public void createTopologyShardForDegreeTest() {
+    void createTopologyShardForDegreeTest() {
         Nodes mappingNode = NetworkmodelTestUtil.createMappingForRdm("ROADMA01", "nodeA", 2, List.of());
         TopologyShard topologyShard = OpenRoadmTopology.createTopologyShard(mappingNode);
         assertNotNull(topologyShard);
-        assertEquals("Should contain 2 Degree nodes only", 2, topologyShard.getNodes().size());
-        assertEquals("Should contain 2 links", 2, topologyShard.getLinks().size());
+        assertEquals(2, topologyShard.getNodes().size(), "Should contain 2 Degree nodes only");
+        assertEquals(2, topologyShard.getLinks().size(), "Should contain 2 links");
         List<Node> nodes = topologyShard.getNodes().stream()
             .sorted((n1, n2) -> n1.getNodeId().getValue().compareTo(n2.getNodeId().getValue()))
             .collect(Collectors.toList());
@@ -95,7 +94,7 @@ public class OpenRoadmTopologyTest {
         List<Link> links = topologyShard.getLinks().stream()
             .sorted((l1, l2) -> l1.getLinkId().getValue().compareTo(l2.getLinkId().getValue()))
             .collect(Collectors.toList());
-        assertEquals("Should contain 2 express links", 2, links.size());
+        assertEquals(2, links.size(), "Should contain 2 express links");
         assertEquals("ROADMA01-DEG1-DEG1-CTP-TXRXtoROADMA01-DEG2-DEG2-CTP-TXRX", links.get(0).getLinkId().getValue());
         assertEquals("ROADMA01-DEG1", links.get(0).getSource().getSourceNode().getValue());
         assertEquals("DEG1-CTP-TXRX", links.get(0).getSource().getSourceTp().getValue());
@@ -109,29 +108,29 @@ public class OpenRoadmTopologyTest {
     }
 
     @Test
-    public void createTopologyShardForSrgTest() {
-        Nodes mappingNode = NetworkmodelTestUtil.createMappingForRdm("ROADMA01", "nodeA", 0,
-            List.of(Integer.valueOf(1)));
+    void createTopologyShardForSrgTest() {
+        Nodes mappingNode = NetworkmodelTestUtil.createMappingForRdm(
+                "ROADMA01", "nodeA", 0, List.of(Integer.valueOf(1)));
         TopologyShard topologyShard = OpenRoadmTopology.createTopologyShard(mappingNode);
         assertNotNull(topologyShard);
         List<Node> nodes = topologyShard.getNodes();
-        assertEquals("Should contain 1 SRG node only", 1, nodes.size());
-        assertEquals("Should contain 0 link", 0, topologyShard.getLinks().size());
+        assertEquals(1, nodes.size(), "Should contain 1 SRG node only");
+        assertEquals(0, topologyShard.getLinks().size(), "Should contain 0 link");
         checkSrgNode("1", nodes.get(0));
     }
 
     @Test
-    public void createTopologyShardForMultipleSrgTest() {
+    void createTopologyShardForMultipleSrgTest() {
         List<Integer> srgNbs = List.of(Integer.valueOf(1), Integer.valueOf(2), Integer.valueOf(10),
-            Integer.valueOf(11));
+                Integer.valueOf(11));
         Nodes mappingNode = NetworkmodelTestUtil.createMappingForRdm("ROADMA01", "nodeA", 0, srgNbs);
         TopologyShard topologyShard = OpenRoadmTopology.createTopologyShard(mappingNode);
         assertNotNull(topologyShard);
         List<Node> nodes = topologyShard.getNodes().stream()
             .sorted((n1, n2) -> n1.getNodeId().getValue().compareTo(n2.getNodeId().getValue()))
             .collect(Collectors.toList());
-        assertEquals("Should contain 4 SRG nodes", 4, nodes.size());
-        assertEquals("Should contain 0 link", 0, topologyShard.getLinks().size());
+        assertEquals(4, nodes.size(), "Should contain 4 SRG nodes");
+        assertEquals(0, topologyShard.getLinks().size(), "Should contain 0 link");
         checkSrgNode("1", nodes.get(0));
         checkSrgNode("10", nodes.get(1));
         checkSrgNode("11", nodes.get(2));
@@ -139,76 +138,77 @@ public class OpenRoadmTopologyTest {
     }
 
     @Test
-    public void createTopologyShardForCompleteRdmNodeTest() {
+    void createTopologyShardForCompleteRdmNodeTest() {
         Nodes mappingNode = NetworkmodelTestUtil.createMappingForRdm("ROADMA01", "nodeA", 2,
             List.of(Integer.valueOf(1), Integer.valueOf(2)));
         TopologyShard topologyShard = OpenRoadmTopology.createTopologyShard(mappingNode);
         assertNotNull(topologyShard);
-        assertEquals("Should contain 2 Deg and 2 SRG nodes", 4, topologyShard.getNodes().size());
+        assertEquals(4, topologyShard.getNodes().size(), "Should contain 2 Deg and 2 SRG nodes");
         List<Link> addLinks = topologyShard.getLinks().stream()
             .filter(lk -> lk.augmentation(Link1.class).getLinkType().equals(OpenroadmLinkType.ADDLINK))
             .collect(Collectors.toList());
-        assertEquals("Should contain 4 add links", 4, addLinks.size());
+        assertEquals(4, addLinks.size(), "Should contain 4 add links");
         List<Link> dropLinks = topologyShard.getLinks().stream()
             .filter(lk -> lk.augmentation(Link1.class).getLinkType().equals(OpenroadmLinkType.DROPLINK))
             .collect(Collectors.toList());
-        assertEquals("Should contain 4 drop links", 4, dropLinks.size());
+        assertEquals(4, dropLinks.size(), "Should contain 4 drop links");
         List<Link> expressLinks = topologyShard.getLinks().stream()
             .filter(lk -> lk.augmentation(Link1.class).getLinkType().equals(OpenroadmLinkType.EXPRESSLINK))
             .collect(Collectors.toList());
-        assertEquals("Should contain 2 express links", 2, expressLinks.size());
+        assertEquals(2, expressLinks.size(), "Should contain 2 express links");
     }
 
     @Test
-    public void createTopologyShardForTpdrNodeTest() {
+    void createTopologyShardForTpdrNodeTest() {
         Nodes mappingNode = NetworkmodelTestUtil.createMappingForXpdr("XPDRA01", "nodeA", 2, 2, null);
         TopologyShard topologyShard = OpenRoadmTopology.createTopologyShard(mappingNode);
         assertNotNull(topologyShard);
-        assertEquals("Should contain a single node", 1, topologyShard.getNodes().size());
-        assertEquals("Should contain 0 link", 0, topologyShard.getLinks().size());
+        assertEquals(1, topologyShard.getNodes().size(), "Should contain a single node");
+        assertEquals(0, topologyShard.getLinks().size(), "Should contain 0 link");
         checkTpdrNode(topologyShard.getNodes().get(0));
     }
 
     @Test
-    public void createTopologyShardForTpdrNode2Test() {
+    void createTopologyShardForTpdrNode2Test() {
         Nodes mappingNode = NetworkmodelTestUtil.createMappingForXpdr("XPDRA01", "nodeA", 2, 2, XpdrNodeTypes.Tpdr);
         TopologyShard topologyShard = OpenRoadmTopology.createTopologyShard(mappingNode);
         assertNotNull(topologyShard);
-        assertEquals("Should contain a single node", 1, topologyShard.getNodes().size());
-        assertEquals("Should contain 0 link", 0, topologyShard.getLinks().size());
+        assertEquals(1, topologyShard.getNodes().size(), "Should contain a single node");
+        assertEquals(0, topologyShard.getLinks().size(), "Should contain 0 link");
         checkTpdrNode(topologyShard.getNodes().get(0));
     }
 
     @Test
-    public void createTopologyShardForMpdrNodeTest() {
+    void createTopologyShardForMpdrNodeTest() {
         Nodes mappingNode = NetworkmodelTestUtil.createMappingForXpdr("XPDRA01", "nodeA", 2, 2, XpdrNodeTypes.Mpdr);
         TopologyShard topologyShard = OpenRoadmTopology.createTopologyShard(mappingNode);
         assertNotNull(topologyShard);
-        assertEquals("Should contain a single node", 1, topologyShard.getNodes().size());
-        assertEquals("Should contain 0 link", 0, topologyShard.getLinks().size());
+        assertEquals(1, topologyShard.getNodes().size(), "Should contain a single node");
+        assertEquals(0, topologyShard.getLinks().size(), "Should contain 0 link");
         checkOtnXpdrNode(topologyShard.getNodes().get(0));
     }
 
     @Test
-    public void createTopologyShardForSwitchNodeTest() {
+    void createTopologyShardForSwitchNodeTest() {
         Nodes mappingNode = NetworkmodelTestUtil.createMappingForXpdr("XPDRA01", "nodeA", 2, 2, XpdrNodeTypes.Switch);
         TopologyShard topologyShard = OpenRoadmTopology.createTopologyShard(mappingNode);
         assertNotNull(topologyShard);
-        assertEquals("Should contain a single node", 1, topologyShard.getNodes().size());
-        assertEquals("Should contain 0 link", 0, topologyShard.getLinks().size());
+        assertEquals(1, topologyShard.getNodes().size(), "Should contain a single node");
+        assertEquals(0, topologyShard.getLinks().size(), "Should contain 0 link");
         checkOtnXpdrNode(topologyShard.getNodes().get(0));
     }
 
-    @Ignore
     @Test
-    public void createTopologyShardForRdmWithoutClliTest() {
+    void createTopologyShardForRdmWithoutClliTest() {
         Nodes mappingNode = NetworkmodelTestUtil.createMappingForRdm("ROADMA01", null, 2, List.of());
-        TopologyShard topologyShard = OpenRoadmTopology.createTopologyShard(mappingNode);
-        assertNull("clli must not be null", topologyShard);
+        Exception exception = assertThrows(NullPointerException.class, () -> {
+            OpenRoadmTopology.createTopologyShard(mappingNode);
+        });
+        assertTrue("Supplied value may not be null".contains(exception.getMessage()));
     }
 
     @Test
-    public void deleteLinkOkTest() throws InterruptedException, ExecutionException {
+    void deleteLinkOkTest() throws InterruptedException, ExecutionException {
         String srcNode = "ROADM-A1-DEG1";
         String dstNode = "ROADM-A1-SRG1";
         String srcTp = "DEG1-CTP-TXRX";
@@ -223,9 +223,11 @@ public class OpenRoadmTopologyTest {
                 .build())
             .addAugmentation(link1)
             .build();
-        InstanceIdentifier<Link> linkIID = InstanceIdentifier.builder(Networks.class).child(Network.class,
-            new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))).augmentation(Network1.class)
-            .child(Link.class, new LinkKey(linkId)).build();
+        InstanceIdentifier<Link> linkIID = InstanceIdentifier.builder(Networks.class)
+            .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
+            .augmentation(Network1.class)
+            .child(Link.class, new LinkKey(linkId))
+            .build();
         when(networkTransactionService.read(LogicalDatastoreType.CONFIGURATION, linkIID))
             .thenReturn(new LinkFuture(link));
 
@@ -241,29 +243,31 @@ public class OpenRoadmTopologyTest {
 
         boolean result = OpenRoadmTopology.deleteLink("ROADM-A1-DEG1", "ROADM-A1-SRG1", "DEG1-CTP-TXRX", "SRG1-CP-TXRX",
             networkTransactionService);
-        assertTrue("link deletion should be ok", result);
+        assertTrue(result, "link deletion should be ok");
     }
 
     @Test
-    public void deleteLinkNotOkTest() throws InterruptedException, ExecutionException {
+    void deleteLinkNotOkTest() throws InterruptedException, ExecutionException {
         String srcNode = "ROADM-A1-DEG1";
         String dstNode = "ROADM-A1-SRG1";
         String srcTp = "DEG1-CTP-TXRX";
         String destTp = "SRG1-CP-TXRX";
         LinkId linkId = LinkIdUtil.buildLinkId(srcNode, srcTp, dstNode, destTp);
 
-        InstanceIdentifier<Link> linkIID = InstanceIdentifier.builder(Networks.class).child(Network.class,
-            new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))).augmentation(Network1.class)
-            .child(Link.class, new LinkKey(linkId)).build();
+        InstanceIdentifier<Link> linkIID = InstanceIdentifier.builder(Networks.class)
+            .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
+            .augmentation(Network1.class)
+            .child(Link.class, new LinkKey(linkId))
+            .build();
         when(networkTransactionService.read(LogicalDatastoreType.CONFIGURATION, linkIID)).thenReturn(new LinkFuture());
 
-        boolean result = OpenRoadmTopology.deleteLink("ROADM-A1-DEG1", "ROADM-A1-SRG1", "DEG1-CTP-TXRX", "SRG1-CP-TXRX",
-            networkTransactionService);
-        assertFalse("link deletion should not be ok", result);
+        boolean result = OpenRoadmTopology.deleteLink(
+                "ROADM-A1-DEG1", "ROADM-A1-SRG1", "DEG1-CTP-TXRX", "SRG1-CP-TXRX", networkTransactionService);
+        assertFalse(result, "link deletion should not be ok");
     }
 
     @Test
-    public void deleteLinkExceptionTest() throws InterruptedException, ExecutionException {
+    void deleteLinkExceptionTest() throws InterruptedException, ExecutionException {
         String srcNode = "ROADM-A1-DEG1";
         String dstNode = "ROADM-A1-SRG1";
         String srcTp = "DEG1-CTP-TXRX";
@@ -271,14 +275,16 @@ public class OpenRoadmTopologyTest {
         LinkId linkId = LinkIdUtil.buildLinkId(srcNode, srcTp, dstNode, destTp);
 
         InstanceIdentifier<Link> linkIID = InstanceIdentifier.builder(Networks.class)
-                .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
-                .augmentation(Network1.class).child(Link.class, new LinkKey(linkId)).build();
+            .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
+            .augmentation(Network1.class)
+            .child(Link.class, new LinkKey(linkId))
+            .build();
         when(networkTransactionService.read(LogicalDatastoreType.CONFIGURATION, linkIID))
-                .thenReturn(new InterruptedLinkFuture());
-        boolean result = OpenRoadmTopology.deleteLink("ROADM-A1-DEG1", "ROADM-A1-SRG1", "DEG1-CTP-TXRX", "SRG1-CP-TXRX",
-                networkTransactionService);
+            .thenReturn(new InterruptedLinkFuture());
+        boolean result = OpenRoadmTopology.deleteLink(
+                "ROADM-A1-DEG1", "ROADM-A1-SRG1", "DEG1-CTP-TXRX", "SRG1-CP-TXRX", networkTransactionService);
         verify(networkTransactionService, never()).merge(any(), any(), any());
-        assertFalse("Result should be false du to InterruptedException", result);
+        assertFalse(result, "Result should be false du to InterruptedException");
     }
 
     private void checkDegreeNode(String nodeNb, Node node) {
@@ -292,18 +298,19 @@ public class OpenRoadmTopologyTest {
         assertEquals("openroadm-network", supportingNodes.get(1).getNetworkRef().getValue());
         assertEquals("ROADMA01", supportingNodes.get(1).getNodeRef().getValue());
         assertEquals(OpenroadmNodeType.DEGREE, node.augmentation(Node1.class).getNodeType());
-        assertEquals(Uint16.valueOf(nodeNb), node.augmentation(
-            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.Node1.class)
-            .getDegreeAttributes().getDegreeNumber());
+        assertEquals(
+            Uint16.valueOf(nodeNb),
+            node.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.Node1.class)
+                .getDegreeAttributes().getDegreeNumber());
         List<AvailFreqMaps> availFreqMapsValues = new ArrayList<>(node.augmentation(
-            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.Node1.class)
+                org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.Node1.class)
             .getDegreeAttributes().getAvailFreqMaps().values());
         assertEquals(GridConstant.NB_OCTECTS, availFreqMapsValues.get(0).getFreqMap().length);
         byte[] byteArray = new byte[GridConstant.NB_OCTECTS];
         Arrays.fill(byteArray, (byte) GridConstant.AVAILABLE_SLOT_VALUE);
         assertEquals(Arrays.toString(byteArray), Arrays.toString(availFreqMapsValues.get(0).getFreqMap()));
         List<TerminationPoint> tps = node.augmentation(
-            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
+                org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
             .nonnullTerminationPoint().values().stream()
             .sorted((tp1, tp2) -> tp1.getTpId().getValue().compareTo(tp2.getTpId().getValue()))
             .collect(Collectors.toList());
@@ -327,13 +334,13 @@ public class OpenRoadmTopologyTest {
         assertEquals(OpenroadmNodeType.SRG, node.augmentation(Node1.class).getNodeType());
         List<AvailFreqMaps> availFreqMapsValues = new ArrayList<>(node.augmentation(
                 org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.Node1.class)
-                .getSrgAttributes().getAvailFreqMaps().values());
+            .getSrgAttributes().getAvailFreqMaps().values());
         assertEquals(GridConstant.NB_OCTECTS, availFreqMapsValues.get(0).getFreqMap().length);
         byte[] byteArray = new byte[GridConstant.NB_OCTECTS];
         Arrays.fill(byteArray, (byte) GridConstant.AVAILABLE_SLOT_VALUE);
         assertEquals(Arrays.toString(byteArray), Arrays.toString(availFreqMapsValues.get(0).getFreqMap()));
         List<TerminationPoint> tps = node.augmentation(
-            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
+                org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
             .nonnullTerminationPoint().values().stream()
             .sorted((tp1, tp2) -> tp1.getTpId().getValue().compareTo(tp2.getTpId().getValue()))
             .collect(Collectors.toList());
@@ -356,25 +363,22 @@ public class OpenRoadmTopologyTest {
         assertEquals("XPDRA01", supportingNodes.get(1).getNodeRef().getValue());
         assertEquals(OpenroadmNodeType.XPONDER, node.augmentation(Node1.class).getNodeType());
         List<TerminationPoint> tps = node.augmentation(
-            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
+                org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
             .nonnullTerminationPoint().values().stream()
             .sorted((tp1, tp2) -> tp1.getTpId().getValue().compareTo(tp2.getTpId().getValue()))
             .collect(Collectors.toList());
         assertEquals(4, tps.size());
         assertEquals("XPDR1-CLIENT1", tps.get(0).getTpId().getValue());
         assertEquals(OpenroadmTpType.XPONDERCLIENT, tps.get(0).augmentation(TerminationPoint1.class).getTpType());
-        assertEquals("XPDR1-NETWORK1", tps.get(0).augmentation(TerminationPoint1.class)
-                .getAssociatedConnectionMapTp()
-                .iterator()
-                .next()
+        assertEquals(
+            "XPDR1-NETWORK1",
+            tps.get(0).augmentation(TerminationPoint1.class).getAssociatedConnectionMapTp().iterator().next()
                 .getValue());
         assertEquals("XPDR1-NETWORK1", tps.get(2).getTpId().getValue());
         assertEquals(OpenroadmTpType.XPONDERNETWORK, tps.get(2).augmentation(TerminationPoint1.class).getTpType());
-        assertEquals("XPDR1-CLIENT1", tps.get(2).augmentation(
-                TerminationPoint1.class)
-                .getAssociatedConnectionMapTp()
-                .iterator()
-                .next()
+        assertEquals(
+            "XPDR1-CLIENT1",
+            tps.get(2).augmentation(TerminationPoint1.class).getAssociatedConnectionMapTp().iterator().next()
                 .getValue());
     }
 
@@ -390,7 +394,7 @@ public class OpenRoadmTopologyTest {
         assertEquals("XPDRA01", supportingNodes.get(1).getNodeRef().getValue());
         assertEquals(OpenroadmNodeType.XPONDER, node.augmentation(Node1.class).getNodeType());
         List<TerminationPoint> tps = node.augmentation(
-            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
+                org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
             .nonnullTerminationPoint().values().stream()
             .sorted((tp1, tp2) -> tp1.getTpId().getValue().compareTo(tp2.getTpId().getValue()))
             .collect(Collectors.toList());