61520b6b2a88ea586dd3ab8b36d94799dbe16470
[transportpce.git] / common / src / test / java / org / opendaylight / transportpce / common / mapping / MappingUtilsImplTest.java
1 /*
2  * Copyright © 2020 Orange.  All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.transportpce.common.mapping;
10
11 import static org.junit.Assert.assertEquals;
12 import static org.junit.Assert.assertNotNull;
13 import static org.junit.Assert.assertNull;
14
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;
31
32
33 public class MappingUtilsImplTest {
34
35     private DataBroker dataBroker = null;
36
37     @Before
38     public void setUp() throws Exception {
39         DataStoreContext dataStoreContext = new DataStoreContextImpl();
40         dataBroker = dataStoreContext.getDataBroker();
41     }
42
43     @Test
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();
56
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);
61         wr.commit().get();
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"));
70     }
71
72
73 }