From d5332afcb4e5fe25ef3670132d65dcb962484193 Mon Sep 17 00:00:00 2001 From: Shaaban Ebrahim Date: Wed, 2 Oct 2019 20:09:38 +0200 Subject: [PATCH] Add PowerMock library in OLM module -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 Change-Id: I3ceb2d32a3cf80925aa029bbf48e8097759fea19 --- olm/pom.xml | 19 +- .../olm/OlmPowerServiceRpcImplTest.java | 3 +- .../olm/power/PowerMgmtPowerMockTest.java | 301 ++++++++++++++++++ .../transportpce/olm/power/PowerMgmtTest.java | 14 +- .../OlmPowerServiceImplSpanLossBaseTest.java | 6 +- .../olm/service/OlmPowerServiceImplTest.java | 8 +- .../olm/util/OlmTransactionUtils.java | 38 +-- 7 files changed, 346 insertions(+), 43 deletions(-) create mode 100644 olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtPowerMockTest.java diff --git a/olm/pom.xml b/olm/pom.xml index 8ba7cb37e..c09c1e465 100644 --- a/olm/pom.xml +++ b/olm/pom.xml @@ -68,22 +68,27 @@ and is available at http://www.eclipse.org/legal/epl-v10.html - junit - junit + org.powermock + powermock-core test - org.mockito - mockito-core + org.powermock + powermock-api-mockito2 test - ${project.groupId} - test-common - ${project.version} + org.powermock + powermock-module-junit4 test + + ${project.groupId} + test-common + ${project.version} + + com.google.code.findbugs diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java index a13270e77..800fbe193 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java @@ -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 index 000000000..5e64eb60e --- /dev/null +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtPowerMockTest.java @@ -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 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 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 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 portMappingIID = + InstanceIdentifier.builder(Network.class).child(Nodes.class, new NodesKey("node 1")) + .child(Mapping.class, new MappingKey("network")).build(); + return mappingBuilder; + } + +} diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java index 90152aa85..7f51916f8 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java @@ -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 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); diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplSpanLossBaseTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplSpanLossBaseTest.java index 257ef1e25..42c7e1961 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplSpanLossBaseTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplSpanLossBaseTest.java @@ -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); diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java index ca5180547..c5ec3e309 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java @@ -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); diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmTransactionUtils.java b/olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmTransactionUtils.java index 69c70e686..f0397e4b5 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmTransactionUtils.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmTransactionUtils.java @@ -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 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 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 currentPmListA = new ArrayList<>(); currentPmListA.add(cpA); InstanceIdentifier 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 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 currentPmListC = new ArrayList<>(); currentPmListC.add(cpC); InstanceIdentifier 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 +} -- 2.36.6