Power setup gainloss failure Junit test 37/111637/3
authorguillaume.lambert <guillaume.lambert@orange.com>
Mon, 6 May 2024 10:38:35 +0000 (12:38 +0200)
committerGuillaume Lambert <guillaume.lambert@orange.com>
Mon, 6 May 2024 11:02:20 +0000 (11:02 +0000)
JIRA: TRNSPRTPCE-798
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I12e34d532c84ab4c0590981090f1f290d6a45938

olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java

index e064b9df153641677103bda307a438ed9e9e1307..a3347067f3b4c4f3c39d628a05a030f444aeb32b 100644 (file)
@@ -345,4 +345,46 @@ class PowerMgmtTest {
         verify(this.crossConnect, times(2))
                 .setPowerLevel(Mockito.anyString(), Mockito.any(), Mockito.any(), Mockito.anyString());
     }
+
+    @Test
+    void testSetPowerForRoadmAEndGainLossFailure() throws OpenRoadmInterfaceException {
+        when(this.portMapping.getNode("roadm-A"))
+            .thenReturn(OlmPowerServiceRpcImplUtil.getMappingNodeRdm("roadm-A", OpenroadmNodeVersion._121,
+                        List.of("srg1-A", "deg2-A")));
+        when(this.deviceTransactionManager
+                .getDataFromDevice(Mockito.anyString(), Mockito.any(), Mockito.any(), Mockito.anyLong(), Mockito.any()))
+            .thenReturn(Optional.empty());
+        Interface interfOts = new InterfaceBuilder()
+                .setName("interface name")
+                .addAugmentation(
+                        new org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014
+                            .Interface1Builder()
+                    .setOts(new OtsBuilder()
+                            .setSpanLossTransmit(new RatioDB(Decimal64.valueOf("6")))
+                            .build())
+                    .build())
+                .build();
+        when(this.crossConnect
+                .setPowerLevel(Mockito.anyString(), Mockito.matches(OpticalControlMode.Power.getName()),
+                    Mockito.any(), Mockito.anyString()))
+            .thenReturn(true);
+        when(this.openRoadmInterfaces.getInterface(Mockito.anyString(), Mockito.anyString()))
+            .thenReturn(Optional.of(interfOts));
+        when(this.crossConnect
+                .setPowerLevel(Mockito.anyString(), Mockito.matches(OpticalControlMode.GainLoss.getName()),
+                    Mockito.any(), Mockito.anyString()))
+            .thenReturn(false);
+        ServicePowerSetupInput input = OlmPowerServiceRpcImplUtil
+                .getServicePowerSetupInputForOneNode("roadm-A", "srg1-A", "deg2-A");
+        boolean result = this.powerMgmt.setPower(input);
+        verify(this.crossConnect, times(1)).setPowerLevel(Mockito.matches("roadm-A"),
+                Mockito.matches(OpticalControlMode.Power.getName()), eq(Decimal64.valueOf("-3.00")),
+                Mockito.matches("srg1-A-deg2-A-761:768"));
+        verify(this.crossConnect, times(1)).setPowerLevel(Mockito.matches("roadm-A"),
+                Mockito.matches(OpticalControlMode.GainLoss.getName()), eq(Decimal64.valueOf("-3.00")),
+                Mockito.matches("srg1-A-deg2-A-761:768"));
+        assertEquals(false, result);
+    }
+
+
 }