X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=renderer%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2Fprovisiondevice%2FRendererServiceOperationsImplDeleteTest.java;h=cf8eb6345ac910c38a85f5b1e217576edcaa8e02;hb=bd07f216de88c1028dec0882de939359df2a521f;hp=951edabc138436f40cb1a41832eb9142272c1d6d;hpb=5d23ec7d90dbeb3dfbf24616d29d9ef2b1ae7c41;p=transportpce.git 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 951edabc1..cf8eb6345 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 @@ -8,17 +8,25 @@ package org.opendaylight.transportpce.renderer.provisiondevice; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + 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.Map; 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 java.util.concurrent.TimeoutException; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.mdsal.binding.api.MountPoint; import org.opendaylight.mdsal.binding.api.MountPointService; import org.opendaylight.mdsal.binding.api.NotificationPublishService; @@ -26,30 +34,10 @@ 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.provisiondevice.notification.NotificationSender; import org.opendaylight.transportpce.renderer.stub.OlmServiceStub; import org.opendaylight.transportpce.renderer.utils.NotificationPublishServiceMock; import org.opendaylight.transportpce.renderer.utils.ServiceDeleteDataUtils; @@ -57,17 +45,22 @@ 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.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.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; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.handler.header.ServiceHandlerHeaderBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev210528.NodeIdType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.ConnectionType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.ServiceAEnd; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.ServiceAEndBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.endpoint.TxDirectionBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.endpoint.TxDirectionKey; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.port.PortBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev191129.ServiceFormat; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.service.list.Services; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.service.list.ServicesBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.handler.header.ServiceHandlerHeaderBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.ServicePathList; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePaths; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsBuilder; @@ -75,202 +68,187 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.common.Uint32; +import org.opendaylight.yangtools.yang.common.Uint8; -@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 = mock(DeviceRendererService.class); + private final OtnDeviceRendererService otnDeviceRendererService = mock(OtnDeviceRendererService.class); + private final PortMapping portMapping = mock(PortMapping.class); + private final CrossConnect crossConnect = 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.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 - public void setUp() { + @BeforeEach + 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.olmService = spy(this.olmService); NotificationPublishService notificationPublishService = new NotificationPublishServiceMock(); - this.rendererServiceOperations = new RendererServiceOperationsImpl(this.deviceRenderer, - this.otnDeviceRendererService, olmService, getDataBroker(), notificationPublishService, null); - + this.rendererServiceOperations = new RendererServiceOperationsImpl(deviceRenderer, + otnDeviceRendererService, olmService, getDataBroker(), new NotificationSender(notificationPublishService), + portMapping); } @Test - public void serviceDeleteOperationPp() throws ExecutionException, InterruptedException { + void serviceDeleteOperationPp() throws ExecutionException, InterruptedException, TimeoutException { writePathDescription(); ServiceDeleteInputBuilder serviceDeleteInputBuilder = new ServiceDeleteInputBuilder(); serviceDeleteInputBuilder.setServiceName("service 1"); serviceDeleteInputBuilder.setServiceHandlerHeader((new ServiceHandlerHeaderBuilder()) .setRequestId("request1").build()); - Mockito.doReturn(Collections.emptyList()).when(this.crossConnect).deleteCrossConnect(Mockito.anyString(), - Mockito.anyString(), Mockito.eq(false)); + doReturn(Collections.emptyList()) + .when(this.crossConnect).deleteCrossConnect(anyString(), anyString(), eq(false)); ServiceAEnd serviceAEnd = new ServiceAEndBuilder() .setServiceFormat(ServiceFormat.Ethernet) .setServiceRate(Uint32.valueOf("100")) + .setTxDirection(Map.of(new TxDirectionKey(Uint8.ZERO), + new TxDirectionBuilder().setIndex(Uint8.ZERO).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(); - 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)); + when(portMapping.getMapping(anyString(), anyString())).thenReturn(null); + when(deviceRenderer.deleteServicePath(any())) + .thenReturn(new ServicePathOutputBuilder().setSuccess(true).build()); + ServiceDeleteOutput serviceDeleteOutput = this.rendererServiceOperations + .serviceDelete(serviceDeleteInputBuilder.build(), service).get(); + assertEquals(ResponseCodes.RESPONSE_OK, serviceDeleteOutput.getConfigurationResponseCommon().getResponseCode()); } @Test - public void serviceDeleteOperationNoDescription() throws InterruptedException, ExecutionException { + 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(Map.of( + new TxDirectionKey(Uint8.ZERO), + new TxDirectionBuilder().setIndex(Uint8.ZERO).setPort(new PortBuilder() + .setPortName("port-name").build()).build())) + .setNodeId(new NodeIdType("optical-node1")) + .build()) + .build(); + when(portMapping.getMapping(anyString(), anyString())).thenReturn(null); + doReturn(RpcResultBuilder.success((new ServicePowerTurndownOutputBuilder()) + .setResult("Failed").build()).buildFuture()).when(this.olmService).servicePowerTurndown(any()); ServiceDeleteOutput serviceDeleteOutput - = this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build(), null).get(); - Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, + = this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build(), service).get(); + assertEquals( + ResponseCodes.RESPONSE_FAILED, serviceDeleteOutput.getConfigurationResponseCommon().getResponseCode()); - Mockito.verify(this.crossConnect, Mockito.times(0)) - .deleteCrossConnect(Mockito.any(), Mockito.any(), Mockito.eq(false)); + verify(this.crossConnect, times(0)).deleteCrossConnect(any(), any(), eq(false)); } @Test - public void serviceDeleteOperationTearDownFailedAtoZ() throws ExecutionException, InterruptedException { - Mockito.doReturn(Collections.emptyList()).when(this.crossConnect).deleteCrossConnect(Mockito.anyString(), - Mockito.anyString(), Mockito.eq(false)); - Mockito.doReturn(RpcResultBuilder.success((new ServicePowerTurndownOutputBuilder()) - .setResult("Failed").build()).buildFuture()).when(this.olmService).servicePowerTurndown(Mockito.any()); + void serviceDeleteOperationTearDownFailedAtoZ() throws ExecutionException, InterruptedException { + doReturn(Collections.emptyList()) + .when(this.crossConnect).deleteCrossConnect(anyString(),anyString(), eq(false)); + doReturn(RpcResultBuilder.success(new ServicePowerTurndownOutputBuilder().setResult("Failed").build()) + .buildFuture()) + .when(this.olmService).servicePowerTurndown(any()); writePathDescription(); - ServiceDeleteInputBuilder serviceDeleteInputBuilder = new ServiceDeleteInputBuilder(); - serviceDeleteInputBuilder.setServiceName("service 1"); - serviceDeleteInputBuilder.setServiceHandlerHeader((new ServiceHandlerHeaderBuilder()) - .setRequestId("request1").build()); - ServiceAEnd serviceAEnd = new ServiceAEndBuilder() - .setServiceFormat(ServiceFormat.Ethernet) - .setServiceRate(Uint32.valueOf("100")) - .build(); Services service = new ServicesBuilder() + .setServiceName("service 1") .setConnectionType(ConnectionType.Service) - .setServiceAEnd(serviceAEnd) + .setServiceAEnd(new ServiceAEndBuilder() + .setServiceFormat(ServiceFormat.Ethernet) + .setServiceRate(Uint32.valueOf("100")) + .setTxDirection(Map.of( + new TxDirectionKey(Uint8.ZERO), + new TxDirectionBuilder() + .setIndex(Uint8.ZERO) + .setPort(new PortBuilder().setPortName("port-name").build()) + .build())) + .setNodeId(new NodeIdType("optical-node1")) + .build()) .build(); - ListenableFuture serviceDeleteOutput - = this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build(), service); + when(portMapping.getMapping(anyString(), anyString())) + .thenReturn(null); + ListenableFuture serviceDeleteOutput = this.rendererServiceOperations + .serviceDelete( + new ServiceDeleteInputBuilder() + .setServiceName("service 1") + .setServiceHandlerHeader((new ServiceHandlerHeaderBuilder()).setRequestId("request1").build()) + .build(), + service); ServiceDeleteOutput output = serviceDeleteOutput.get(); - Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, + assertEquals(ResponseCodes.RESPONSE_FAILED, output.getConfigurationResponseCommon().getResponseCode()); - Mockito.verify(this.crossConnect, Mockito.times(0)).deleteCrossConnect(Mockito.eq("node1"), Mockito.any(), - Mockito.eq(false)); - Mockito.verify(this.crossConnect, Mockito.times(0)).deleteCrossConnect(Mockito.eq("node2"), Mockito.any(), - Mockito.eq(false)); + verify(this.crossConnect, times(0)).deleteCrossConnect(eq("node1"), any(), eq(false)); + verify(this.crossConnect, times(0)).deleteCrossConnect(eq("node2"), any(), eq(false)); } @Test - public void serviceDeleteOperationTearDownFailedZtoA() throws ExecutionException, InterruptedException { - Mockito.doReturn(Collections.emptyList()).when(this.crossConnect).deleteCrossConnect(Mockito.anyString(), - Mockito.anyString(), Mockito.eq(false)); - 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()); + void serviceDeleteOperationTearDownFailedZtoA() throws ExecutionException, InterruptedException { + doReturn(Collections.emptyList()) + .when(this.crossConnect).deleteCrossConnect(anyString(), anyString(), eq(false)); + when(this.olmService.servicePowerTurndown(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()); - ServiceAEnd serviceAEnd = new ServiceAEndBuilder() - .setServiceFormat(ServiceFormat.Ethernet) - .setServiceRate(Uint32.valueOf("100")) - .build(); - Services service = new ServicesBuilder() - .setConnectionType(ConnectionType.Service) - .setServiceAEnd(serviceAEnd) - .build(); - ServiceDeleteOutput serviceDeleteOutput = - this.rendererServiceOperations.serviceDelete(serviceDeleteInputBuilder.build(), service).get(); - Assert.assertEquals(ResponseCodes.RESPONSE_FAILED, + when(portMapping.getMapping(anyString(), anyString())) + .thenReturn(null); + ServiceDeleteOutput serviceDeleteOutput = this.rendererServiceOperations.serviceDelete( + new ServiceDeleteInputBuilder() + .setServiceName("service 1") + .setServiceHandlerHeader((new ServiceHandlerHeaderBuilder()).setRequestId("request1").build()) + .build(), + new ServicesBuilder() + .setServiceName("service 1") + .setConnectionType(ConnectionType.Service) + .setServiceAEnd(new ServiceAEndBuilder() + .setServiceFormat(ServiceFormat.Ethernet) + .setServiceRate(Uint32.valueOf("100")) + .setTxDirection(Map.of( + new TxDirectionKey(Uint8.ZERO), + new TxDirectionBuilder() + .setIndex(Uint8.ZERO) + .setPort(new PortBuilder().setPortName("port-name").build()) + .build())) + .setNodeId(new NodeIdType("optical-node1")) + .build()) + .build()) + .get(); + 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.eq(false)); - Mockito.verify(this.crossConnect, Mockito.times(0)).deleteCrossConnect(Mockito.eq("node2"), Mockito.any(), - Mockito.eq(false)); + verify(this.olmService, times(2)).servicePowerTurndown(any()); + verify(this.crossConnect, times(0)).deleteCrossConnect(eq("node1"), any(),eq(false)); + verify(this.crossConnect, times(0)).deleteCrossConnect(eq("node2"), any(),eq(false)); } private void writePathDescription() throws ExecutionException, InterruptedException { - ServicePathsBuilder servicePathsBuilder = new ServicePathsBuilder(); - servicePathsBuilder.setPathDescription(ServiceDeleteDataUtils - .createTransactionPathDescription(StringConstants.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" + StringConstants.PP_TOKEN, - LogicalDatastoreType.OPERATIONAL, - servicePathsInstanceIdentifier, - servicePathsBuilder.build()); + this.deviceTransactionManager, + "node1" + StringConstants.PP_TOKEN, + LogicalDatastoreType.OPERATIONAL, + InstanceIdentifier.create(ServicePathList.class) + .child(ServicePaths.class, new ServicePathsKey("service 1")), + new ServicePathsBuilder() + .setPathDescription(ServiceDeleteDataUtils + .createTransactionPathDescription(StringConstants.PP_TOKEN)) + .setServiceAEnd(ServiceDeleteDataUtils.getServiceAEndBuild().build()) + .setServiceZEnd(ServiceDeleteDataUtils.getServiceZEndBuild().build()) + .withKey(new ServicePathsKey("service 1")) + .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().setRequestId("Request 1").build()) + .build()); } -} +} \ No newline at end of file