X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=common%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fcommon%2Fmapping%2FMappingUtilsImplTest.java;h=522f20bb568cd740455d3e9b4c49daf25975fd7e;hb=67763b4d82e44c68fdbc765cdeec5496ff65b01e;hp=398575c1bbafb57e5c827ef0b4f130bbb34e99da;hpb=01496e26615d33be24a427e0f4d12a161acbe064;p=transportpce.git diff --git a/common/src/test/java/org/opendaylight/transportpce/common/mapping/MappingUtilsImplTest.java b/common/src/test/java/org/opendaylight/transportpce/common/mapping/MappingUtilsImplTest.java index 398575c1b..522f20bb5 100644 --- a/common/src/test/java/org/opendaylight/transportpce/common/mapping/MappingUtilsImplTest.java +++ b/common/src/test/java/org/opendaylight/transportpce/common/mapping/MappingUtilsImplTest.java @@ -10,64 +10,74 @@ package org.opendaylight.transportpce.common.mapping; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.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.BeforeClass; import org.junit.Test; -import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.transportpce.common.StringConstants; -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.network.Nodes; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.NodesBuilder; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.NodesKey; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.NodeInfo; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.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.rev210315.Network; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -public class MappingUtilsImplTest { +public class MappingUtilsImplTest extends AbstractTest { + private static final Logger LOG = LoggerFactory.getLogger(MappingUtilsImplTest.class); + private static MappingUtils mappingUtils; - private DataBroker dataBroker = null; - - @Before - public void setUp() { - DataStoreContext dataStoreContext = new DataStoreContextImpl(); - dataBroker = dataStoreContext.getDataBroker(); + @BeforeClass + public 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("nodes").setNodeInfo(nodeInfo).build(); - Nodes nodes2 = new NodesBuilder().setNodeId("nodes2").setNodeInfo(nodeInfo2).build(); - Nodes nodes3 = new NodesBuilder().setNodeId("nodes3").build(); - InstanceIdentifier nodeIID = InstanceIdentifier.builder(Network.class).child(Nodes.class, - new NodesKey("nodes")).build(); - InstanceIdentifier nodeIID2 = InstanceIdentifier.builder(Network.class).child(Nodes.class, - new NodesKey("nodes2")).build(); - InstanceIdentifier nodeIID3 = InstanceIdentifier.builder(Network.class).child(Nodes.class, - new NodesKey("nodes3")).build(); - WriteTransaction wr = dataBroker.newWriteOnlyTransaction(); - - //Create a node version 1, a node version 2, and a node no version - wr.merge(LogicalDatastoreType.CONFIGURATION, nodeIID, nodes); - wr.merge(LogicalDatastoreType.CONFIGURATION, nodeIID2, nodes2); - wr.merge(LogicalDatastoreType.CONFIGURATION, nodeIID3, nodes3); - wr.commit().get(); - //Test the versions are returned OK - assertEquals("NodeInfo with nodes as id should be 1.2.1 version", + assertEquals("NodeInfo with ROADM-C1 as id should be 1.2.1 version", StringConstants.OPENROADM_DEVICE_VERSION_1_2_1, - mappingUtils.getOpenRoadmVersion("nodes")); - assertEquals("NodeInfo with nodes as id should be 2.2.1 version", + mappingUtils.getOpenRoadmVersion("ROADM-C1")); + assertEquals("NodeInfo with ROADM-A1 as id should be 2.2.1 version", StringConstants.OPENROADM_DEVICE_VERSION_2_2_1, - mappingUtils.getOpenRoadmVersion("nodes2")); + mappingUtils.getOpenRoadmVersion("ROADM-A1")); assertNull("NodeInfo with nodes3 as id should not exist", mappingUtils.getOpenRoadmVersion("nodes3")); } + @Test + public void getMcCapabilitiesForNodeTest() { + assertEquals("Mc capabilities list size should be 2", 2, + mappingUtils.getMcCapabilitiesForNode("ROADM-A1").size()); + assertTrue("Mc capabilities list size should be empty", + mappingUtils.getMcCapabilitiesForNode("ROADM-A2").isEmpty()); + } + }