f6ba7039b5a5269bcbeaebfe24fe2becb35644e9
[transportpce.git] / common / src / test / java / org / opendaylight / transportpce / common / crossconnect / CrossConnectImplTest.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.crossconnect;
10
11 import static org.mockito.ArgumentMatchers.any;
12 import static org.mockito.ArgumentMatchers.eq;
13 import static org.mockito.Mockito.mock;
14 import static org.mockito.Mockito.when;
15
16 import java.math.BigDecimal;
17 import java.util.List;
18 import java.util.Optional;
19 import org.junit.Assert;
20 import org.junit.Before;
21 import org.junit.Test;
22 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
23 import org.opendaylight.transportpce.common.mapping.MappingUtils;
24 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.RoadmConnections;
25
26 public class CrossConnectImplTest {
27
28     private CrossConnectImpl crossConnectImpl = null;
29     private static DeviceTransactionManager deviceTransactionManager;
30     private CrossConnectImpl121 crossConnectImpl121 = null;
31     private CrossConnectImpl221 crossConnectImpl221 = null;
32     private MappingUtils mappingUtils = null;
33
34     @Before
35     public void setUp() {
36         deviceTransactionManager = mock(DeviceTransactionManager.class);
37         crossConnectImpl121 = mock(CrossConnectImpl121.class);
38         crossConnectImpl221 = mock(CrossConnectImpl221.class);
39         mappingUtils = mock(MappingUtils.class);
40         crossConnectImpl =
41                 new CrossConnectImpl(deviceTransactionManager, mappingUtils, crossConnectImpl121, crossConnectImpl221);
42     }
43
44     @Before
45     public void init() {
46
47     }
48
49
50     @Test
51     public void getCrossConnect() {
52         Optional<?> res = crossConnectImpl.getCrossConnect("100", "122");
53         Assert.assertFalse("Optional object should be empty",res.isPresent());
54
55         String devV121 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
56         when(mappingUtils.getOpenRoadmVersion(any())).thenReturn(devV121);
57         when(crossConnectImpl121.getCrossConnect(any(), any())).thenReturn(Optional.of(mock(RoadmConnections.class)));
58         res = crossConnectImpl.getCrossConnect("100", "122");
59         Assert.assertTrue("Optional object should have a value",res.isPresent());
60     }
61
62     @Test
63     public void postCrossConnect() {
64         Optional<?> res = crossConnectImpl.postCrossConnect("100", 100L, "srcTp", "destTp", 1, 8);
65         Assert.assertFalse("Optional object should be empty",res.isPresent());
66
67         String devV121 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
68         when(mappingUtils.getOpenRoadmVersion(any())).thenReturn(devV121);
69         when(crossConnectImpl121.postCrossConnect(any(), any(), any(), any(), eq(1), eq(8)))
70                 .thenReturn(Optional.of("Value"));
71         res = crossConnectImpl.postCrossConnect("100", 100L, "srcTp", "destTp", 1, 8);
72         Assert.assertTrue("Optional object should have a value",res.isPresent());
73     }
74
75     @Test
76     public void deleteCrossConnect() {
77         List<String> res = crossConnectImpl.deleteCrossConnect("100", "srcTp", true);
78         Assert.assertNull(res);
79
80         String devV121 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
81         when(mappingUtils.getOpenRoadmVersion(any())).thenReturn(devV121);
82         when(crossConnectImpl121.deleteCrossConnect(any(), any()))
83                 .thenReturn(List.of("val1"));
84         res = crossConnectImpl.deleteCrossConnect("100", "srcTp", true);
85         Assert.assertEquals(res.size(), 1);
86     }
87
88     @Test
89     public void setPowerLevel() {
90         boolean res = crossConnectImpl.setPowerLevel("100", "srcTp", new BigDecimal(100), "power");
91         Assert.assertFalse("Power Level sgould be false",res);
92
93         String devV121 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
94         when(mappingUtils.getOpenRoadmVersion(any())).thenReturn(devV121);
95         when(crossConnectImpl121.setPowerLevel(any(), any(), any(), any()))
96                 .thenReturn(true);
97         res = crossConnectImpl.setPowerLevel("100", "srcTp", new BigDecimal(100), "power");
98         Assert.assertTrue(true);
99     }
100 }