Add PowerMock library in OLM module 93/84893/3
authorShaaban Ebrahim <shaaban.eltanany.ext@orange.com>
Wed, 2 Oct 2019 18:09:38 +0000 (20:09 +0200)
committerShaaban Ebrahim <shaaban.eltanany.ext@orange.com>
Mon, 7 Oct 2019 10:13:53 +0000 (12:13 +0200)
-add dependecies to OLM module
-fix issues related to these changes in OLM
-add class PowerMgmtPowerMockTest as POS and for increasing test coverage too

Signed-off-by: Shaaban Ebrahim <shaaban.eltanany.ext@orange.com>
Change-Id: I3ceb2d32a3cf80925aa029bbf48e8097759fea19

olm/pom.xml
olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java
olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtPowerMockTest.java [new file with mode: 0644]
olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java
olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplSpanLossBaseTest.java
olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java
olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmTransactionUtils.java

index 8ba7cb37e501c3b67ae9557692623de6bb1e0f92..c09c1e465194b52ebbbe8c6ff66900ede99d0f67 100644 (file)
@@ -68,22 +68,27 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
 
     <!-- Testing Dependencies -->
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-core</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-core</artifactId>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-api-mockito2</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>test-common</artifactId>
-      <version>${project.version}</version>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-module-junit4</artifactId>
       <scope>test</scope>
     </dependency>
 
+    <dependency>
+    <groupId>${project.groupId}</groupId>
+    <artifactId>test-common</artifactId>
+    <version>${project.version}</version>
+    </dependency>
+
     <!-- Sodium bump: javax.annotation.Nullable and friends -->
     <dependency>
       <groupId>com.google.code.findbugs</groupId>
index a13270e77e4d47903421eb17c80f40ef0705c215..800fbe193c572971f15a984c5675074c570e06a3 100644 (file)
@@ -28,6 +28,7 @@ import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.mapping.MappingUtils;
+import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
 import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
