From: Gilles Thouenon Date: Wed, 20 Oct 2021 14:33:12 +0000 (+0200) Subject: Reactive renderer UT X-Git-Tag: 5.0.0~141 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=transportpce.git;a=commitdiff_plain;h=26c22f3f96ad697ddcc3bcce508922b10d7ac9ff Reactive renderer UT JIRA: TRNSPRTPCE-554 Signed-off-by: Gilles Thouenon Change-Id: I57c811b61e09522037779f26f3c3e9559e1cb188 --- diff --git a/renderer/pom.xml b/renderer/pom.xml index da29abb5f..a437696d6 100644 --- a/renderer/pom.xml +++ b/renderer/pom.xml @@ -40,6 +40,11 @@ and is available at http://www.eclipse.org/legal/epl-v10.html ${project.version} test + + org.opendaylight.mdsal + mdsal-binding-generator + test + diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java index d6ccdfb31..c1e37c02b 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java @@ -496,7 +496,7 @@ public final class ModelMappingUtils { return Map.of("nodeId", nodeId, "tpid", lcp); } } - return null; + return Map.of(); } private static Map extractZendFromPathDescriptionForOtn(PathDescription pathDescription) { @@ -513,7 +513,7 @@ public final class ModelMappingUtils { return Map.of("nodeId", nodeId, "tpid", lcp); } } - return null; + return Map.of(); } private static Map extractAendFromPathDescriptionForOptical(PathDescription pathDescription) { @@ -530,7 +530,7 @@ public final class ModelMappingUtils { return Map.of("nodeId", tp.getTpNodeId(), "tpid", tp.getTpId()); } } - return null; + return Map.of(); } private static Map extractZendFromPathDescriptionForOptical(PathDescription pathDescription) { @@ -547,6 +547,6 @@ public final class ModelMappingUtils { return Map.of("nodeId", tp.getTpNodeId(), "tpid", tp.getTpId()); } } - return null; + return Map.of(); } } diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java index ccb610049..154c8fa02 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java @@ -129,11 +129,15 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest, input.getServiceName(), RpcStatusEx.Pending, "Service compliant, submitting service implementation Request ..."); Uint32 serviceRate = getServiceRate(input); + org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.network.Nodes + mappingNode = portMapping.isNodeExist(input.getServiceAEnd().getNodeId()) + ? portMapping.getNode(input.getServiceAEnd().getNodeId()) + : null; String serviceType = ServiceTypes.getServiceType( input.getServiceAEnd().getServiceFormat().getName(), serviceRate, - (NodeTypes.Xpdr.equals(portMapping.getNode(input.getServiceAEnd().getNodeId()) - .getNodeInfo().getNodeType()) + (mappingNode != null + && NodeTypes.Xpdr.equals(mappingNode.getNodeInfo().getNodeType()) && input.getServiceAEnd().getTxDirection() != null && input.getServiceAEnd().getTxDirection().getPort() != null && input.getServiceAEnd().getTxDirection().getPort().getPortName() != null) @@ -521,7 +525,7 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations RollbackProcessor rollbackProcessor = new RollbackProcessor(); List renderingResults = deviceRendering(rollbackProcessor, servicePathInputDataAtoZ, servicePathInputDataZtoA); - if (rollbackProcessor.rollbackAllIfNecessary() > 0) { + if (rollbackProcessor.rollbackAllIfNecessary() > 0 || renderingResults.isEmpty()) { sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest, input.getServiceName(), RpcStatusEx.Failed, DEVICE_RENDERING_ROLL_BACK_MSG); return false; diff --git a/renderer/src/test/java/org/opendaylight/transportpce/renderer/RendererProviderTest.java b/renderer/src/test/java/org/opendaylight/transportpce/renderer/RendererProviderTest.java index cc9ad40bf..b8a030b9e 100644 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/RendererProviderTest.java +++ b/renderer/src/test/java/org/opendaylight/transportpce/renderer/RendererProviderTest.java @@ -13,29 +13,26 @@ import static org.mockito.Mockito.verify; import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations; import org.opendaylight.transportpce.renderer.rpcs.DeviceRendererRPCImpl; import org.opendaylight.transportpce.renderer.rpcs.TransportPCEServicePathRPCImpl; import org.opendaylight.transportpce.test.AbstractTest; -@Ignore +@RunWith(MockitoJUnitRunner.StrictStubs.class) public class RendererProviderTest extends AbstractTest { - @Mock RpcProviderService rpcProviderService; - @Mock private RendererServiceOperations rendererServiceOperations; - @Mock DeviceRendererRPCImpl deviceRendererRPC; - private AutoCloseable closeable; @Before @@ -51,13 +48,12 @@ public class RendererProviderTest extends AbstractTest { verify(rpcProviderService, times(1)) .registerRpcImplementation(any(), any(TransportPCEServicePathRPCImpl.class)); - verify(rpcProviderService, times(1)) .registerRpcImplementation(any(), any(DeviceRendererRPCImpl.class)); } - @After public void releaseMocks() throws Exception { + @After + public void releaseMocks() throws Exception { closeable.close(); } - } diff --git a/renderer/src/test/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadMInterface221Test.java b/renderer/src/test/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadMInterface221Test.java index 2740d637f..4e791b2f4 100644 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadMInterface221Test.java +++ b/renderer/src/test/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadMInterface221Test.java @@ -7,10 +7,10 @@ */ package org.opendaylight.transportpce.renderer.openroadminterface; +import java.math.BigDecimal; import java.util.Arrays; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; import org.opendaylight.transportpce.common.fixedflex.SpectrumInformation; @@ -21,7 +21,6 @@ import org.opendaylight.transportpce.test.AbstractTest; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.mapping.MappingBuilder; import org.opendaylight.yangtools.yang.common.Uint32; -@Ignore public class OpenRoadMInterface221Test extends AbstractTest { private final PortMapping portMapping = Mockito.mock(PortMapping.class); @@ -30,7 +29,6 @@ public class OpenRoadMInterface221Test extends AbstractTest { @Before public void setup() { - OpenRoadmInterfaces openRoadmInterfaces = Mockito.spy(OpenRoadmInterfaces.class); this.openRoadMInterface221 = new OpenRoadmInterface221(portMapping, openRoadmInterfaces); } @@ -39,7 +37,9 @@ public class OpenRoadMInterface221Test extends AbstractTest { public void testCreateOpenRoadmEthInterface() throws OpenRoadmInterfaceException { String logicalConnPoint = "logicalConnPoint"; - Mockito.when(portMapping.getMapping(nodeId, logicalConnPoint)).thenReturn(new MappingBuilder().build()); + Mockito.when(portMapping.getMapping(nodeId, logicalConnPoint)) + .thenReturn(new MappingBuilder().setSupportingCircuitPackName("circit-pack").setSupportingPort("port") + .setLogicalConnectionPoint(logicalConnPoint).build()); Assert.assertEquals(openRoadMInterface221.createOpenRoadmEthInterface(nodeId, logicalConnPoint), logicalConnPoint + "-ETHERNET"); } @@ -56,11 +56,14 @@ public class OpenRoadMInterface221Test extends AbstractTest { public void testCreateFlexOCH() throws OpenRoadmInterfaceException { String logicalConnPoint = "logicalConnPoint"; - Mockito.when(portMapping.getMapping(nodeId, logicalConnPoint)).thenReturn(new MappingBuilder().build()); + Mockito.when(portMapping.getMapping(nodeId, logicalConnPoint)) + .thenReturn(new MappingBuilder().setSupportingCircuitPackName("circit-pack").setSupportingPort("port") + .setLogicalConnectionPoint(logicalConnPoint).build()); SpectrumInformation spectrumInformation = new SpectrumInformation(); spectrumInformation.setWaveLength(Uint32.valueOf(1)); spectrumInformation.setLowerSpectralSlotNumber(761); spectrumInformation.setHigherSpectralSlotNumber(768); + spectrumInformation.setCenterFrequency(BigDecimal.valueOf(195.8)); Assert.assertNotNull(openRoadMInterface221.createFlexOCH(nodeId, logicalConnPoint, spectrumInformation)); Assert.assertEquals(openRoadMInterface221.createFlexOCH(nodeId, logicalConnPoint, spectrumInformation), Arrays.asList(logicalConnPoint + "-nmc-761:768")); @@ -70,11 +73,16 @@ public class OpenRoadMInterface221Test extends AbstractTest { public void testCreateFlexOCHReturnsMoreThanOneElement() throws OpenRoadmInterfaceException { String logicalConnPoint = "logicalConnPointDEG"; - Mockito.when(portMapping.getMapping(nodeId, logicalConnPoint)).thenReturn(new MappingBuilder().build()); + Mockito.when(portMapping.getMapping(nodeId, logicalConnPoint)) + .thenReturn(new MappingBuilder().setSupportingCircuitPackName("circit-pack").setSupportingPort("port") + .setLogicalConnectionPoint(logicalConnPoint).build()); SpectrumInformation spectrumInformation = new SpectrumInformation(); spectrumInformation.setWaveLength(Uint32.valueOf(1)); spectrumInformation.setLowerSpectralSlotNumber(761); spectrumInformation.setHigherSpectralSlotNumber(768); + spectrumInformation.setCenterFrequency(BigDecimal.valueOf(195.8)); + spectrumInformation.setMinFrequency(BigDecimal.valueOf(195.775)); + spectrumInformation.setMaxFrequency(BigDecimal.valueOf(195.825)); Assert.assertNotNull(openRoadMInterface221.createFlexOCH(nodeId, logicalConnPoint,spectrumInformation)); Assert.assertEquals(openRoadMInterface221.createFlexOCH(nodeId, logicalConnPoint, spectrumInformation), Arrays.asList(logicalConnPoint + "-mc-761:768", logicalConnPoint + "-nmc-761:768")); @@ -85,11 +93,13 @@ public class OpenRoadMInterface221Test extends AbstractTest { String logicalConnPoint = "logicalConnPoint"; Mockito.when(portMapping.getMapping(nodeId, logicalConnPoint)) - .thenReturn(new MappingBuilder().setLogicalConnectionPoint(logicalConnPoint).build()); + .thenReturn(new MappingBuilder().setSupportingCircuitPackName("circit-pack").setSupportingPort("port") + .setLogicalConnectionPoint(logicalConnPoint).build()); SpectrumInformation spectrumInformation = new SpectrumInformation(); spectrumInformation.setWaveLength(Uint32.valueOf(1)); spectrumInformation.setLowerSpectralSlotNumber(761); spectrumInformation.setHigherSpectralSlotNumber(768); + spectrumInformation.setCenterFrequency(BigDecimal.valueOf(195.8)); Assert.assertEquals(openRoadMInterface221.createOpenRoadmOchInterface(nodeId, logicalConnPoint, spectrumInformation), logicalConnPoint + "-761:768"); } @@ -100,10 +110,11 @@ public class OpenRoadMInterface221Test extends AbstractTest { String logicalConnPoint = "logicalConnPoint"; String supportOchInterface = "supportOchInterface"; Mockito.when(portMapping.getMapping(nodeId, logicalConnPoint)) - .thenReturn(new MappingBuilder().setLogicalConnectionPoint(logicalConnPoint).build()); - Assert.assertEquals(openRoadMInterface221.createOpenRoadmOtu4Interface( - nodeId, logicalConnPoint, supportOchInterface, null, null), - logicalConnPoint + "-OTU"); + .thenReturn(new MappingBuilder().setSupportingCircuitPackName("circit-pack").setSupportingPort("port") + .setLogicalConnectionPoint(logicalConnPoint).build()); + Assert.assertEquals(openRoadMInterface221 + .createOpenRoadmOtu4Interface(nodeId, logicalConnPoint, supportOchInterface, null, null), + logicalConnPoint + "-OTU"); } @@ -117,17 +128,20 @@ public class OpenRoadMInterface221Test extends AbstractTest { } @Test - public void testCreateOpenRoadmOmsInterfaceSupportingOmsNotNull() throws OpenRoadmInterfaceException { - - String supportingOms = "supportingOms"; + public void testCreateOpenRoadmOmsInterfaceSupportingOtsNotNull() throws OpenRoadmInterfaceException { + String logicalConnPoint = "logicalConnPoint"; + String supportingOts = "supportingOts"; Assert.assertEquals(openRoadMInterface221.createOpenRoadmOmsInterface(nodeId, - new MappingBuilder().setSupportingOms(supportingOms).build()), supportingOms); + new MappingBuilder().setSupportingCircuitPackName("circit-pack").setSupportingPort("port") + .setLogicalConnectionPoint(logicalConnPoint).setSupportingOts(supportingOts).build()), + "OMS-" + logicalConnPoint); } @Test public void testCreateOpenRoadmOmsInterfaceSupportingOmsNotNullException() throws OpenRoadmInterfaceException { - Assert.assertNull(openRoadMInterface221.createOpenRoadmOmsInterface(nodeId, new MappingBuilder().build())); + Assert.assertNull(openRoadMInterface221.createOpenRoadmOmsInterface(nodeId, new MappingBuilder() + .setLogicalConnectionPoint("logicalConnPoint").build())); } @Test diff --git a/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImplCreateOtsOmsTest.java b/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImplCreateOtsOmsTest.java index 95eb79b8f..993c00021 100644 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImplCreateOtsOmsTest.java +++ b/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImplCreateOtsOmsTest.java @@ -11,7 +11,6 @@ package org.opendaylight.transportpce.renderer.provisiondevice; import java.util.ArrayList; import java.util.concurrent.ExecutionException; import org.junit.Assert; -import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; import org.opendaylight.mdsal.binding.api.MountPoint; @@ -29,10 +28,6 @@ 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.mapping.PortMappingVersion710; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl; @@ -53,6 +48,7 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.re import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.CreateOtsOmsOutput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.Network; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.OpenroadmNodeVersion; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.mapping.Mapping; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.network.Nodes; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.network.NodesBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.network.NodesKey; @@ -60,7 +56,6 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmappi import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.network.nodes.NodeInfoBuilder; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -@Ignore public class DeviceRendererServiceImplCreateOtsOmsTest extends AbstractTest { private DeviceRendererService deviceRendererService; @@ -72,12 +67,10 @@ public class DeviceRendererServiceImplCreateOtsOmsTest extends AbstractTest { private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121; private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221; private OpenRoadmInterfacesImpl710 openRoadmInterfacesImpl710; - private PortMappingVersion710 portMappingVersion710; - private PortMappingVersion221 portMappingVersion22; - private PortMappingVersion121 portMappingVersion121; private CrossConnectImpl121 crossConnectImpl121; private CrossConnectImpl221 crossConnectImpl221; private CrossConnectImpl710 crossConnectImpl710; + private final PortMapping portMapping = Mockito.mock(PortMapping.class); private void setMountPoint(MountPoint mountPoint) { MountPointService mountPointService = new MountPointServiceStub(mountPoint); @@ -90,16 +83,6 @@ public class DeviceRendererServiceImplCreateOtsOmsTest extends AbstractTest { this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils, openRoadmInterfacesImpl121, openRoadmInterfacesImpl221, openRoadmInterfacesImpl710); this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces); - this.portMappingVersion22 = new PortMappingVersion221(getDataBroker(), this.deviceTransactionManager); - this.portMappingVersion121 = new PortMappingVersion121(getDataBroker(), this.deviceTransactionManager); - this.portMappingVersion710 = new PortMappingVersion710(getDataBroker(), deviceTransactionManager); - this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(this.deviceTransactionManager); - this.openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710(this.deviceTransactionManager); - PortMapping portMapping = - new PortMappingImpl(getDataBroker(), this.portMappingVersion710, this.portMappingVersion22, - this.portMappingVersion121); - this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(this.deviceTransactionManager, portMapping, - this.portMappingVersion22); OpenRoadmInterface121 openRoadmInterface121 = new OpenRoadmInterface121(portMapping,openRoadmInterfaces); OpenRoadmInterface221 openRoadmInterface221 = new OpenRoadmInterface221(portMapping,openRoadmInterfaces); OpenRoadmInterface710 openRoadmInterface710 = new OpenRoadmInterface710(portMapping, openRoadmInterfaces); @@ -153,17 +136,10 @@ public class DeviceRendererServiceImplCreateOtsOmsTest extends AbstractTest { wr.commit().get(); setMountPoint(MountPointUtils.getMountPoint(new ArrayList<>(), getDataBroker())); CreateOtsOmsInput input = CreateOtsOmsDataUtils.buildCreateOtsOms(); - writePortMapping(input); + Mapping mapping = MountPointUtils.createMapping(input.getNodeId(), input.getLogicalConnectionPoint()); + Mockito.when(portMapping.getMapping(Mockito.anyString(), Mockito.anyString())).thenReturn(mapping); CreateOtsOmsOutput result = this.deviceRendererService.createOtsOms(input); Assert.assertTrue(result.getSuccess()); } - private void writePortMapping(CreateOtsOmsInput input) { - MountPointUtils.writeMapping( - input.getNodeId(), - input.getLogicalConnectionPoint(), - this.deviceTransactionManager - ); - } - } diff --git a/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplDeleteTest.java b/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplDeleteTest.java index 0d37ee587..d768e4370 100644 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplDeleteTest.java +++ b/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplDeleteTest.java @@ -9,14 +9,10 @@ package org.opendaylight.transportpce.renderer.provisiondevice; import com.google.common.util.concurrent.ListenableFuture; -import com.google.common.util.concurrent.ListeningExecutorService; -import com.google.common.util.concurrent.MoreExecutors; import java.util.Collections; import java.util.concurrent.ExecutionException; -import java.util.concurrent.Executors; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; import org.opendaylight.mdsal.binding.api.MountPoint; @@ -26,30 +22,9 @@ import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.transportpce.common.ResponseCodes; 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.crossconnect.CrossConnectImpl710; 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.mapping.PortMappingVersion710; -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.common.openroadminterfaces.OpenRoadmInterfacesImpl710; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface221; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface710; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmOtnInterface221; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmOtnInterface710; import org.opendaylight.transportpce.renderer.stub.OlmServiceStub; import org.opendaylight.transportpce.renderer.utils.NotificationPublishServiceMock; import org.opendaylight.transportpce.renderer.utils.ServiceDeleteDataUtils; @@ -57,13 +32,17 @@ import org.opendaylight.transportpce.renderer.utils.TransactionUtils; import org.opendaylight.transportpce.test.AbstractTest; import org.opendaylight.transportpce.test.stub.MountPointServiceStub; import org.opendaylight.transportpce.test.stub.MountPointStub; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.ServicePathOutputBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.ServicePowerTurndownOutputBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.TransportpceOlmService; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInputBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev181130.NodeIdType; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.ConnectionType; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceAEnd; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceAEndBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.port.PortBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesBuilder; @@ -76,68 +55,19 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.common.Uint32; -@Ignore public class RendererServiceOperationsImplDeleteTest extends AbstractTest { - private static final int NUMBER_OF_THREADS = 4; private DeviceTransactionManager deviceTransactionManager; private RendererServiceOperationsImpl rendererServiceOperations; - private OpenRoadmInterfaces openRoadmInterfaces; - private DeviceRendererService deviceRenderer; - private PortMapping portMapping; - private CrossConnect crossConnect; + private final DeviceRendererService deviceRenderer = Mockito.mock(DeviceRendererService.class); + private final OtnDeviceRendererService otnDeviceRendererService = Mockito.mock(OtnDeviceRendererService.class); + private final PortMapping portMapping = Mockito.mock(PortMapping.class); + private final CrossConnect crossConnect = Mockito.mock(CrossConnect.class); private TransportpceOlmService olmService; - private MappingUtils mappingUtils; - private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121; - private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221; - private OpenRoadmInterfacesImpl710 openRoadmInterfacesImpl710; - private PortMappingVersion710 portMappingVersion710; - private PortMappingVersion221 portMappingVersion22; - private PortMappingVersion121 portMappingVersion121; - private CrossConnectImpl121 crossConnectImpl121; - private CrossConnectImpl221 crossConnectImpl221; - private CrossConnectImpl710 crossConnectImpl710; - private OtnDeviceRendererService otnDeviceRendererService; private void setMountPoint(MountPoint mountPoint) { MountPointService mountPointService = new MountPointServiceStub(mountPoint); this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000); - this.mappingUtils = new MappingUtilsImpl(getDataBroker()); - this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils, - openRoadmInterfacesImpl121, openRoadmInterfacesImpl221, openRoadmInterfacesImpl710); - this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces); - this.portMappingVersion710 = new PortMappingVersion710(getDataBroker(), deviceTransactionManager); - this.portMappingVersion22 = new PortMappingVersion221(getDataBroker(), deviceTransactionManager); - this.portMappingVersion121 = new PortMappingVersion121(getDataBroker(), deviceTransactionManager); - this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion710, this.portMappingVersion22, - this.portMappingVersion121); - this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager); - this.openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(deviceTransactionManager, this.portMapping, - this.portMappingVersion22); - this.openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710(deviceTransactionManager); - this.crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager); - this.crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager); - this.crossConnect = new CrossConnectImpl(deviceTransactionManager, this.mappingUtils, this.crossConnectImpl121, - this.crossConnectImpl221, this.crossConnectImpl710); - this.crossConnect = Mockito.spy(crossConnect); - OpenRoadmInterface121 openRoadmInterface121 = new OpenRoadmInterface121(portMapping,openRoadmInterfaces); - OpenRoadmInterface221 openRoadmInterface221 = new OpenRoadmInterface221(portMapping,openRoadmInterfaces); - OpenRoadmInterface710 openRoadmInterface710 = new OpenRoadmInterface710(portMapping,openRoadmInterfaces); - OpenRoadmOtnInterface221 openRoadmOTNInterface221 = new OpenRoadmOtnInterface221(portMapping, - openRoadmInterfaces); - OpenRoadmOtnInterface710 openRoadmOtnInterface710 = new OpenRoadmOtnInterface710(portMapping, - openRoadmInterfaces); - OpenRoadmInterfaceFactory openRoadmInterfaceFactory = new OpenRoadmInterfaceFactory(this.mappingUtils, - openRoadmInterface121, openRoadmInterface221, openRoadmInterface710, openRoadmOTNInterface221, - openRoadmOtnInterface710); - - this.deviceRenderer = new DeviceRendererServiceImpl(getDataBroker(), - this.deviceTransactionManager, openRoadmInterfaceFactory, openRoadmInterfaces, crossConnect, - this.portMapping, null); - - this.otnDeviceRendererService = new OtnDeviceRendererServiceImpl(openRoadmInterfaceFactory, crossConnect, - openRoadmInterfaces, this.deviceTransactionManager, null); - } @Before @@ -145,12 +75,9 @@ public class RendererServiceOperationsImplDeleteTest extends AbstractTest { setMountPoint(new MountPointStub(getDataBroker())); this.olmService = new OlmServiceStub(); this.olmService = Mockito.spy(this.olmService); - ListeningExecutorService executor = - MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(NUMBER_OF_THREADS)); NotificationPublishService notificationPublishService = new NotificationPublishServiceMock(); - this.rendererServiceOperations = new RendererServiceOperationsImpl(this.deviceRenderer, - this.otnDeviceRendererService, olmService, getDataBroker(), notificationPublishService, null); - + this.rendererServiceOperations = new RendererServiceOperationsImpl(deviceRenderer, + otnDeviceRendererService, olmService, getDataBroker(), notificationPublishService, portMapping); } @@ -166,25 +93,45 @@ public class RendererServiceOperationsImplDeleteTest extends AbstractTest { ServiceAEnd serviceAEnd = new ServiceAEndBuilder() .setServiceFormat(ServiceFormat.Ethernet) .setServiceRate(Uint32.valueOf("100")) + .setTxDirection(new TxDirectionBuilder().setPort(new PortBuilder().setPortName("port-name").build()) + .build()) + .setNodeId(new NodeIdType("optical-node1")) .build(); Services service = new ServicesBuilder() + .setServiceName("service 1") .setConnectionType(ConnectionType.Service) .setServiceAEnd(serviceAEnd) .build(); + Mockito.when(portMapping.getMapping(Mockito.anyString(), Mockito.anyString())) + .thenReturn(null); + Mockito.when(deviceRenderer.deleteServicePath(Mockito.any())) + .thenReturn(new ServicePathOutputBuilder().setSuccess(true).build()); ServiceDeleteOutput serviceDeleteOutput = this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build(), service).get(); Assert.assertEquals(ResponseCodes.RESPONSE_OK, serviceDeleteOutput.getConfigurationResponseCommon().getResponseCode()); - Mockito.verify(this.crossConnect, Mockito.times(2)) - .deleteCrossConnect(Mockito.any(), Mockito.any(), Mockito.eq(false)); } @Test public void serviceDeleteOperationNoDescription() throws InterruptedException, ExecutionException { ServiceDeleteInputBuilder serviceDeleteInputBuilder = new ServiceDeleteInputBuilder(); serviceDeleteInputBuilder.setServiceName("service 1"); + Services service = new ServicesBuilder() + .setServiceName("service 1") + .setServiceAEnd(new ServiceAEndBuilder() + .setServiceFormat(ServiceFormat.Ethernet) + .setServiceRate(Uint32.valueOf(100)) + .setTxDirection(new TxDirectionBuilder().setPort(new PortBuilder().setPortName("port-name").build()) + .build()) + .setNodeId(new NodeIdType("optical-node1")) + .build()) + .build(); + Mockito.when(portMapping.getMapping(Mockito.anyString(), Mockito.anyString())) + .thenReturn(null); + Mockito.doReturn(RpcResultBuilder.success((new ServicePowerTurndownOutputBuilder()) + .setResult("Failed").build()).buildFuture()).when(this.olmService).servicePowerTurndown(Mockito.any()); ServiceDeleteOutput serviceDeleteOutput - = this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build(), null).get(); + = this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build(), service).get(); Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, serviceDeleteOutput.getConfigurationResponseCommon().getResponseCode()); Mockito.verify(this.crossConnect, Mockito.times(0)) @@ -206,11 +153,17 @@ public class RendererServiceOperationsImplDeleteTest extends AbstractTest { ServiceAEnd serviceAEnd = new ServiceAEndBuilder() .setServiceFormat(ServiceFormat.Ethernet) .setServiceRate(Uint32.valueOf("100")) + .setTxDirection(new TxDirectionBuilder().setPort(new PortBuilder().setPortName("port-name").build()) + .build()) + .setNodeId(new NodeIdType("optical-node1")) .build(); Services service = new ServicesBuilder() + .setServiceName("service 1") .setConnectionType(ConnectionType.Service) .setServiceAEnd(serviceAEnd) .build(); + Mockito.when(portMapping.getMapping(Mockito.anyString(), Mockito.anyString())) + .thenReturn(null); ListenableFuture serviceDeleteOutput = this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build(), service); ServiceDeleteOutput output = serviceDeleteOutput.get(); @@ -240,11 +193,17 @@ public class RendererServiceOperationsImplDeleteTest extends AbstractTest { ServiceAEnd serviceAEnd = new ServiceAEndBuilder() .setServiceFormat(ServiceFormat.Ethernet) .setServiceRate(Uint32.valueOf("100")) + .setTxDirection(new TxDirectionBuilder().setPort(new PortBuilder().setPortName("port-name").build()) + .build()) + .setNodeId(new NodeIdType("optical-node1")) .build(); Services service = new ServicesBuilder() + .setServiceName("service 1") .setConnectionType(ConnectionType.Service) .setServiceAEnd(serviceAEnd) .build(); + Mockito.when(portMapping.getMapping(Mockito.anyString(), Mockito.anyString())) + .thenReturn(null); ServiceDeleteOutput serviceDeleteOutput = this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build(), service).get(); Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, diff --git a/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplTest.java b/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplTest.java index b452f15e2..c169ec508 100644 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplTest.java +++ b/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplTest.java @@ -12,7 +12,6 @@ import java.util.List; import java.util.concurrent.ExecutionException; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; import org.opendaylight.mdsal.binding.api.MountPoint; @@ -20,34 +19,18 @@ import org.opendaylight.mdsal.binding.api.MountPointService; import org.opendaylight.mdsal.binding.api.NotificationPublishService; import org.opendaylight.transportpce.common.ResponseCodes; 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.crossconnect.CrossConnectImpl710; 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.mapping.PortMappingVersion710; 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.common.openroadminterfaces.OpenRoadmInterfacesImpl710; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface221; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface710; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmOtnInterface221; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmOtnInterface710; import org.opendaylight.transportpce.renderer.stub.OlmServiceStub; -import org.opendaylight.transportpce.renderer.utils.MountPointUtils; import org.opendaylight.transportpce.renderer.utils.NotificationPublishServiceMock; import org.opendaylight.transportpce.renderer.utils.ServiceDataUtils; import org.opendaylight.transportpce.test.AbstractTest; @@ -68,29 +51,20 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014. import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.olm.get.pm.input.ResourceIdentifierBuilder; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; -@Ignore public class RendererServiceOperationsImplTest extends AbstractTest { private MountPointService mountPointService; private DeviceTransactionManager deviceTransactionManager; + private final DeviceRendererService deviceRenderer = Mockito.mock(DeviceRendererService.class); + private final OtnDeviceRendererService otnDeviceRendererService = Mockito.mock(OtnDeviceRendererService.class); + private final PortMapping portMapping = Mockito.mock(PortMapping.class); private RendererServiceOperationsImpl rendererServiceOperations; private OpenRoadmInterfaces openRoadmInterfaces; - private DeviceRendererService deviceRenderer; - private OtnDeviceRendererService otnDeviceRendererService; - private PortMapping portMapping; - private OpenRoadmInterfaceFactory openRoadmInterfaceFactory; - private CrossConnect crossConnect; private TransportpceOlmService olmService; private MappingUtils mappingUtils; private OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121; private OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221; private OpenRoadmInterfacesImpl710 openRoadmInterfacesImpl710; - private PortMappingVersion710 portMappingVersion710; - private PortMappingVersion221 portMappingVersion22; - private PortMappingVersion121 portMappingVersion121; - private CrossConnectImpl121 crossConnectImpl121; - private CrossConnectImpl221 crossConnectImpl221; - private CrossConnectImpl710 crossConnectImpl710; private void setMountPoint(MountPoint mountPoint) { this.mountPointService = new MountPointServiceStub(mountPoint); @@ -99,49 +73,18 @@ public class RendererServiceOperationsImplTest extends AbstractTest { this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils, openRoadmInterfacesImpl121, openRoadmInterfacesImpl221, openRoadmInterfacesImpl710); this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces); - this.portMappingVersion22 = - new PortMappingVersion221(getDataBroker(), deviceTransactionManager); - this.portMappingVersion121 = - new PortMappingVersion121(getDataBroker(), deviceTransactionManager); - this.portMappingVersion710 = - new PortMappingVersion710(getDataBroker(), deviceTransactionManager); - this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion710, this.portMappingVersion22, - this.portMappingVersion121); - OpenRoadmInterface121 openRoadmInterface121 = new OpenRoadmInterface121(portMapping,openRoadmInterfaces); - OpenRoadmInterface221 openRoadmInterface221 = new OpenRoadmInterface221(portMapping,openRoadmInterfaces); - OpenRoadmInterface710 openRoadmInterface710 = new OpenRoadmInterface710(portMapping,openRoadmInterfaces); - OpenRoadmOtnInterface221 openRoadmOTNInterface221 = new OpenRoadmOtnInterface221(portMapping, - openRoadmInterfaces); - OpenRoadmOtnInterface710 openRoadmOtnInterface710 = new OpenRoadmOtnInterface710(portMapping, - openRoadmInterfaces); - this.openRoadmInterfaceFactory = new OpenRoadmInterfaceFactory(this.mappingUtils,openRoadmInterface121, - openRoadmInterface221, openRoadmInterface710, openRoadmOTNInterface221, openRoadmOtnInterface710); - this.crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager); - this.crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager); - this.crossConnect = new CrossConnectImpl(deviceTransactionManager, this.mappingUtils, this.crossConnectImpl121, - this.crossConnectImpl221, this.crossConnectImpl710); } @Before public void setUp() throws OpenRoadmInterfaceException { setMountPoint(new MountPointStub(getDataBroker())); this.olmService = new OlmServiceStub(); - this.deviceRenderer = new DeviceRendererServiceImpl(getDataBroker(), this.deviceTransactionManager, - openRoadmInterfaceFactory, openRoadmInterfaces, crossConnect, portMapping, null); - this.otnDeviceRendererService = new OtnDeviceRendererServiceImpl(openRoadmInterfaceFactory, this.crossConnect, - openRoadmInterfaces, this.deviceTransactionManager, null); Mockito.doNothing().when(this.openRoadmInterfaces).postEquipmentState(Mockito.anyString(), Mockito.anyString(), Mockito.anyBoolean()); NotificationPublishService notificationPublishService = new NotificationPublishServiceMock(); this.olmService = Mockito.spy(this.olmService); - this.deviceRenderer = Mockito.spy(this.deviceRenderer); - this.rendererServiceOperations = new RendererServiceOperationsImpl(this.deviceRenderer, - this.otnDeviceRendererService, this.olmService, getDataBroker(), notificationPublishService, null); - - ServicePathOutputBuilder mockOutputBuilder = new ServicePathOutputBuilder().setResult("success") - .setSuccess(true); - Mockito.doReturn(mockOutputBuilder.build()).when(this.deviceRenderer).setupServicePath(Mockito.any(), - Mockito.any()); + this.rendererServiceOperations = new RendererServiceOperationsImpl(deviceRenderer, + otnDeviceRendererService, this.olmService, getDataBroker(), notificationPublishService, portMapping); } @Test @@ -149,7 +92,6 @@ public class RendererServiceOperationsImplTest extends AbstractTest { ServiceImplementationRequestInput input = ServiceDataUtils .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.TTP_TOKEN); - writePortMapping(input, StringConstants.TTP_TOKEN); ServicePathOutputBuilder mockOutputBuilder = new ServicePathOutputBuilder().setResult("success") .setSuccess(true); Mockito.doReturn(mockOutputBuilder.build()).when(this.deviceRenderer).setupServicePath(Mockito.any(), @@ -164,7 +106,6 @@ public class RendererServiceOperationsImplTest extends AbstractTest { ServiceImplementationRequestInput input = ServiceDataUtils .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.TTP_TOKEN); - writePortMapping(input, StringConstants.TTP_TOKEN); ServicePathOutputBuilder mockOutputBuilder = new ServicePathOutputBuilder().setResult("success") .setSuccess(true); Mockito.doReturn(mockOutputBuilder.build()).when(this.deviceRenderer).setupServicePath(Mockito.any(), @@ -181,7 +122,6 @@ public class RendererServiceOperationsImplTest extends AbstractTest { ServiceImplementationRequestInput input = ServiceDataUtils .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.PP_TOKEN); - writePortMapping(input, StringConstants.PP_TOKEN); ServicePathOutputBuilder mockOutputBuilder = new ServicePathOutputBuilder().setResult("success") .setSuccess(true); Mockito.doReturn(mockOutputBuilder.build()).when(this.deviceRenderer).setupServicePath(Mockito.any(), @@ -193,11 +133,10 @@ public class RendererServiceOperationsImplTest extends AbstractTest { @Test public void serviceImplementationTerminationPointAsResourceNetwork() - throws InterruptedException, ExecutionException { + throws InterruptedException, ExecutionException { ServiceImplementationRequestInput input = ServiceDataUtils .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.NETWORK_TOKEN); - writePortMapping(input, StringConstants.NETWORK_TOKEN); ServicePathOutputBuilder mockOutputBuilder = new ServicePathOutputBuilder().setResult("success") .setSuccess(true); Mockito.doReturn(mockOutputBuilder.build()).when(this.deviceRenderer).setupServicePath(Mockito.any(), @@ -209,20 +148,21 @@ public class RendererServiceOperationsImplTest extends AbstractTest { @Test public void serviceImplementationTerminationPointAsResourceClient() - throws InterruptedException, ExecutionException { + throws InterruptedException, ExecutionException { ServiceImplementationRequestInput input = ServiceDataUtils - // .buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.CLIENT_TOKEN); .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.CLIENT_TOKEN); - // writePortMapping(input, OpenRoadmInterfacesImpl.CLIENT_TOKEN); - writePortMapping(input, StringConstants.CLIENT_TOKEN); + ServicePathOutputBuilder mockOutputBuilder = new ServicePathOutputBuilder().setResult("success") + .setSuccess(true); + Mockito.doReturn(mockOutputBuilder.build()).when(this.deviceRenderer).setupServicePath(Mockito.any(), + Mockito.any()); ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input).get(); Assert.assertEquals(ResponseCodes.RESPONSE_OK, result.getConfigurationResponseCommon().getResponseCode()); } @Test public void serviceImplementationTerminationPointAsResourceNoMapping() - throws InterruptedException, ExecutionException { + throws InterruptedException, ExecutionException { String[] interfaceTokens = { StringConstants.NETWORK_TOKEN, @@ -246,37 +186,12 @@ public class RendererServiceOperationsImplTest extends AbstractTest { } } - private void writePortMapping(ServiceImplementationRequestInput input, String tpToken) { - MountPointUtils.writeMapping( - input.getServiceAEnd().getNodeId(), - input.getServiceAEnd().getNodeId() + "-" + tpToken, - this.deviceTransactionManager - ); - MountPointUtils.writeMapping( - input.getServiceZEnd().getNodeId(), - input.getServiceZEnd().getNodeId() + "-" - + input.getServiceAEnd().getNodeId() + "-" + tpToken, - this.deviceTransactionManager - ); - MountPointUtils.writeMapping( - input.getServiceAEnd().getNodeId(), - input.getServiceAEnd().getNodeId() + "-" - + input.getServiceZEnd().getNodeId() + "-" + tpToken, - this.deviceTransactionManager - ); - MountPointUtils.writeMapping( - input.getServiceZEnd().getNodeId(), - input.getServiceZEnd().getNodeId() + "-" + tpToken, - this.deviceTransactionManager - ); - } - @Test public void serviceImplementationRollbackAllNecessary() throws InterruptedException, ExecutionException { ServiceImplementationRequestInput input = ServiceDataUtils .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.NETWORK_TOKEN); - writePortMapping(input, StringConstants.NETWORK_TOKEN); +// writePortMapping(input, StringConstants.NETWORK_TOKEN); Mockito.doReturn(RpcResultBuilder.failed().buildFuture()).when(this.olmService) .servicePowerSetup(Mockito.any()); ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input).get(); @@ -300,7 +215,6 @@ public class RendererServiceOperationsImplTest extends AbstractTest { ServiceImplementationRequestInput input = ServiceDataUtils .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.NETWORK_TOKEN); - writePortMapping(input, StringConstants.NETWORK_TOKEN); Measurements measurements = new MeasurementsBuilder().setPmparameterName("FECUncorrectableBlocks") .setPmparameterValue("1").build(); List measurementsList = new ArrayList(); @@ -319,15 +233,12 @@ public class RendererServiceOperationsImplTest extends AbstractTest { ServiceImplementationRequestInput input = ServiceDataUtils .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.NETWORK_TOKEN); - writePortMapping(input, StringConstants.NETWORK_TOKEN); Measurements measurements = new MeasurementsBuilder().setPmparameterName("FECUncorrectableBlocks") .setPmparameterValue("1").build(); List measurementsList = new ArrayList(); measurementsList.add(measurements); GetPmOutput getPmOutput = new GetPmOutputBuilder() .setNodeId("node1").setMeasurements(measurementsList).build(); - GetPmOutput getPmOutput2 = new GetPmOutputBuilder() - .setNodeId("node1").setMeasurements(new ArrayList<>()).build(); Mockito.when(this.olmService.getPm(Mockito.any())) .thenReturn(RpcResultBuilder.success(getPmOutput).buildFuture()); @@ -339,9 +250,6 @@ public class RendererServiceOperationsImplTest extends AbstractTest { @Test public void serviceImplementationServiceInActive3() throws InterruptedException, ExecutionException { - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.NETWORK_TOKEN); - writePortMapping(input, StringConstants.NETWORK_TOKEN); Measurements measurements = new MeasurementsBuilder().setPmparameterName("FECUncorrectableBlocks") .setPmparameterValue("1").build(); List measurementsList = new ArrayList(); @@ -360,6 +268,12 @@ public class RendererServiceOperationsImplTest extends AbstractTest { .thenReturn(RpcResultBuilder.success(getPmOutput2).buildFuture()); Mockito.when(this.olmService.getPm(Mockito.eq(getPmInputA))) .thenReturn(RpcResultBuilder.success(getPmOutput).buildFuture()); + ServicePathOutputBuilder mockOutputBuilder = new ServicePathOutputBuilder().setResult("success") + .setSuccess(true); + Mockito.doReturn(mockOutputBuilder.build()).when(this.deviceRenderer).setupServicePath(Mockito.any(), + Mockito.any()); + ServiceImplementationRequestInput input = ServiceDataUtils + .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.NETWORK_TOKEN); ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input).get(); Assert.assertEquals(ResponseCodes.RESPONSE_OK, result.getConfigurationResponseCommon().getResponseCode()); @@ -370,9 +284,6 @@ public class RendererServiceOperationsImplTest extends AbstractTest { ServiceImplementationRequestInput input = ServiceDataUtils .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.NETWORK_TOKEN); - writePortMapping(input, StringConstants.NETWORK_TOKEN); - GetPmOutput getPmOutput = new GetPmOutputBuilder() - .setNodeId("node1").setMeasurements(new ArrayList<>()).build(); GetPmOutput getPmOutput1 = null; Mockito.when(this.olmService.getPm(Mockito.any())).thenReturn(RpcResultBuilder.success(getPmOutput1) .buildFuture()); @@ -390,7 +301,6 @@ public class RendererServiceOperationsImplTest extends AbstractTest { ServiceImplementationRequestInput input = ServiceDataUtils .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.NETWORK_TOKEN); - writePortMapping(input, StringConstants.NETWORK_TOKEN); GetPmOutput getPmOutput = new GetPmOutputBuilder().setMeasurements(new ArrayList<>()).build(); Mockito.when(this.olmService.getPm(Mockito.any())).thenReturn(RpcResultBuilder.success(getPmOutput) .buildFuture()); @@ -406,9 +316,6 @@ public class RendererServiceOperationsImplTest extends AbstractTest { @Test public void serviceImplementationServiceInActive4() throws InterruptedException, ExecutionException { - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.NETWORK_TOKEN); - writePortMapping(input, StringConstants.NETWORK_TOKEN); Measurements measurements = new MeasurementsBuilder().setPmparameterName("preFECCorrectedErrors") .setPmparameterValue("1").build(); List measurementsList = new ArrayList(); @@ -422,6 +329,8 @@ public class RendererServiceOperationsImplTest extends AbstractTest { .setSuccess(true); Mockito.doReturn(mockOutputBuilder.build()).when(this.deviceRenderer).setupServicePath(Mockito.any(), Mockito.any()); + ServiceImplementationRequestInput input = ServiceDataUtils + .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.NETWORK_TOKEN); ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input).get(); Assert.assertEquals(ResponseCodes.RESPONSE_OK, result.getConfigurationResponseCommon().getResponseCode()); @@ -432,7 +341,6 @@ public class RendererServiceOperationsImplTest extends AbstractTest { ServiceImplementationRequestInput input = ServiceDataUtils .buildServiceImplementationRequestInputTerminationPointResource(StringConstants.NETWORK_TOKEN); - writePortMapping(input, StringConstants.NETWORK_TOKEN); Measurements measurements = new MeasurementsBuilder().setPmparameterName("preFECCorrectedErrors") .setPmparameterValue("112000000000d").build(); List measurementsList = new ArrayList(); diff --git a/renderer/src/test/java/org/opendaylight/transportpce/renderer/rpcs/DeviceRendererRPCImplTest.java b/renderer/src/test/java/org/opendaylight/transportpce/renderer/rpcs/DeviceRendererRPCImplTest.java index 6ec012f85..d55569a98 100644 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/rpcs/DeviceRendererRPCImplTest.java +++ b/renderer/src/test/java/org/opendaylight/transportpce/renderer/rpcs/DeviceRendererRPCImplTest.java @@ -9,7 +9,6 @@ package org.opendaylight.transportpce.renderer.rpcs; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException; @@ -22,7 +21,6 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.re import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.RendererRollbackOutputBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.ServicePathInput; -@Ignore public class DeviceRendererRPCImplTest extends AbstractTest { private final DeviceRendererService deviceRenderer = Mockito.mock(DeviceRendererService.class); private final OtnDeviceRendererService otnDeviceRenderer = Mockito.mock(OtnDeviceRendererService.class); diff --git a/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/MountPointUtils.java b/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/MountPointUtils.java index 7e05b18b3..e82e0f72a 100644 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/MountPointUtils.java +++ b/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/MountPointUtils.java @@ -10,24 +10,17 @@ package org.opendaylight.transportpce.renderer.utils; import com.google.common.util.concurrent.ListenableFuture; import java.util.List; -import java.util.concurrent.ExecutionException; import org.mockito.Mockito; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry; -import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.transportpce.common.device.DeviceTransactionManager; import org.opendaylight.transportpce.test.stub.MountPointStub; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.Network; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.mapping.Mapping; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.mapping.MappingBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.mapping.MappingKey; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.network.Nodes; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.network.NodesKey; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.GetConnectionPortTrailOutput; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.GetConnectionPortTrailOutputBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.OrgOpenroadmDeviceService; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.get.connection.port.trail.output.Ports; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; @@ -49,25 +42,16 @@ public final class MountPointUtils { return mountPoint; } - public static boolean writeMapping(String nodeId, String logicalConnPoint, - DeviceTransactionManager deviceTransactionManager) { - MappingBuilder mappingBuilder = new MappingBuilder(); - mappingBuilder.withKey(new MappingKey(logicalConnPoint)); - 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(nodeId)) - .child(Mapping.class, new MappingKey(logicalConnPoint)).build(); - try { - return TransactionUtils.writeTransaction(deviceTransactionManager, - nodeId, LogicalDatastoreType.CONFIGURATION, portMappingIID, mappingBuilder.build()); - } catch (ExecutionException | InterruptedException e) { - return false; - } + public static Mapping createMapping(String nodeId, String logicalConnPoint) { + return new MappingBuilder() + .withKey(new MappingKey(logicalConnPoint)) + .setLogicalConnectionPoint(logicalConnPoint) + .setSupportingOts("supporting-OTS") + .setSupportingCircuitPackName("2/0") + .setSupportingOms("supporting-OMS") + .setSupportingPort("port") + .setSupportingCircuitPackName("circuit-pack") + .build(); } private MountPointUtils() { diff --git a/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDeleteDataUtils.java b/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDeleteDataUtils.java index 67bd8ddb8..d868df9ac 100644 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDeleteDataUtils.java +++ b/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDeleteDataUtils.java @@ -11,6 +11,7 @@ package org.opendaylight.transportpce.renderer.utils; import java.util.HashMap; import java.util.Map; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.port.PortBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.AToZDirection; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.AToZDirectionBuilder; @@ -47,9 +48,9 @@ public final class ServiceDeleteDataUtils { TerminationPoint terminationPoint2 = terminationPointBuilder.setTpNodeId("node1" + tpId) .setTpId(tpId).build(); AToZ atoZ = new AToZBuilder().setId("1").withKey(new AToZKey("1")).setResource(new ResourceBuilder() - .setResource(terminationPoint).build()).build(); + .setResource(terminationPoint).setState(State.InService).build()).build(); AToZ atoZ2 = new AToZBuilder().setId("2").withKey(new AToZKey("2")).setResource(new ResourceBuilder() - .setResource(terminationPoint2).build()).build(); + .setResource(terminationPoint2).setState(State.InService).build()).build(); atoZMap.put(atoZ.key(),atoZ); atoZMap.put(atoZ2.key(),atoZ2); AToZDirection atozDirection = new AToZDirectionBuilder() @@ -60,9 +61,9 @@ public final class ServiceDeleteDataUtils { .build(); Map ztoAMap = new HashMap<>(); ZToA ztoA = new ZToABuilder().setId("1").withKey(new ZToAKey("1")).setResource(new ResourceBuilder() - .setResource(terminationPoint).build()).build(); + .setResource(terminationPoint).setState(State.InService).build()).build(); ZToA ztoA2 = new ZToABuilder().setId("2").withKey(new ZToAKey("2")).setResource(new ResourceBuilder() - .setResource(terminationPoint).build()).build(); + .setResource(terminationPoint).setState(State.InService).build()).build(); ztoAMap.put(ztoA.key(),ztoA); ztoAMap.put(ztoA2.key(),ztoA2); ZToADirection ztoaDirection = new ZToADirectionBuilder()