Migrate common module to JUnit5
[transportpce.git] / common / src / test / java / org / opendaylight / transportpce / common / mapping / MappingUtilsImplTest.java
index 61520b6b2a88ea586dd3ab8b36d94799dbe16470..acbb77d708f5c1e107cacfd429a0704986b13de5 100644 (file)
@@ -8,66 +8,72 @@
 
 package org.opendaylight.transportpce.common.mapping;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.nio.charset.StandardCharsets;
 import java.util.concurrent.ExecutionException;
-import org.junit.Before;
-import org.junit.Test;
-import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.transportpce.common.DataStoreContext;
-import org.opendaylight.transportpce.common.DataStoreContextImpl;
 import org.opendaylight.transportpce.common.StringConstants;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.Network;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.Nodes;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.NodesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.NodesKey;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.nodes.NodeInfo;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.nodes.NodeInfoBuilder;
+import org.opendaylight.transportpce.test.AbstractTest;
+import org.opendaylight.transportpce.test.converter.DataObjectConverter;
+import org.opendaylight.transportpce.test.converter.JSONDataObjectConverter;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.Network;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
+public class MappingUtilsImplTest extends AbstractTest {
+    private static final Logger LOG = LoggerFactory.getLogger(MappingUtilsImplTest.class);
+    private static MappingUtils mappingUtils;
 
-public class MappingUtilsImplTest {
-
-    private DataBroker dataBroker = null;
-
-    @Before
-    public void setUp() throws Exception {
-        DataStoreContext dataStoreContext = new DataStoreContextImpl();
-        dataBroker = dataStoreContext.getDataBroker();
+    @BeforeAll
+    static void setUp() throws InterruptedException, ExecutionException, FileNotFoundException {
+        DataObjectConverter dataObjectConverter = JSONDataObjectConverter
+                .createWithDataStoreUtil(getDataStoreContextUtil());
+        try (Reader reader = new FileReader("src/test/resources/network.json", StandardCharsets.UTF_8)) {
+            NormalizedNode normalizedNode = dataObjectConverter
+                    .transformIntoNormalizedNode(reader).get();
+            Network network = (Network) getDataStoreContextUtil()
+                    .getBindingDOMCodecServices().fromNormalizedNode(YangInstanceIdentifier
+                            .of(Network.QNAME), normalizedNode).getValue();
+            WriteTransaction writeNetworkTransaction = getDataBroker().newWriteOnlyTransaction();
+            writeNetworkTransaction.put(LogicalDatastoreType.CONFIGURATION,
+                    InstanceIdentifier.builder(Network.class).build(), network);
+            writeNetworkTransaction.commit().get();
+        } catch (IOException e) {
+            LOG.error("Cannot load network ", e);
+            fail("Cannot load network");
+        }
+        mappingUtils = new MappingUtilsImpl(getDataBroker());
     }
 
     @Test
-    public void getOpenRoadmVersionTest() throws ExecutionException, InterruptedException {
-        final MappingUtils mappingUtils = new MappingUtilsImpl(dataBroker);
-        final NodeInfo nodeInfo = new NodeInfoBuilder().setOpenroadmVersion(NodeInfo.OpenroadmVersion._121).build();
-        final NodeInfo nodeInfo2 = new NodeInfoBuilder().setOpenroadmVersion(NodeInfo.OpenroadmVersion._221).build();
-        Nodes nodes = new NodesBuilder().setNodeId("node3").build();
-        InstanceIdentifier<NodeInfo> nodeInfoIID = InstanceIdentifier.builder(Network.class).child(Nodes.class,
-                new NodesKey("node")).child(NodeInfo.class).build();
-        InstanceIdentifier<NodeInfo> nodeInfoIID2 = InstanceIdentifier.builder(Network.class).child(Nodes.class,
-                new NodesKey("node2")).child(NodeInfo.class).build();
-        InstanceIdentifier<Nodes> nodeIID = InstanceIdentifier.builder(Network.class).child(Nodes.class,
-                new NodesKey("node3")).build();
-        WriteTransaction wr = dataBroker.newWriteOnlyTransaction();
-
-        //Create a node version 1, a node version 2, and a node no version
-        wr.merge(LogicalDatastoreType.CONFIGURATION, nodeInfoIID, nodeInfo, true);
-        wr.merge(LogicalDatastoreType.CONFIGURATION, nodeInfoIID2, nodeInfo2, true);
-        wr.merge(LogicalDatastoreType.CONFIGURATION, nodeIID, nodes, true);
-        wr.commit().get();
-        //Test the versions are returned OK
-        assertEquals("They have the same openroadmVersion",
-                mappingUtils.getOpenRoadmVersion("node"), StringConstants.OPENROADM_DEVICE_VERSION_1_2_1);
-        assertEquals("They have the same openroadmVersion",
-                mappingUtils.getOpenRoadmVersion("node2"), StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
-        assertNull("node3 isn't exists", mappingUtils.getOpenRoadmVersion("node3"));
-        assertNotNull("node is existed", mappingUtils.getOpenRoadmVersion("node"));
-        assertNotNull("node2 is existed", mappingUtils.getOpenRoadmVersion("node2"));
+    void getOpenRoadmVersionTest() throws ExecutionException, InterruptedException {
+        assertEquals(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1, mappingUtils.getOpenRoadmVersion("ROADM-C1"),
+            "NodeInfo with ROADM-C1 as id should be 1.2.1 version");
+        assertEquals(StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, mappingUtils.getOpenRoadmVersion("ROADM-A1"),
+            "NodeInfo with ROADM-A1 as id should be 2.2.1 version");
+        assertNull(mappingUtils.getOpenRoadmVersion("nodes3"), "NodeInfo with nodes3 as id should not exist");
     }
 
-
+    @Test
+    void getMcCapabilitiesForNodeTest() {
+        assertEquals(2, mappingUtils.getMcCapabilitiesForNode("ROADM-A1").size(),
+            "Mc capabilities list size should be 2");
+        assertTrue(mappingUtils.getMcCapabilitiesForNode("ROADM-A2").isEmpty(),
+            "Mc capabilities list size should be empty");
+    }
 }