@@ -96,7 +97,7 @@ public class OlmPowerServiceRpcImplTest extends AbstractTest {
         this.mountPoint = new MountPointStub(this.getDataBroker());
         this.mountPointService = new MountPointServiceStub(mountPoint);
         this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
-        this.mappingUtils = Mockito.spy(MappingUtils.class);
+        this.mappingUtils = Mockito.spy(new MappingUtilsImpl(getDataBroker()));
         Mockito.doReturn(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1).when(mappingUtils)
                 .getOpenRoadmVersion(Mockito.anyString());
         this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtPowerMockTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtPowerMockTest.java
new file mode 100644 (file)
index 0000000..5e64eb6
--- /dev/null
@@ -0,0 +1,301 @@
+/*
+ * Copyright © 2019 Orange, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.transportpce.olm.power;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Optional;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentMatchers;
+import org.mockito.Mockito;
+import org.opendaylight.mdsal.binding.api.MountPoint;
+import org.opendaylight.mdsal.binding.api.MountPointService;
+import org.opendaylight.transportpce.common.StringConstants;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121;
+import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
+import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
+import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
+import org.opendaylight.transportpce.common.mapping.MappingUtils;
+import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
+import org.opendaylight.transportpce.common.mapping.PortMapping;
+import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
+import org.opendaylight.transportpce.common.mapping.PortMappingVersion221;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221;
+import org.opendaylight.transportpce.olm.stub.MountPointServiceStub;
+import org.opendaylight.transportpce.olm.stub.MountPointStub;
+import org.opendaylight.transportpce.olm.util.OlmPowerServiceRpcImplUtil;
+import org.opendaylight.transportpce.olm.util.OlmUtils;
+import org.opendaylight.transportpce.test.AbstractTest;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.ServicePowerSetupInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev190702.Network;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev190702.network.Nodes;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev190702.network.NodesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev190702.network.NodesKey;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev190702.network.nodes.Mapping;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev190702.network.nodes.MappingBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev190702.network.nodes.MappingKey;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev190702.network.nodes.NodeInfo;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev190702.network.nodes.NodeInfoBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.OpticalControlMode;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.RatioDB;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.interfaces.grp.InterfaceBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.Interface1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.Interface1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.ots.container.Ots;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.ots.container.OtsBuilder;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PowerMockIgnore;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({OlmUtils.class,PowerMgmtVersion121.class})
+@PowerMockIgnore("org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.*")
+public class PowerMgmtPowerMockTest extends AbstractTest {
+
+    private MountPoint mountPoint;
+    private MountPointService mountPointService;
+    private DeviceTransactionManager deviceTransactionManager;
+    private CrossConnect crossConnect;
+    private OpenRoadmInterfaces openRoadmInterfaces;
+    private PortMapping portMapping;
+    private PowerMgmt powerMgmt;
+    private CrossConnectImpl121 crossConnectImpl121;
+    private CrossConnectImpl221 crossConnectImpl22;
+    private MappingUtils mappingUtils;
+    private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121;
+    private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl22;
+    private PortMappingVersion221 portMappingVersion22;
+    private PortMappingVersion121 portMappingVersion121;
+
+    @Before
+    public void setUp() {
+        this.mountPoint = new MountPointStub(this.getDataBroker());
+        this.mountPointService = new MountPointServiceStub(mountPoint);
+        this.mappingUtils = new MappingUtilsImpl(getDataBroker());
+        this.mappingUtils = Mockito.spy(new MappingUtilsImpl(getDataBroker()));
+        Mockito.doReturn(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1).when(mappingUtils)
+                .getOpenRoadmVersion(Mockito.anyString());
+        this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
+        this.crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager);
+        this.crossConnectImpl22 = new CrossConnectImpl221(deviceTransactionManager);
+        this.crossConnect = new CrossConnectImpl(deviceTransactionManager, this.mappingUtils, this.crossConnectImpl121,
+                this.crossConnectImpl22);
+        this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager);
+        this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl221(deviceTransactionManager);
+        this.openRoadmInterfaces = new OpenRoadmInterfacesImpl((this.deviceTransactionManager),
+                this.mappingUtils,this.openRoadmInterfacesImpl121,this.openRoadmInterfacesImpl22);
+        this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces);
+        this.portMappingVersion22 =
+                new PortMappingVersion221(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
+        this.portMappingVersion121 =
+                new PortMappingVersion121(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces);
+        this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.portMappingVersion121);
+        this.portMapping = Mockito.spy(this.portMapping);
+        this.powerMgmt = new PowerMgmtImpl(this.getDataBroker(), this.openRoadmInterfaces, this.crossConnect,
+                this.deviceTransactionManager);
+    }
+
+    @Test
+    public void testSetPowerMockingUtil() {
+        PowerMockito.mockStatic(OlmUtils.class);
+        PowerMockito.when(OlmUtils.getNode(Mockito.anyString(), ArgumentMatchers.eq(getDataBroker())))
+                .thenReturn(Optional.of(getXpdrNodesFromNodesBuilderDeg()));
+        ServicePowerSetupInput input = OlmPowerServiceRpcImplUtil.getServicePowerSetupInput2();
+        boolean output = this.powerMgmt.setPower(input);
+        Assert.assertEquals(false, output);
+
+    }
+
+    @Test
+    public void testSetPowerMockingUtilNetwokType() throws OpenRoadmInterfaceException {
+        PowerMockito.mockStatic(OlmUtils.class);
+        PowerMockito.mockStatic(PowerMgmtVersion121.class);
+        PowerMockito.when(OlmUtils.getNode(Mockito.anyString(), ArgumentMatchers.eq(getDataBroker())))
+                .thenReturn(Optional.of(getXpdrNodesFromNodesBuilderNetwork()));
+        Map<String, Double> txPowerRangeMap = new HashMap<>();
+        PowerMockito.when(PowerMgmtVersion121.getXponderPowerRange(
+                Mockito.anyString(), Mockito.anyString(), Mockito.anyString(),
+                ArgumentMatchers.eq(deviceTransactionManager)))
+                .thenReturn(txPowerRangeMap);
+        ServicePowerSetupInput input = OlmPowerServiceRpcImplUtil.getServicePowerSetupInput2();
+        OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121Spy = PowerMockito.mock(OpenRoadmInterfacesImpl121.class);
+        Mockito.when(openRoadmInterfacesImpl121Spy.getInterface(Mockito.anyString(), Mockito.anyString()))
+                .thenReturn(Optional.empty());
+        PowerMgmtImpl powerMgmtImpl = getNewPowerMgmt(openRoadmInterfacesImpl121Spy,this.crossConnect);
+        boolean output = powerMgmtImpl.setPower(input);
+        Assert.assertEquals(true, output);
+
+    }
+
+    @Test
+    public void testSetPowerMockingUtilNetwokTypeMoreThanOneNode() throws OpenRoadmInterfaceException {
+        PowerMockito.mockStatic(OlmUtils.class);
+        PowerMockito.mockStatic(PowerMgmtVersion121.class);
+        PowerMockito.when(OlmUtils.getNode(Mockito.anyString(), ArgumentMatchers.eq(getDataBroker())))
+                .thenReturn(Optional.of(getXpdrNodesFromNodesBuilderNetwork()));
+        Map<String, Double> txPowerRangeMap = new HashMap<>();
+        PowerMockito.when(PowerMgmtVersion121
+                .getXponderPowerRange(Mockito.anyString(), Mockito.anyString(), Mockito.anyString(),
+                        ArgumentMatchers.eq(deviceTransactionManager)))
+                .thenReturn(txPowerRangeMap);
+        ServicePowerSetupInput input = OlmPowerServiceRpcImplUtil.getServicePowerSetupInput2();
+        OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121Spy = PowerMockito.mock(OpenRoadmInterfacesImpl121.class);
+        Mockito.when(openRoadmInterfacesImpl121Spy.getInterface(Mockito.anyString(), Mockito.anyString()))
+                .thenReturn(Optional.empty());
+        PowerMgmtImpl powerMgmtImpl = getNewPowerMgmt(openRoadmInterfacesImpl121Spy,this.crossConnect);
+        boolean output = powerMgmtImpl.setPower(input);
+        Assert.assertEquals(true, output);
+
+    }
+
+    @Test
+    public void testSetPowerXpdrNodes() {
+        PowerMockito.mockStatic(OlmUtils.class);
+        PowerMockito.when(OlmUtils.getNode(Mockito.anyString(), ArgumentMatchers.eq(getDataBroker())))
+                .thenReturn(Optional.of(getXpdrNodesFromNodesBuilderDeg()));
+        ServicePowerSetupInput input = OlmPowerServiceRpcImplUtil.getServicePowerSetupInput3();
+        boolean output = this.powerMgmt.setPower(input);
+        Assert.assertEquals(true, output);
+
+    }
+
+    @Test
+    public void testSetPowerRdmNodesReturnInterfaceEmpty() throws OpenRoadmInterfaceException {
+        PowerMockito.mockStatic(OlmUtils.class);
+        Mockito.when(OlmUtils.getNode(Mockito.anyString(), ArgumentMatchers.eq(getDataBroker())))
+                .thenReturn(Optional.of(getRdmNodesFromNodesBuilder()));
+        ServicePowerSetupInput input = OlmPowerServiceRpcImplUtil.getServicePowerSetupInput3();
+        OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121Spy = PowerMockito.mock(OpenRoadmInterfacesImpl121.class);
+        Mockito.when(openRoadmInterfacesImpl121Spy.getInterface(Mockito.anyString(), Mockito.anyString()))
+                .thenReturn(Optional.empty());
+        PowerMgmtImpl powerMgmtImpl = getNewPowerMgmt(openRoadmInterfacesImpl121Spy,this.crossConnect);
+        boolean output = powerMgmtImpl.setPower(input);
+        Assert.assertEquals(false, output);
+    }
+
+    @Test
+    public void testSetPowerRdmNodesThrowsException() throws OpenRoadmInterfaceException {
+        PowerMockito.mockStatic(OlmUtils.class);
+        Mockito.when(OlmUtils.getNode(Mockito.anyString(), ArgumentMatchers.eq(getDataBroker())))
+                .thenReturn(Optional.of(getRdmNodesFromNodesBuilder()));
+        ServicePowerSetupInput input = OlmPowerServiceRpcImplUtil.getServicePowerSetupInput3();
+        OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121Spy = PowerMockito.mock(OpenRoadmInterfacesImpl121.class);
+        Mockito.when(openRoadmInterfacesImpl121Spy.getInterface(Mockito.anyString(), Mockito.anyString()))
+                .thenThrow(new OpenRoadmInterfaceException("error thrown by unit tests "));
+        PowerMgmtImpl powerMgmtImpl = getNewPowerMgmt(openRoadmInterfacesImpl121Spy,this.crossConnect);
+        boolean output = powerMgmtImpl.setPower(input);
+        Assert.assertEquals(false, output);
+    }
+
+    @Test
+    public void testSetPowerRdmNodesReturnInterface() throws OpenRoadmInterfaceException {
+        PowerMockito.mockStatic(OlmUtils.class);
+        Mockito.when(OlmUtils.getNode(Mockito.anyString(), ArgumentMatchers.eq(getDataBroker())))
+                .thenReturn(Optional.of(getRdmNodesFromNodesBuilder()));
+        ServicePowerSetupInput input = OlmPowerServiceRpcImplUtil.getServicePowerSetupInput3();
+        OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121Spy = PowerMockito.mock(OpenRoadmInterfacesImpl121.class);
+
+        Ots ots = new OtsBuilder().setSpanLossTransmit(new RatioDB(new BigDecimal(23))).build();
+        Interface1Builder intf1Builder = new Interface1Builder();
+        Mockito.when(openRoadmInterfacesImpl121Spy.getInterface(Mockito.anyString(), Mockito.anyString())).thenReturn(
+                Optional.of(new InterfaceBuilder().addAugmentation(Interface1.class, intf1Builder.setOts(ots).build())
+                        .build()));
+        CrossConnect crossConnectMock = Mockito.mock(CrossConnectImpl.class);
+        Mockito.when(crossConnectMock
+                .setPowerLevel(Mockito.anyString(), ArgumentMatchers.eq(OpticalControlMode.Power), Mockito.any(),
+                        Mockito.anyString())).thenReturn(true);
+        PowerMgmtImpl powerMgmtImpl = getNewPowerMgmt(openRoadmInterfacesImpl121Spy,crossConnectMock);
+        boolean output = powerMgmtImpl.setPower(input);
+        Assert.assertEquals(true, output);
+    }
+
+    private PowerMgmtImpl getNewPowerMgmt(OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121Spy,
+            CrossConnect crossConnectMock) {
+        OpenRoadmInterfacesImpl openRoadmInterfacesSpy = new OpenRoadmInterfacesImpl((this.deviceTransactionManager),
+                this.mappingUtils, openRoadmInterfacesImpl121Spy, this.openRoadmInterfacesImpl22);
+        openRoadmInterfacesSpy = PowerMockito.spy(openRoadmInterfacesSpy);
+        return new PowerMgmtImpl(this.getDataBroker(), openRoadmInterfacesSpy, crossConnectMock,
+                this.deviceTransactionManager);
+    }
+
+    private Nodes getXpdrNodesFromNodesBuilderDeg() {
+        MappingBuilder mappingBuilder = getMappingBuilderDeg();
+        return new NodesBuilder().setNodeId("node 1")
+                .setNodeInfo(new NodeInfoBuilder().setNodeType(NodeTypes.Xpdr).build())
+                .setMapping(Arrays.asList(mappingBuilder.build()))
+                .build();
+    }
+
+    private Nodes getXpdrNodesFromNodesBuilderNetwork() {
+        MappingBuilder mappingBuilder = getMappingBuilderNetWork();
+        return new NodesBuilder().setNodeId("node 1")
+                .setNodeInfo(new NodeInfoBuilder().setNodeType(NodeTypes.Xpdr)
+                        .setOpenroadmVersion(NodeInfo.OpenroadmVersion._121)
+                        .build())
+                .setMapping(Arrays.asList(mappingBuilder.build()))
+                .build();
+    }
+
+    private Nodes getRdmNodesFromNodesBuilder() {
+        MappingBuilder mappingBuilder = getMappingBuilderDeg();
+
+        return new NodesBuilder().setNodeId("node 1").setNodeInfo(
+                new NodeInfoBuilder().setNodeType(NodeTypes.Rdm)
+                        .setOpenroadmVersion(NodeInfo.OpenroadmVersion._121)
+                        .build())
+                .setMapping(Arrays.asList(mappingBuilder.build()))
+                .build();
+    }
+
+    private MappingBuilder getMappingBuilderDeg() {
+        MappingBuilder mappingBuilder = new MappingBuilder();
+        mappingBuilder.withKey(new MappingKey("deg"));
+        mappingBuilder.setLogicalConnectionPoint("logicalConnPoint");
+        mappingBuilder.setSupportingOts("OTS");
+        mappingBuilder.setSupportingCircuitPackName("2/0");
+        mappingBuilder.setSupportingOms("OMS");
+        mappingBuilder.setSupportingPort("8080");
+        mappingBuilder.setSupportingCircuitPackName("circuit1");
+        InstanceIdentifier<Mapping> portMappingIID =
+                InstanceIdentifier.builder(Network.class).child(Nodes.class, new NodesKey("node 1"))
+                        .child(Mapping.class, new MappingKey("deg")).build();
+        return mappingBuilder;
+    }
+
+    private MappingBuilder getMappingBuilderNetWork() {
+        MappingBuilder mappingBuilder = new MappingBuilder();
+        mappingBuilder.withKey(new MappingKey("network"));
+        mappingBuilder.setLogicalConnectionPoint("logicalConnPoint");
+        mappingBuilder.setSupportingOts("OTS");
+        mappingBuilder.setSupportingCircuitPackName("2/0");
+        mappingBuilder.setSupportingOms("OMS");
+        mappingBuilder.setSupportingPort("8080");
+        mappingBuilder.setSupportingCircuitPackName("circuit1");
+        InstanceIdentifier<Mapping> portMappingIID =
+                InstanceIdentifier.builder(Network.class).child(Nodes.class, new NodesKey("node 1"))
+                        .child(Mapping.class, new MappingKey("network")).build();
+        return mappingBuilder;
+    }
+
+}
index 90152aa85a3284a6dc3a4fb07ea31ae990f1ebcb..7f51916f8d9e4d6618fa150bb3fd973025ace670 100644 (file)
@@ -63,7 +63,7 @@ public class PowerMgmtTest extends AbstractTest {
         this.mountPoint = new MountPointStub(this.getDataBroker());
         this.mountPointService = new MountPointServiceStub(mountPoint);
         this.mappingUtils = new MappingUtilsImpl(getDataBroker());
-        this.mappingUtils = Mockito.spy(MappingUtils.class);
+        this.mappingUtils = Mockito.spy(new MappingUtilsImpl(getDataBroker()));
         Mockito.doReturn(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1).when(mappingUtils)
                 .getOpenRoadmVersion(Mockito.anyString());
         this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
@@ -83,43 +83,35 @@ public class PowerMgmtTest extends AbstractTest {
         this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.portMappingVersion121);
         this.portMapping = Mockito.spy(this.portMapping);
         this.powerMgmt = new PowerMgmtImpl(this.getDataBroker(), this.openRoadmInterfaces, this.crossConnect,
-            this.deviceTransactionManager);
+                this.deviceTransactionManager);
     }
 
     @Test
     public void testSetPower() {
-
         ServicePowerSetupInput input = OlmPowerServiceRpcImplUtil.getServicePowerSetupInput();
         boolean output = this.powerMgmt.setPower(input);
         Assert.assertEquals(true, output);
-
     }
 
     @Test
     public void testSetPower2() {
-
         ServicePowerSetupInput input = OlmPowerServiceRpcImplUtil.getServicePowerSetupInput2();
         boolean output = this.powerMgmt.setPower(input);
         Assert.assertEquals(true, output);
-
     }
 
     @Test
     public void testSetPower3() {
-
         ServicePowerSetupInput input = OlmPowerServiceRpcImplUtil.getServicePowerSetupInput3();
         boolean output = this.powerMgmt.setPower(input);
         Assert.assertEquals(true, output);
-
     }
 
     @Test
     public void testSetPower4() {
-
         ServicePowerSetupInput input = OlmPowerServiceRpcImplUtil.getServicePowerSetupInput4();
         boolean output = this.powerMgmt.setPower(input);
         Assert.assertEquals(true, output);
-
     }
 
     @Test
@@ -155,7 +147,7 @@ public class PowerMgmtTest extends AbstractTest {
         List<NodeId> nodes = TransactionUtils.getNodeIds();
         for (NodeId nodeId : nodes) {
             TransactionUtils.writeNodeTransaction(nodeId.getValue(), this.getDataBroker(), null);
-            Thread.sleep(500);
+            Thread.sleep(1000);
         }
         ServicePowerSetupInput input = OlmPowerServiceRpcImplUtil.getServicePowerSetupInput();
         boolean output = this.powerMgmt.setPower(input);
index 257ef1e25ef48cdee71ccefc10027ef8dc621404..42c7e19612ef8519f30c61ead6d4decde77a382b 100644 (file)
@@ -22,7 +22,9 @@ import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.transportpce.common.StringConstants;
 import org.opendaylight.transportpce.common.Timeouts;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
+import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.mapping.MappingUtils;
+import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
@@ -73,9 +75,9 @@ public class OlmPowerServiceImplSpanLossBaseTest extends AbstractTest {
     public void setUp() throws OpenRoadmInterfaceException {
         this.openRoadmInterfacesImpl121 = Mockito.mock(OpenRoadmInterfacesImpl121.class);
         this.openRoadmInterfacesImpl221 = Mockito.mock(OpenRoadmInterfacesImpl221.class);
-        this.mappingUtils = Mockito.mock(MappingUtils.class);
+        this.mappingUtils = Mockito.mock(MappingUtilsImpl.class);
         this.portMapping = Mockito.mock(PortMappingImpl.class);
-        this.deviceTransactionManager = Mockito.mock(DeviceTransactionManager.class);
+        this.deviceTransactionManager = Mockito.mock(DeviceTransactionManagerImpl.class);
         this.powerMgmt = Mockito.mock(PowerMgmtImpl.class);
         this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(this.deviceTransactionManager, this.mappingUtils,
                 this.openRoadmInterfacesImpl121, this.openRoadmInterfacesImpl221);
index ca5180547b0d033cd8c254f30267c9065f2e0f59..c5ec3e309c9b6f7debbf98c2f896cc52d65d3f13 100644 (file)
@@ -27,6 +27,7 @@ import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.mapping.MappingUtils;
+import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.mapping.PortMappingImpl;
 import org.opendaylight.transportpce.common.mapping.PortMappingVersion121;
@@ -65,6 +66,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkKey;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.powermock.api.mockito.PowerMockito;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -98,7 +100,7 @@ public class OlmPowerServiceImplTest  extends AbstractTest {
         this.mountPoint = new MountPointStub(this.getDataBroker());
         this.mountPointService = new MountPointServiceStub(mountPoint);
         this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
-        this.mappingUtils = Mockito.spy(MappingUtils.class);
+        this.mappingUtils = Mockito.spy(new MappingUtilsImpl(getDataBroker()));
         Mockito.doReturn(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1).when(mappingUtils)
                 .getOpenRoadmVersion(Mockito.anyString());
         this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000);
@@ -120,8 +122,8 @@ public class OlmPowerServiceImplTest  extends AbstractTest {
             this.deviceTransactionManager);
         this.olmPowerService = new OlmPowerServiceImpl(this.getDataBroker(), this.powerMgmt,
             this.deviceTransactionManager, this.portMapping, this.mappingUtils, this.openRoadmInterfaces);
-        this.dataBroker =  Mockito.mock(DataBroker.class);
-        this.powerMgmtMock = Mockito.mock(PowerMgmt.class);
+        this.dataBroker =  PowerMockito.spy(getDataBroker());
+        this.powerMgmtMock = PowerMockito.mock(PowerMgmtImpl.class);
         this.olmPowerServiceMock = new OlmPowerServiceImpl(this.getDataBroker(), this.powerMgmtMock,
             this.deviceTransactionManager, this.portMapping, this.mappingUtils, this.openRoadmInterfaces);
         this.olmPowerServiceMock = Mockito.mock(OlmPowerServiceImpl.class);
index 69c70e686b0df1d096a43838cc0be670ce511b3b..f0397e4b55b6232e4325e1cf93b9e85804eeb4be 100644 (file)
@@ -136,10 +136,10 @@ public final class OlmTransactionUtils {
                         .setSectionEltNumber(Integer.valueOf(1)).build();
         org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al2 =
                 new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
-                        .AmplifiedLinkBuilder().setSectionElement(new SectionElementBuilder()
-                        .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
-                                .attributes.amplified.link.section.element.section.element.SpanBuilder()
-                                .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
+                    .AmplifiedLinkBuilder().setSectionElement(new SectionElementBuilder()
+                    .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
+                            .attributes.amplified.link.section.element.section.element.SpanBuilder()
+                            .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
                                         .attributes.amplified.link.section.element.section.element.span.SpanBuilder()
                                         .setAdministrativeState(AdminStates.InService)
                                         .setAutoSpanloss(true)
@@ -183,12 +183,12 @@ public final class OlmTransactionUtils {
         // create the roadm-to-roadm link to be measured
         List<Link> ietfLinkList = new ArrayList<>();
         Link roadm2roadmLink = new LinkBuilder().setLinkId(new LinkId("ROADM-A1-to-ROADM-C1"))
-                .setSource(new SourceBuilder().setSourceNode(ietfNodeA.getNodeId()).setSourceTp("DEG2-TTP-TXRX").build())
-                .setDestination(new DestinationBuilder().setDestNode(ietfNodeC.getNodeId()).setDestTp("DEG1-TTP-TXRX")
-                        .build())
-                .addAugmentation(Link1.class, aug1)
-                .addAugmentation(Link1.class, aug2)
-                .build();
+            .setSource(new SourceBuilder().setSourceNode(ietfNodeA.getNodeId()).setSourceTp("DEG2-TTP-TXRX").build())
+            .setDestination(new DestinationBuilder().setDestNode(ietfNodeC.getNodeId()).setDestTp("DEG1-TTP-TXRX")
+                    .build())
+            .addAugmentation(Link1.class, aug1)
+            .addAugmentation(Link1.class, aug2)
+            .build();
         ietfLinkList.add(roadm2roadmLink);
         // create the ietf network
         Network1 openroadmAugmToIetfNetwork = new Network1Builder().setLink(ietfLinkList).build();
@@ -219,9 +219,9 @@ public final class OlmTransactionUtils {
         List<Measurement> measurementListA = new ArrayList<>();
         measurementListA.add(measurementA);
         CurrentPm cpA = new CurrentPmBuilder()
-                .setType(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmNamesEnum.OpticalPowerOutput)
-                .setMeasurement(measurementListA)
-                .build();
+            .setType(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmNamesEnum.OpticalPowerOutput)
+            .setMeasurement(measurementListA)
+            .build();
         List<CurrentPm> currentPmListA = new ArrayList<>();
         currentPmListA.add(cpA);
         InstanceIdentifier<Interface> interfaceIIDA = InstanceIdentifier.create(OrgOpenroadmDevice.class)
@@ -230,7 +230,7 @@ public final class OlmTransactionUtils {
                 .setCurrentPm(currentPmListA)
                 .setPmResourceInstance(interfaceIIDA)
                 .setPmResourceType(
-                        org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181019.ResourceTypeEnum.Interface)
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181019.ResourceTypeEnum.Interface)
                 .setPmResourceTypeExtension("")
                 .setRetrievalTime(new DateAndTime("2018-06-07T13:22:58+00:00"))
                 .build();
@@ -248,9 +248,9 @@ public final class OlmTransactionUtils {
         List<Measurement> measurementListC = new ArrayList<>();
         measurementListC.add(measurementC);
         CurrentPm cpC = new CurrentPmBuilder()
-                .setType(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmNamesEnum.OpticalPowerInput)
-                .setMeasurement(measurementListC)
-                .build();
+            .setType(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmNamesEnum.OpticalPowerInput)
+            .setMeasurement(measurementListC)
+            .build();
         List<CurrentPm> currentPmListC = new ArrayList<>();
         currentPmListC.add(cpC);
         InstanceIdentifier<Interface> interfaceIIDC = InstanceIdentifier.create(OrgOpenroadmDevice.class)
@@ -259,7 +259,7 @@ public final class OlmTransactionUtils {
                 .setCurrentPm(currentPmListC)
                 .setPmResourceInstance(interfaceIIDC)
                 .setPmResourceType(
-                        org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181019.ResourceTypeEnum.Interface)
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181019.ResourceTypeEnum.Interface)
                 .setPmResourceTypeExtension("")
                 .setRetrievalTime(new DateAndTime("2018-06-07T13:22:58+00:00"))
                 .build();
@@ -267,4 +267,4 @@ public final class OlmTransactionUtils {
         currentPmEntryListC.add(currentPmEntryC);
         return Optional.of(new CurrentPmListBuilder().setCurrentPmEntry(currentPmEntryListC).build());
     }
-}
\ No newline at end of file
+}