X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=renderer%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2Futils%2FMountPointUtils.java;h=cbd13bdeccb6778e278fde068994ae2dd5902269;hb=HEAD;hp=4a9dc7d42b8b4887f05930b3a4e97e0e5b8d5fd5;hpb=4ef19c0a7cddd25efa5c74c402b5f6b46bb73739;p=transportpce.git 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 4a9dc7d42..cbd13bdec 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 @@ -8,111 +8,54 @@ package org.opendaylight.transportpce.renderer.utils; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.spy; + +import com.google.common.util.concurrent.ListenableFuture; import java.util.List; -import java.util.Optional; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Future; -import org.mockito.Mockito; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.sal.binding.api.RpcConsumerRegistry; -import org.opendaylight.transportpce.common.Timeouts; -import org.opendaylight.transportpce.common.device.DeviceTransaction; -import org.opendaylight.transportpce.common.device.DeviceTransactionManager; -import org.opendaylight.transportpce.renderer.stub.MountPointStub; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.OpticalControlMode; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.RpcService; +import org.opendaylight.transportpce.test.stub.MountPointStub; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.mapping.Mapping; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.mapping.MappingBuilder; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev231221.mapping.MappingKey; +import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.GetConnectionPortTrail; 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.connection.DestinationBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.connection.SourceBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.get.connection.port.trail.output.Ports; -import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.OrgOpenroadmDevice; -import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.RoadmConnections; -import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsKey; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.portmapping.rev170228.Network; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.portmapping.rev170228.network.Nodes; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.portmapping.rev170228.network.NodesKey; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.portmapping.rev170228.network.nodes.Mapping; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.portmapping.rev170228.network.nodes.MappingBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.portmapping.rev170228.network.nodes.MappingKey; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; + public final class MountPointUtils { public static MountPointStub getMountPoint(List ports, DataBroker dataBroker) { - RpcConsumerRegistry rpcConsumerRegistry = Mockito.spy(RpcConsumerRegistry.class); - OrgOpenroadmDeviceService orgOpenroadmDeviceService = Mockito.spy(OrgOpenroadmDeviceService.class); - GetConnectionPortTrailOutputBuilder getConnectionPortTrailOutputBuilder = - new GetConnectionPortTrailOutputBuilder(); - getConnectionPortTrailOutputBuilder.setPorts(ports); - RpcResultBuilder rpcResultBuilder = - RpcResultBuilder.success(getConnectionPortTrailOutputBuilder.build()); - Future> rpcResultFuture = - CompletableFuture.completedFuture(rpcResultBuilder.build()); - Mockito.doReturn(rpcResultFuture).when(orgOpenroadmDeviceService).getConnectionPortTrail(Mockito.any()); - Mockito.doReturn(orgOpenroadmDeviceService).when(rpcConsumerRegistry).getRpcService(Mockito.any()); + RpcService rpcService = spy(RpcService.class); + GetConnectionPortTrail getConnectionPortTrail = spy(GetConnectionPortTrail.class); + GetConnectionPortTrailOutputBuilder getConnectionPortTrailOutputBldr + = new GetConnectionPortTrailOutputBuilder(); + getConnectionPortTrailOutputBldr.setPorts(ports); + ListenableFuture> rpcResultFuture = + RpcResultBuilder.success(getConnectionPortTrailOutputBldr.build()).buildFuture(); + doReturn(rpcResultFuture).when(getConnectionPortTrail.invoke(any())); + doReturn(getConnectionPortTrail).when(rpcService).getRpc(any()); MountPointStub mountPoint = new MountPointStub(dataBroker); - mountPoint.setRpcConsumerRegistry(rpcConsumerRegistry); + mountPoint.setRpcService(rpcService); return mountPoint; } - public static boolean writeMapping(String nodeId, String logicalConnPoint, - DeviceTransactionManager deviceTransactionManager) { - try { - MappingBuilder mappingBuilder = new MappingBuilder(); - mappingBuilder.withKey(new MappingKey(logicalConnPoint)); - mappingBuilder.setLogicalConnectionPoint(logicalConnPoint); - mappingBuilder.setSupportingOms("OMS"); - mappingBuilder.setSupportingPort("8080"); - mappingBuilder.setSupportingCircuitPackName("circuit1"); - Future> deviceTxFuture = - deviceTransactionManager.getDeviceTransaction(nodeId); - if (!deviceTxFuture.get().isPresent()) { - return false; - } - InstanceIdentifier portMappingIID = - InstanceIdentifier.builder(Network.class).child(Nodes.class, new NodesKey(nodeId)) - .child(Mapping.class, new MappingKey(logicalConnPoint)).build(); - DeviceTransaction deviceTx = deviceTxFuture.get().get(); - deviceTx.put(LogicalDatastoreType.CONFIGURATION, portMappingIID, mappingBuilder.build(), true); - deviceTx.submit(Timeouts.DEVICE_WRITE_TIMEOUT, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT).get(); - } catch (ExecutionException | InterruptedException e) { - return false; - } - return true; - } - - public static boolean writeConnection(String nodeId, String srcTp, String destTp, Long waveNumber, - DeviceTransactionManager deviceTransactionManager) { - try { - RoadmConnectionsBuilder rdmConnBldr = new RoadmConnectionsBuilder(); - String connectionNumber = srcTp + "-" + destTp + "-" + waveNumber; - rdmConnBldr.setConnectionNumber(connectionNumber); - rdmConnBldr.setWavelengthNumber(waveNumber); - rdmConnBldr.setOpticalControlMode(OpticalControlMode.Off); - rdmConnBldr.setSource(new SourceBuilder().setSrcIf(srcTp + "-" + waveNumber.toString()).build()); - rdmConnBldr.setDestination(new DestinationBuilder().setDstIf(destTp + "-" + waveNumber.toString()).build()); - - Future> deviceTxFuture = - deviceTransactionManager.getDeviceTransaction(nodeId); - if (!deviceTxFuture.get().isPresent()) { - return false; - } - DeviceTransaction deviceTx = deviceTxFuture.get().get(); - InstanceIdentifier connectionID = - InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(RoadmConnections.class, new RoadmConnectionsKey(connectionNumber)); - deviceTx.put(LogicalDatastoreType.CONFIGURATION, connectionID, rdmConnBldr.build(), true); - deviceTx.submit(Timeouts.DEVICE_WRITE_TIMEOUT, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT).get(); - } catch (ExecutionException | InterruptedException e) { - return false; - } - return true; + 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() {