2 * Copyright © 2020 Orange. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.transportpce.common.mapping;
11 import static org.junit.Assert.assertEquals;
12 import static org.junit.Assert.assertNotNull;
13 import static org.junit.Assert.assertNull;
15 import java.util.concurrent.ExecutionException;
16 import org.junit.Before;
17 import org.junit.Test;
18 import org.opendaylight.mdsal.binding.api.DataBroker;
19 import org.opendaylight.mdsal.binding.api.WriteTransaction;
20 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
21 import org.opendaylight.transportpce.common.DataStoreContext;
22 import org.opendaylight.transportpce.common.DataStoreContextImpl;
23 import org.opendaylight.transportpce.common.StringConstants;
24 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.Network;
25 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.Nodes;
26 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.NodesBuilder;
27 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.NodesKey;
28 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.nodes.NodeInfo;
29 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.nodes.NodeInfoBuilder;
30 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
33 public class MappingUtilsImplTest {
35 private DataBroker dataBroker = null;
38 public void setUp() throws Exception {
39 DataStoreContext dataStoreContext = new DataStoreContextImpl();
40 dataBroker = dataStoreContext.getDataBroker();
44 public void getOpenRoadmVersionTest() throws ExecutionException, InterruptedException {
45 final MappingUtils mappingUtils = new MappingUtilsImpl(dataBroker);
46 final NodeInfo nodeInfo = new NodeInfoBuilder().setOpenroadmVersion(NodeInfo.OpenroadmVersion._121).build();
47 final NodeInfo nodeInfo2 = new NodeInfoBuilder().setOpenroadmVersion(NodeInfo.OpenroadmVersion._221).build();
48 Nodes nodes = new NodesBuilder().setNodeId("node3").build();
49 InstanceIdentifier<NodeInfo> nodeInfoIID = InstanceIdentifier.builder(Network.class).child(Nodes.class,
50 new NodesKey("node")).child(NodeInfo.class).build();
51 InstanceIdentifier<NodeInfo> nodeInfoIID2 = InstanceIdentifier.builder(Network.class).child(Nodes.class,
52 new NodesKey("node2")).child(NodeInfo.class).build();
53 InstanceIdentifier<Nodes> nodeIID = InstanceIdentifier.builder(Network.class).child(Nodes.class,
54 new NodesKey("node3")).build();
55 WriteTransaction wr = dataBroker.newWriteOnlyTransaction();
57 //Create a node version 1, a node version 2, and a node no version
58 wr.merge(LogicalDatastoreType.CONFIGURATION, nodeInfoIID, nodeInfo, true);
59 wr.merge(LogicalDatastoreType.CONFIGURATION, nodeInfoIID2, nodeInfo2, true);
60 wr.merge(LogicalDatastoreType.CONFIGURATION, nodeIID, nodes, true);
62 //Test the versions are returned OK
63 assertEquals("They have the same openroadmVersion",
64 mappingUtils.getOpenRoadmVersion("node"), StringConstants.OPENROADM_DEVICE_VERSION_1_2_1);
65 assertEquals("They have the same openroadmVersion",
66 mappingUtils.getOpenRoadmVersion("node2"), StringConstants.OPENROADM_DEVICE_VERSION_2_2_1);
67 assertNull("node3 isn't exists", mappingUtils.getOpenRoadmVersion("node3"));
68 assertNotNull("node is existed", mappingUtils.getOpenRoadmVersion("node"));
69 assertNotNull("node2 is existed", mappingUtils.getOpenRoadmVersion("node2"));