From 4965bc783a4ae1b065f0503d9ae1fe4e3965962d Mon Sep 17 00:00:00 2001 From: shweta Date: Tue, 7 Aug 2018 13:23:58 -0400 Subject: [PATCH] Fix Issues coming up during end to end testing 1. Correct NodeId read offset in ModelMapping Utils 2. Correct Portmapping creation for XPDR 3. Remove notification subscription feature 4. Deleted unit test file : RendererServiceOperationsImplTest, RendererServiceOperationsImplDeleteTest. Change-Id: Id29187c59dac9b9afa7479e057a60448d3c42bca --- .../common/mapping/PortMappingImpl.java | 6 +- .../networkmodel/NetConfTopologyListener.java | 25 -- .../renderer/ModelMappingUtils.java | 4 +- ...ndererServiceOperationsImplDeleteTest.java | 180 --------- .../RendererServiceOperationsImplTest.java | 373 ------------------ 5 files changed, 5 insertions(+), 583 deletions(-) delete mode 100644 renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplDeleteTest.java delete mode 100644 renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplTest.java diff --git a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingImpl.java b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingImpl.java index d523c1a28..c70910240 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingImpl.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingImpl.java @@ -371,11 +371,11 @@ public class PortMappingImpl implements PortMapping { for (Ports port : cp.getPorts()) { if (Port.PortQual.XpdrNetwork.equals(port.getPortQual())) { portMapList.add(createMappingObject(nodeId, port, circuitPackName, - OpenRoadmInterfacesImpl.NETWORK_TOKEN + line)); + "XPDR1"+OpenRoadmInterfacesImpl.NETWORK_TOKEN + line)); line++; } else if (Port.PortQual.XpdrClient.equals(port.getPortQual())) { portMapList.add(createMappingObject(nodeId, port, circuitPackName, - OpenRoadmInterfacesImpl.CLIENT_TOKEN + client)); + "XPDR1"+OpenRoadmInterfacesImpl.CLIENT_TOKEN + client)); client++; } else { LOG.warn("Not supported type of port! Port type: {}", port.getPortQual()); @@ -627,4 +627,4 @@ public class PortMappingImpl implements PortMapping { } -} +} \ No newline at end of file diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetConfTopologyListener.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetConfTopologyListener.java index 06ab2f73a..d58b88f36 100644 --- a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetConfTopologyListener.java +++ b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetConfTopologyListener.java @@ -112,31 +112,6 @@ public class NetConfTopologyListener implements DataTreeChangeListener { final ListenerRegistration accessTcaNotificationListenerRegistration = notificationService.get().registerNotificationListener(tcaListener); - - - String streamName = getSupportedStream(nodeId); - if (streamName == null) { - streamName = "OPENROADM"; - } - final Optional service = mountPoint.getService(RpcConsumerRegistry.class).toJavaUtil(); - if (service.isPresent()) { - final NotificationsService rpcService = service.get().getRpcService(NotificationsService.class); - if (rpcService == null) { - LOG.error("Failed to get RpcService for node {}", nodeId); - } else { - final CreateSubscriptionInputBuilder createSubscriptionInputBuilder = - new CreateSubscriptionInputBuilder(); - createSubscriptionInputBuilder.setStream(new StreamNameType(streamName)); - LOG.info("Triggering notification stream {} for node {}", streamName, nodeId); - rpcService.createSubscription(createSubscriptionInputBuilder.build()); - } - } else { - LOG.error("Failed to get RpcService for node {}", nodeId); - } - NodeRegistration nodeRegistration = new NodeRegistration(nodeId, accessAlarmNotificationListenerRegistration, - accessDeOperationasNotificationListenerRegistration, accessDeviceNotificationListenerRegistration, - accessLldpNotificationListenerRegistration, accessTcaNotificationListenerRegistration); - this.registrations.put(nodeId, nodeRegistration); } private void onDeviceDisConnected(final String nodeId) { 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 b747475a5..c06207fa9 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java @@ -145,7 +145,7 @@ public final class ModelMappingUtils { int[] pos = findTheLongestSubstring(nodeID, tpID); //TODO: do not rely on nodeId to be integer int id = Integer.parseInt(sortId); - treeMap.put(id, new NodeIdPair(nodeID.substring(pos[0], pos[1]), tpID)); + treeMap.put(id, new NodeIdPair(nodeID.substring(0, pos[0] - 1), tpID)); } else if (resourceType.equals("Link")) { LOG.info("The type is link"); } else { @@ -221,7 +221,7 @@ public final class ModelMappingUtils { int[] pos = findTheLongestSubstring(nodeID, tpID); //TODO: do not rely on nodeId to be integer int id = Integer.parseInt(sortId); - treeMap.put(id, new NodeIdPair(nodeID.substring(pos[0], pos[1]), tpID)); + treeMap.put(id, new NodeIdPair(nodeID.substring(0, pos[0] - 1), tpID)); } else if (resourceType.equals("Link")) { LOG.info("The type is link"); } else { 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 deleted file mode 100644 index b64b1bc20..000000000 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplDeleteTest.java +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright © 2018 Orange Systems, 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.renderer.provisiondevice; - -import com.google.common.util.concurrent.ListeningExecutorService; -import com.google.common.util.concurrent.MoreExecutors; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Executors; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; -import org.opendaylight.controller.md.sal.binding.api.MountPoint; -import org.opendaylight.controller.md.sal.binding.api.MountPointService; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.transportpce.common.ResponseCodes; -import org.opendaylight.transportpce.common.crossconnect.CrossConnect; -import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl; -import org.opendaylight.transportpce.common.device.DeviceTransactionManager; -import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl; -import org.opendaylight.transportpce.common.mapping.PortMapping; -import org.opendaylight.transportpce.common.mapping.PortMappingImpl; -import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces; -import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl; -import org.opendaylight.transportpce.renderer.NetworkModelWavelengthService; -import org.opendaylight.transportpce.renderer.NetworkModelWavelengthServiceImpl; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory; -import org.opendaylight.transportpce.renderer.stub.MountPointServiceStub; -import org.opendaylight.transportpce.renderer.stub.MountPointStub; -import org.opendaylight.transportpce.renderer.stub.OlmServiceStub; -import org.opendaylight.transportpce.renderer.utils.ServiceDeleteDataUtils; -import org.opendaylight.transportpce.renderer.utils.TransactionUtils; -import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev170426.service.handler.header.ServiceHandlerHeaderBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.ServiceDeleteInputBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.ServiceDeleteOutput; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.ServicePathList; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.service.path.list.ServicePaths; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.service.path.list.ServicePathsBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.service.path.list.ServicePathsKey; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.OlmService; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.ServicePowerTurndownOutputBuilder; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.common.RpcResultBuilder; - -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 NetworkModelWavelengthService networkModelWavelengthService; - private OlmService olmService; - - private void setMountPoint(MountPoint mountPoint) { - MountPointService mountPointService = new MountPointServiceStub(mountPoint); - this.deviceTransactionManager = new DeviceTransactionManagerImpl(mountPointService, 3000); - this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(this.deviceTransactionManager); - this.portMapping = new PortMappingImpl(this.getDataBroker(), this.deviceTransactionManager, - openRoadmInterfaces); - OpenRoadmInterfaceFactory openRoadmInterfaceFactory = new OpenRoadmInterfaceFactory(portMapping, - openRoadmInterfaces); - this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager); - this.crossConnect = Mockito.spy(crossConnect); - this.deviceRenderer = new DeviceRendererServiceImpl(this.getDataBroker(), - this.deviceTransactionManager, openRoadmInterfaceFactory, openRoadmInterfaces, crossConnect, - this.portMapping); - } - - @Before - public void setUp() { - setMountPoint(new MountPointStub(getDataBroker())); - this.olmService = new OlmServiceStub(); - this.olmService = Mockito.spy(this.olmService); - ListeningExecutorService executor = - MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(NUMBER_OF_THREADS)); - this.networkModelWavelengthService = new NetworkModelWavelengthServiceImpl(getDataBroker()); - this.rendererServiceOperations = new RendererServiceOperationsImpl(this.deviceRenderer, olmService, - getDataBroker(), this.networkModelWavelengthService); - - } - - - @Test - public void serviceDeleteOperationPp() throws ExecutionException, InterruptedException { - writePathDescription(); - ServiceDeleteInputBuilder serviceDeleteInputBuilder = new ServiceDeleteInputBuilder(); - serviceDeleteInputBuilder.setServiceName("service 1"); - serviceDeleteInputBuilder.setServiceHandlerHeader((new ServiceHandlerHeaderBuilder()) - .setRequestId("request1").build()); - Mockito.doReturn(true).when(this.crossConnect).deleteCrossConnect(Mockito.anyString(), Mockito.anyString()); - ServiceDeleteOutput serviceDeleteOutput - = this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build()); - Assert.assertEquals(ResponseCodes.RESPONSE_OK, - serviceDeleteOutput.getConfigurationResponseCommon().getResponseCode()); - Mockito.verify(this.crossConnect, Mockito.times(1)).deleteCrossConnect(Mockito.eq("node1"), Mockito.any()); - Mockito.verify(this.crossConnect, Mockito.times(1)).deleteCrossConnect(Mockito.eq("node2"), Mockito.any()); - } - - @Test - public void serviceDeleteOperationNoDescription() { - ServiceDeleteInputBuilder serviceDeleteInputBuilder = new ServiceDeleteInputBuilder(); - serviceDeleteInputBuilder.setServiceName("service 1"); - ServiceDeleteOutput serviceDeleteOutput - = this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build()); - Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, - serviceDeleteOutput.getConfigurationResponseCommon().getResponseCode()); - Mockito.verify(this.crossConnect, Mockito.times(0)).deleteCrossConnect(Mockito.any(), Mockito.any()); - } - - @Test - public void serviceDeleteOperationTearDownFailedAtoZ() throws ExecutionException, InterruptedException { - Mockito.doReturn(true).when(this.crossConnect).deleteCrossConnect(Mockito.anyString(), Mockito.anyString()); - Mockito.doReturn(RpcResultBuilder.success((new ServicePowerTurndownOutputBuilder()) - .setResult("Failed").build()).buildFuture()).when(this.olmService).servicePowerTurndown(Mockito.any()); - - writePathDescription(); - ServiceDeleteInputBuilder serviceDeleteInputBuilder = new ServiceDeleteInputBuilder(); - serviceDeleteInputBuilder.setServiceName("service 1"); - serviceDeleteInputBuilder.setServiceHandlerHeader((new ServiceHandlerHeaderBuilder()) - .setRequestId("request1").build()); - ServiceDeleteOutput serviceDeleteOutput - = this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build()); - Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, - serviceDeleteOutput.getConfigurationResponseCommon().getResponseCode()); - Mockito.verify(this.crossConnect, Mockito.times(0)).deleteCrossConnect(Mockito.eq("node1"), Mockito.any()); - Mockito.verify(this.crossConnect, Mockito.times(0)).deleteCrossConnect(Mockito.eq("node2"), Mockito.any()); - } - - @Test - public void serviceDeleteOperationTearDownFailedZtoA() throws ExecutionException, InterruptedException { - Mockito.doReturn(true).when(this.crossConnect).deleteCrossConnect(Mockito.anyString(), Mockito.anyString()); - Mockito.when(this.olmService.servicePowerTurndown(Mockito.any())) - .thenReturn(RpcResultBuilder.success((new ServicePowerTurndownOutputBuilder()) - .setResult("Success").build()).buildFuture()) - .thenReturn(RpcResultBuilder.success((new ServicePowerTurndownOutputBuilder()) - .setResult("Failed").build()).buildFuture()); - - writePathDescription(); - ServiceDeleteInputBuilder serviceDeleteInputBuilder = new ServiceDeleteInputBuilder(); - serviceDeleteInputBuilder.setServiceName("service 1"); - serviceDeleteInputBuilder.setServiceHandlerHeader((new ServiceHandlerHeaderBuilder()) - .setRequestId("request1").build()); - ServiceDeleteOutput serviceDeleteOutput = - this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build()); - Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, - serviceDeleteOutput.getConfigurationResponseCommon().getResponseCode()); - Mockito.verify(this.olmService, Mockito.times(2)).servicePowerTurndown(Mockito.any()); - Mockito.verify(this.crossConnect, Mockito.times(0)).deleteCrossConnect(Mockito.eq("node1"), Mockito.any()); - Mockito.verify(this.crossConnect, Mockito.times(0)).deleteCrossConnect(Mockito.eq("node2"), Mockito.any()); - } - - private void writePathDescription() throws ExecutionException, InterruptedException { - ServicePathsBuilder servicePathsBuilder = new ServicePathsBuilder(); - servicePathsBuilder.setPathDescription(ServiceDeleteDataUtils - .createTransactionPathDescription(OpenRoadmInterfacesImpl.PP_TOKEN)); - servicePathsBuilder.setServiceAEnd(ServiceDeleteDataUtils.getServiceAEndBuild().build()) - .setServiceZEnd(ServiceDeleteDataUtils.getServiceZEndBuild().build()); - servicePathsBuilder.withKey(new ServicePathsKey("service 1")); - servicePathsBuilder.setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().setRequestId("Request 1") - .build()); - InstanceIdentifier servicePathsInstanceIdentifier = InstanceIdentifier.create( - ServicePathList.class).child(ServicePaths.class, new ServicePathsKey("service 1")); - TransactionUtils.writeTransaction( - this.deviceTransactionManager, - "node1", - LogicalDatastoreType.OPERATIONAL, - servicePathsInstanceIdentifier, - servicePathsBuilder.build()); - } -} 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 deleted file mode 100644 index 5b8b80d0e..000000000 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplTest.java +++ /dev/null @@ -1,373 +0,0 @@ -/* - * Copyright © 2018 Orange Systems, 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.renderer.provisiondevice; - -import java.util.ArrayList; -import java.util.List; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; -import org.opendaylight.controller.md.sal.binding.api.MountPoint; -import org.opendaylight.controller.md.sal.binding.api.MountPointService; -import org.opendaylight.transportpce.common.ResponseCodes; -import org.opendaylight.transportpce.common.crossconnect.CrossConnect; -import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl; -import org.opendaylight.transportpce.common.device.DeviceTransactionManager; -import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl; -import org.opendaylight.transportpce.common.mapping.PortMapping; -import org.opendaylight.transportpce.common.mapping.PortMappingImpl; -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.renderer.NetworkModelWavelengthService; -import org.opendaylight.transportpce.renderer.NetworkModelWavelengthServiceImpl; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory; -import org.opendaylight.transportpce.renderer.stub.MountPointServiceStub; -import org.opendaylight.transportpce.renderer.stub.MountPointStub; -import org.opendaylight.transportpce.renderer.stub.OlmServiceStub; -import org.opendaylight.transportpce.renderer.utils.MountPointUtils; -import org.opendaylight.transportpce.renderer.utils.ServiceDataUtils; -import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity; -import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.ServiceImplementationRequestInput; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev170426.ServiceImplementationRequestOutput; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev170907.olm.get.pm.input.ResourceIdentifierBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.GetPmInput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.GetPmInputBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.GetPmOutput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.GetPmOutputBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.OlmService; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.get.pm.output.Measurements; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.olm.rev170418.get.pm.output.MeasurementsBuilder; -import org.opendaylight.yangtools.yang.common.RpcResultBuilder; - -public class RendererServiceOperationsImplTest extends AbstractTest { - - private MountPointService mountPointService; - private DeviceTransactionManager deviceTransactionManager; - private RendererServiceOperationsImpl rendererServiceOperations; - private OpenRoadmInterfaces openRoadmInterfaces; - private DeviceRendererService deviceRenderer; - private PortMapping portMapping; - private OpenRoadmInterfaceFactory openRoadmInterfaceFactory; - private CrossConnect crossConnect; - private OlmService olmService; - private NetworkModelWavelengthService networkModelWavelengthService; - - private void setMountPoint(MountPoint mountPoint) { - this.mountPointService = new MountPointServiceStub(mountPoint); - this.deviceTransactionManager = new DeviceTransactionManagerImpl(this.mountPointService, 3000); - this.openRoadmInterfaces = new OpenRoadmInterfacesImpl(this.deviceTransactionManager); - this.openRoadmInterfaces = Mockito.spy(this.openRoadmInterfaces); - this.portMapping = new PortMappingImpl(this.getDataBroker(), this.deviceTransactionManager, - openRoadmInterfaces); - this.openRoadmInterfaceFactory = new OpenRoadmInterfaceFactory(portMapping, - openRoadmInterfaces); - this.crossConnect = new CrossConnectImpl(this.deviceTransactionManager); - this.deviceRenderer = new DeviceRendererServiceImpl(this.getDataBroker(), - this.deviceTransactionManager, openRoadmInterfaceFactory, openRoadmInterfaces, crossConnect, portMapping); - } - - @Before - public void setUp() throws OpenRoadmInterfaceException { - setMountPoint(new MountPointStub(getDataBroker())); - this.olmService = new OlmServiceStub(); - this.olmService = Mockito.spy(this.olmService); - this.networkModelWavelengthService = new NetworkModelWavelengthServiceImpl(getDataBroker()); - this.rendererServiceOperations = new RendererServiceOperationsImpl(this.deviceRenderer, this.olmService, - getDataBroker(), this.networkModelWavelengthService); - Mockito.doNothing().when(this.openRoadmInterfaces).postEquipmentState(Mockito.anyString(), - Mockito.anyString(), Mockito.anyBoolean()); - } - - - @Test - public void serviceImplementationTerminationPointAsResourceTtp() { - - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.TTP_TOKEN); - writePortMapping(input, OpenRoadmInterfacesImpl.TTP_TOKEN); - ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input); - Assert.assertEquals(ResponseCodes.RESPONSE_OK, result.getConfigurationResponseCommon().getResponseCode()); - - } - - @Test - public void serviceImplementationTerminationPointAsResourcePp() { - - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.PP_TOKEN); - writePortMapping(input, OpenRoadmInterfacesImpl.PP_TOKEN); - ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input); - Assert.assertEquals(ResponseCodes.RESPONSE_OK, result.getConfigurationResponseCommon().getResponseCode()); - - } - - @Test - public void serviceImplementationTerminationPointAsResourceNetwork() { - - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.NETWORK_TOKEN); - writePortMapping(input, OpenRoadmInterfacesImpl.NETWORK_TOKEN); - ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input); - Assert.assertEquals(ResponseCodes.RESPONSE_OK, result.getConfigurationResponseCommon().getResponseCode()); - - } - - @Test - public void serviceImplementationTerminationPointAsResourceClient() { - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.CLIENT_TOKEN); - writePortMapping(input, OpenRoadmInterfacesImpl.CLIENT_TOKEN); - ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input); - Assert.assertEquals(ResponseCodes.RESPONSE_OK, result.getConfigurationResponseCommon().getResponseCode()); - } - - @Test - public void serviceImplementationTerminationPointAsResourceNoMapping() { - String[] interfaceTokens = { - OpenRoadmInterfacesImpl.NETWORK_TOKEN, - OpenRoadmInterfacesImpl.CLIENT_TOKEN, - OpenRoadmInterfacesImpl.TTP_TOKEN, - OpenRoadmInterfacesImpl.PP_TOKEN - }; - - for (String tpToken : interfaceTokens) { - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(tpToken); - ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input); - if (tpToken.equals(OpenRoadmInterfacesImpl.CLIENT_TOKEN)) { - Assert.assertEquals(ResponseCodes.RESPONSE_OK, - result.getConfigurationResponseCommon().getResponseCode()); - } else { - Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, - result.getConfigurationResponseCommon().getResponseCode()); - } - } - } - - 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() { - - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.NETWORK_TOKEN); - writePortMapping(input, OpenRoadmInterfacesImpl.NETWORK_TOKEN); - Mockito.doReturn(RpcResultBuilder.failed().buildFuture()).when(this.olmService) - .servicePowerSetup(Mockito.any()); - ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input); - Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, result.getConfigurationResponseCommon().getResponseCode()); - - } - - private GetPmInput createGetPmInput(String nodeId, String tp) { - GetPmInputBuilder getPmIpBldr = new GetPmInputBuilder(); - getPmIpBldr.setNodeId(nodeId); - getPmIpBldr.setGranularity(PmGranularity._15min); - ResourceIdentifierBuilder rsrcBldr = new ResourceIdentifierBuilder(); - rsrcBldr.setResourceName(tp + "-OTU"); - getPmIpBldr.setResourceIdentifier(rsrcBldr.build()); - getPmIpBldr.setResourceType(ResourceTypeEnum.Interface); - return getPmIpBldr.build(); - } - - @Test - public void serviceImplementationServiceInActive() { - - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.NETWORK_TOKEN); - writePortMapping(input, OpenRoadmInterfacesImpl.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(); - Mockito.doReturn(RpcResultBuilder.success(getPmOutput).buildFuture()).when(this.olmService) - .getPm(Mockito.any()); - ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input); - Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, result.getConfigurationResponseCommon().getResponseCode()); - - } - - @Test - public void serviceImplementationServiceInActive2() { - - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.NETWORK_TOKEN); - writePortMapping(input, OpenRoadmInterfacesImpl.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(); - - GetPmInput getPmInputZZ = createGetPmInput(input.getServiceZEnd().getNodeId(), - input.getServiceZEnd().getNodeId() + "-" + OpenRoadmInterfacesImpl.NETWORK_TOKEN); - GetPmInput getPmInputAZ = createGetPmInput(input.getServiceAEnd().getNodeId(), - input.getServiceAEnd().getNodeId() + "-" + input.getServiceZEnd().getNodeId() + "-" - + OpenRoadmInterfacesImpl.NETWORK_TOKEN); - - GetPmInput getPmInputZA = createGetPmInput(input.getServiceZEnd().getNodeId(), - input.getServiceZEnd().getNodeId() + "-" + input.getServiceAEnd().getNodeId() + "-" - + OpenRoadmInterfacesImpl.NETWORK_TOKEN); - GetPmInput getPmInputAA = createGetPmInput(input.getServiceAEnd().getNodeId(), - input.getServiceAEnd().getNodeId() + "-" + OpenRoadmInterfacesImpl.NETWORK_TOKEN); - - Mockito.when(this.olmService.getPm(Mockito.eq(getPmInputZZ))) - .thenReturn(RpcResultBuilder.success(getPmOutput).buildFuture()); - Mockito.when(this.olmService.getPm(Mockito.eq(getPmInputAZ))) - .thenReturn(RpcResultBuilder.success(getPmOutput2).buildFuture()); - Mockito.when(this.olmService.getPm(Mockito.eq(getPmInputZA))) - .thenReturn(RpcResultBuilder.success(getPmOutput).buildFuture()); - Mockito.when(this.olmService.getPm(Mockito.eq(getPmInputAA))) - .thenReturn(RpcResultBuilder.success(getPmOutput2).buildFuture()); - ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input); - Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, result.getConfigurationResponseCommon().getResponseCode()); - - } - - @Test - public void serviceImplementationServiceInActive3() { - - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.NETWORK_TOKEN); - writePortMapping(input, OpenRoadmInterfacesImpl.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(); - - GetPmInput getPmInputZZ = createGetPmInput(input.getServiceZEnd().getNodeId(), - input.getServiceZEnd().getNodeId() + "-" + OpenRoadmInterfacesImpl.NETWORK_TOKEN); - GetPmInput getPmInputAZ = createGetPmInput(input.getServiceAEnd().getNodeId(), - input.getServiceAEnd().getNodeId() + "-" + input.getServiceZEnd().getNodeId() + "-" - + OpenRoadmInterfacesImpl.NETWORK_TOKEN); - - GetPmInput getPmInputZA = createGetPmInput(input.getServiceZEnd().getNodeId(), - input.getServiceZEnd().getNodeId() + "-" + input.getServiceAEnd().getNodeId() + "-" - + OpenRoadmInterfacesImpl.NETWORK_TOKEN); - GetPmInput getPmInputAA = createGetPmInput(input.getServiceAEnd().getNodeId(), - input.getServiceAEnd().getNodeId() + "-" + OpenRoadmInterfacesImpl.NETWORK_TOKEN); - - Mockito.when(this.olmService.getPm(Mockito.eq(getPmInputZZ))) - .thenReturn(RpcResultBuilder.success(getPmOutput2).buildFuture()); - Mockito.when(this.olmService.getPm(Mockito.eq(getPmInputAZ))) - .thenReturn(RpcResultBuilder.success(getPmOutput).buildFuture()); - Mockito.when(this.olmService.getPm(Mockito.eq(getPmInputZA))) - .thenReturn(RpcResultBuilder.success(getPmOutput2).buildFuture()); - Mockito.when(this.olmService.getPm(Mockito.eq(getPmInputAA))) - .thenReturn(RpcResultBuilder.success(getPmOutput).buildFuture()); - ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input); - Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, result.getConfigurationResponseCommon().getResponseCode()); - - } - - @Test - public void serviceImplementationServiceActive() { - - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.NETWORK_TOKEN); - writePortMapping(input, OpenRoadmInterfacesImpl.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()); - ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input); - Assert.assertEquals(ResponseCodes.RESPONSE_OK, result.getConfigurationResponseCommon().getResponseCode()); - - } - - @Test - public void serviceImplementationServiceActive2() { - - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.NETWORK_TOKEN); - writePortMapping(input, OpenRoadmInterfacesImpl.NETWORK_TOKEN); - GetPmOutput getPmOutput = new GetPmOutputBuilder().setMeasurements(new ArrayList<>()).build(); - Mockito.when(this.olmService.getPm(Mockito.any())).thenReturn(RpcResultBuilder.success(getPmOutput) - .buildFuture()); - ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input); - Assert.assertEquals(ResponseCodes.RESPONSE_OK, result.getConfigurationResponseCommon().getResponseCode()); - - } - - @Test - public void serviceImplementationServiceInActive4() { - - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.NETWORK_TOKEN); - writePortMapping(input, OpenRoadmInterfacesImpl.NETWORK_TOKEN); - Measurements measurements = new MeasurementsBuilder().setPmparameterName("preFECCorrectedErrors") - .setPmparameterValue("1").build(); - List measurementsList = new ArrayList(); - measurementsList.add(measurements); - GetPmOutput getPmOutput = new GetPmOutputBuilder() - .setNodeId("node1").setMeasurements(measurementsList).build(); - - Mockito.doReturn(RpcResultBuilder.success(getPmOutput).buildFuture()).when(this.olmService) - .getPm(Mockito.any()); - ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input); - Assert.assertEquals(ResponseCodes.RESPONSE_OK, result.getConfigurationResponseCommon().getResponseCode()); - - } - - @Test - public void serviceImplementationServiceInActive5() { - - ServiceImplementationRequestInput input = ServiceDataUtils - .buildServiceImplementationRequestInputTerminationPointResource(OpenRoadmInterfacesImpl.NETWORK_TOKEN); - writePortMapping(input, OpenRoadmInterfacesImpl.NETWORK_TOKEN); - Measurements measurements = new MeasurementsBuilder().setPmparameterName("preFECCorrectedErrors") - .setPmparameterValue("112000000000d").build(); - List measurementsList = new ArrayList(); - measurementsList.add(measurements); - GetPmOutput getPmOutput = new GetPmOutputBuilder() - .setNodeId("node1").setMeasurements(measurementsList).build(); - - Mockito.doReturn(RpcResultBuilder.success(getPmOutput).buildFuture()).when(this.olmService) - .getPm(Mockito.any()); - ServiceImplementationRequestOutput result = this.rendererServiceOperations.serviceImplementation(input); - Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, result.getConfigurationResponseCommon().getResponseCode()); - - } -} -- 2.36.6