612c463c3e8f66532f40be5c879b3bf05e83ddea
[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.assertNull;
13
14 import java.util.concurrent.ExecutionException;
15 import org.junit.Before;
16 import org.junit.Test;
17 import org.opendaylight.mdsal.binding.api.DataBroker;
18 import org.opendaylight.mdsal.binding.api.WriteTransaction;
19 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
20 import org.opendaylight.transportpce.common.DataStoreContext;
21 import org.opendaylight.transportpce.common.DataStoreContextImpl;
22 import org.opendaylight.transportpce.common.StringConstants;
23 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.Network;
24 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.Nodes;
25 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.NodesBuilder;
26 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.NodesKey;
27 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.NodeInfo;
28 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.NodeInfoBuilder;
29 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
30
31
32 public class MappingUtilsImplTest {
33
34     private DataBroker dataBroker = null;
35
36     @Before
37     public void setUp() throws Exception {
38         DataStoreContext dataStoreContext = new DataStoreContextImpl();
39         dataBroker = dataStoreContext.getDataBroker();
40     }
41
42     @Test
43     public void getOpenRoadmVersionTest() throws ExecutionException, InterruptedException {
44         final MappingUtils mappingUtils = new MappingUtilsImpl(dataBroker);
45         final NodeInfo nodeInfo = new NodeInfoBuilder().setOpenroadmVersion(NodeInfo.OpenroadmVersion._121).build();
46         final NodeInfo nodeInfo2 = new NodeInfoBuilder().setOpenroadmVersion(NodeInfo.OpenroadmVersion._221).build();
47         Nodes nodes = new NodesBuilder().setNodeId("nodes").setNodeInfo(nodeInfo).build();
48         Nodes nodes2 = new NodesBuilder().setNodeId("nodes2").setNodeInfo(nodeInfo2).build();
49         Nodes nodes3 = new NodesBuilder().setNodeId("nodes3").build();
50         InstanceIdentifier<Nodes> nodeIID = InstanceIdentifier.builder(Network.class).child(Nodes.class,
51                 new NodesKey("nodes")).build();
52         InstanceIdentifier<Nodes> nodeIID2 = InstanceIdentifier.builder(Network.class).child(Nodes.class,
53                 new NodesKey("nodes2")).build();
54         InstanceIdentifier<Nodes> nodeIID3 = InstanceIdentifier.builder(Network.class).child(Nodes.class,
55                 new NodesKey("nodes3")).build();
56         WriteTransaction wr = dataBroker.newWriteOnlyTransaction();
57
58         //Create a node version 1, a node version 2, and a node no version
59         wr.merge(LogicalDatastoreType.CONFIGURATION, nodeIID, nodes);
60         wr.merge(LogicalDatastoreType.CONFIGURATION, nodeIID2, nodes2);
61         wr.merge(LogicalDatastoreType.CONFIGURATION, nodeIID3, nodes3);
62         wr.commit().get();
63         //Test the versions are returned OK
64         assertEquals("NodeInfo with nodes as id should be 1.2.1 version",
65                 StringConstants.OPENROADM_DEVICE_VERSION_1_2_1,
66                 mappingUtils.getOpenRoadmVersion("nodes"));
67         assertEquals("NodeInfo with nodes as id should be 2.2.1 version",
68                 StringConstants.OPENROADM_DEVICE_VERSION_2_2_1,
69                 mappingUtils.getOpenRoadmVersion("nodes2"));
70         assertNull("NodeInfo with nodes3 as id should not exist", mappingUtils.getOpenRoadmVersion("nodes3"));
71     }
72
73
74 }