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.crossconnect;
11 import static org.mockito.ArgumentMatchers.any;
12 import static org.mockito.Mockito.mock;
13 import static org.mockito.Mockito.when;
15 import java.math.BigDecimal;
16 import java.util.List;
17 import java.util.Optional;
18 import org.junit.Assert;
19 import org.junit.Before;
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.Uint32;
27 public class CrossConnectImplTest {
29 private CrossConnectImpl crossConnectImpl = null;
30 private static DeviceTransactionManager deviceTransactionManager;
31 private CrossConnectImpl121 crossConnectImpl121 = null;
32 private CrossConnectImpl221 crossConnectImpl221 = null;
33 private CrossConnectImpl710 crossConnectImpl710 = null;
34 private MappingUtils mappingUtils = null;
38 deviceTransactionManager = mock(DeviceTransactionManager.class);
39 crossConnectImpl121 = mock(CrossConnectImpl121.class);
40 crossConnectImpl221 = mock(CrossConnectImpl221.class);
41 crossConnectImpl710 = mock(CrossConnectImpl710.class);
42 mappingUtils = mock(MappingUtils.class);
44 new CrossConnectImpl(deviceTransactionManager, mappingUtils, crossConnectImpl121,
45 crossConnectImpl221, crossConnectImpl710);
55 public void getCrossConnect() {
56 Optional<?> res = crossConnectImpl.getCrossConnect("100", "122");
57 Assert.assertFalse("Optional object should be empty",res.isPresent());
59 String devV121 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
60 when(mappingUtils.getOpenRoadmVersion(any())).thenReturn(devV121);
61 when(crossConnectImpl121.getCrossConnect(any(), any())).thenReturn(Optional.of(mock(RoadmConnections.class)));
62 res = crossConnectImpl.getCrossConnect("100", "122");
63 Assert.assertTrue("Optional object should have a value",res.isPresent());
67 public void postCrossConnect() {
68 SpectrumInformation spectrumInformation = new SpectrumInformation();
69 spectrumInformation.setWaveLength(Uint32.valueOf(1));
70 spectrumInformation.setLowerSpectralSlotNumber(761);
71 spectrumInformation.setHigherSpectralSlotNumber(768);
72 Optional<?> res = crossConnectImpl.postCrossConnect("100", "srcTp", "destTp", spectrumInformation);
73 Assert.assertFalse("Optional object should be empty",res.isPresent());
75 String devV121 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
76 when(mappingUtils.getOpenRoadmVersion(any())).thenReturn(devV121);
77 when(crossConnectImpl121.postCrossConnect(any(), any(), any(), any()))
78 .thenReturn(Optional.of("Value"));
79 res = crossConnectImpl.postCrossConnect("100", "srcTp", "destTp", spectrumInformation);
80 Assert.assertTrue("Optional object should have a value",res.isPresent());
84 public void deleteCrossConnect() {
85 List<String> res = crossConnectImpl.deleteCrossConnect("100", "srcTp", true);
86 Assert.assertNull(res);
88 String devV121 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
89 when(mappingUtils.getOpenRoadmVersion(any())).thenReturn(devV121);
90 when(crossConnectImpl121.deleteCrossConnect(any(), any()))
91 .thenReturn(List.of("val1"));
92 res = crossConnectImpl.deleteCrossConnect("100", "srcTp", true);
93 Assert.assertEquals(res.size(), 1);
97 public void setPowerLevel() {
98 boolean res = crossConnectImpl.setPowerLevel("100", "srcTp", new BigDecimal(100), "power");
99 Assert.assertFalse("Power Level sgould be false",res);
101 String devV121 = "(http://org/openroadm/device?revision=2017-02-06)org-openroadm-device";
102 when(mappingUtils.getOpenRoadmVersion(any())).thenReturn(devV121);
103 when(crossConnectImpl121.setPowerLevel(any(), any(), any(), any()))
105 res = crossConnectImpl.setPowerLevel("100", "srcTp", new BigDecimal(100), "power");
106 Assert.assertTrue(true);