e5cb18b84dd556f7e28d1dcb75bda8b8bbd6b1a8
[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.Mockito.mock;
13 import static org.mockito.Mockito.when;
14
15 import java.util.List;
16 import java.util.Optional;
17 import org.junit.Assert;
18 import org.junit.Before;
19 import org.junit.Ignore;
20 import org.junit.Test;
21 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
22 import org.opendaylight.transportpce.common.fixedflex.SpectrumInformation;
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 import org.opendaylight.yangtools.yang.common.Decimal64;
26 import org.opendaylight.yangtools.yang.common.Uint32;
27
28 @Ignore
29 public class CrossConnectImplTest {
30
31     private CrossConnectImpl crossConnectImpl = null;
32     private static DeviceTransactionManager deviceTransactionManager;
33     private CrossConnectImpl121 crossConnectImpl121 = null;
34     private CrossConnectImpl221 crossConnectImpl221 = null;
35     private CrossConnectImpl710 crossConnectImpl710 = null;
36     private MappingUtils mappingUtils = null;
37
38     @Before
39     public void setUp() {
40         deviceTransactionManager = mock(DeviceTransactionManager.class);
41         crossConnectImpl121 = mock(CrossConnectImpl121.class);
42         crossConnectImpl221 = mock(CrossConnectImpl221.class);
43         crossConnectImpl710 = mock(CrossConnectImpl710.class);
44         mappingUtils = mock(MappingUtils.class);
45         crossConnectImpl =
46                 new CrossConnectImpl(deviceTransactionManager, mappingUtils, crossConnectImpl121,
47                     crossConnectImpl221, crossConnectImpl710);
48     }
49
50     @Before
51     public void init() {
52
53     }
54
55
56     @Test
57     public void getCrossConnect() {
58         Optional<?> res = crossConnectImpl.getCrossConnect("100", "122");
59         Assert.assertFalse("Optional object should be empty",res.isPresent());
60
61         String devV121 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
62         when(mappingUtils.getOpenRoadmVersion(any())).thenReturn(devV121);
63         when(crossConnectImpl121.getCrossConnect(any(), any())).thenReturn(Optional.of(mock(RoadmConnections.class)));
64         res = crossConnectImpl.getCrossConnect("100", "122");
65         Assert.assertTrue("Optional object should have a value",res.isPresent());
66     }
67
68     @Test
69     public void postCrossConnect() {
70         SpectrumInformation spectrumInformation = new SpectrumInformation();
71         spectrumInformation.setWaveLength(Uint32.valueOf(1));
72         spectrumInformation.setLowerSpectralSlotNumber(761);
73         spectrumInformation.setHigherSpectralSlotNumber(768);
74         Optional<?> res = crossConnectImpl.postCrossConnect("100", "srcTp", "destTp", spectrumInformation);
75         Assert.assertFalse("Optional object should be empty",res.isPresent());
76
77         String devV121 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
78         when(mappingUtils.getOpenRoadmVersion(any())).thenReturn(devV121);
79         when(crossConnectImpl121.postCrossConnect(any(), any(), any(), any()))
80                 .thenReturn(Optional.of("Value"));
81         res = crossConnectImpl.postCrossConnect("100", "srcTp", "destTp", spectrumInformation);
82         Assert.assertTrue("Optional object should have a value",res.isPresent());
83     }
84
85     @Test
86     public void deleteCrossConnect() {
87         List<String> res = crossConnectImpl.deleteCrossConnect("100", "srcTp", true);
88         Assert.assertNull(res);
89
90         String devV121 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
91         when(mappingUtils.getOpenRoadmVersion(any())).thenReturn(devV121);
92         when(crossConnectImpl121.deleteCrossConnect(any(), any()))
93                 .thenReturn(List.of("val1"));
94         res = crossConnectImpl.deleteCrossConnect("100", "srcTp", true);
95         Assert.assertEquals(res.size(), 1);
96     }
97
98     @Test
99     public void setPowerLevel() {
100         boolean res = crossConnectImpl.setPowerLevel("100", "srcTp", Decimal64.valueOf("100"), "power");
101         Assert.assertFalse("Power Level sgould be false",res);
102
103         String devV121 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
104         when(mappingUtils.getOpenRoadmVersion(any())).thenReturn(devV121);
105         when(crossConnectImpl121.setPowerLevel(any(), any(), any(), any()))
106                 .thenReturn(true);
107         //FIXME: this part of the test needs to be reviewed
108         crossConnectImpl.setPowerLevel("100", "srcTp", Decimal64.valueOf("100"), "power");
109         Assert.assertTrue(true);
110     }
111 }