- private void checkNepOtsiNode(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName) {
- assertEquals("bad uuid for " + portName, nepUuid, nep.getUuid());
- List<Name> nameList = new ArrayList<>(nep.nonnullName().values());
- assertEquals("value of OTSi nep should be '" + portName + "'",
- portName, nameList.get(0).getValue());
- assertEquals("value-name of OTSi nep should be '" + nepName + "'",
- nepName, nameList.get(0).getValueName());
- assertEquals("OTSi nep should support 2 kind of cep",
- 2, nep.getSupportedCepLayerProtocolQualifier().size());
- assertThat("OTSi nep should support 2 kind of cep",
- nep.getSupportedCepLayerProtocolQualifier(),
- hasItems(PHOTONICLAYERQUALIFIEROMS.class, PHOTONICLAYERQUALIFIEROTSi.class));
- assertEquals("OTSi nep should be of PHOTONIC_MEDIA protocol type",
- LayerProtocolName.PHOTONICMEDIA, nep.getLayerProtocolName());
- assertEquals("OTSi nep should support one SIP", 1, nep.getMappedServiceInterfacePoint().size());
- checkCommonPartOfNep(nep);
- }
-
- private void checkCommonPartOfNep(OwnedNodeEdgePoint nep) {
- assertEquals("link port direction should be DIRECTIONAL",
- PortDirection.BIDIRECTIONAL, nep.getLinkPortDirection());
- assertEquals("administrative state should be UNLOCKED",
- AdministrativeState.UNLOCKED, nep.getAdministrativeState());
- assertEquals("termination state should be TERMINATED BIDIRECTIONAL",
- TerminationState.TERMINATEDBIDIRECTIONAL, nep.getTerminationState());
- assertEquals("life-cycle state should be INSTALLED", LifecycleState.INSTALLED, nep.getLifecycleState());
- assertEquals("client nep should support 1 SIP", 1, nep.getMappedServiceInterfacePoint().size());
- assertEquals("termination direction should be BIDIRECTIONAL",
- TerminationDirection.BIDIRECTIONAL, nep.getTerminationDirection());
- assertEquals("operational state of client nep should be ENABLED",
- OperationalState.ENABLED, nep.getOperationalState());
- assertEquals("link-port-role of client nep should be SYMMETRIC",
- PortRole.SYMMETRIC, nep.getLinkPortRole());
- }
-
- private void checkTransitionalLink(Link link, Uuid topoUuid, Uuid node1Uuid, Uuid node2Uuid, String tp1,
- String tp2, String ietfNodeId) {
- Uuid linkUuid = new Uuid(UUID.nameUUIDFromBytes((ietfNodeId + "--" + tp1 + "--" + tp2)
- .getBytes(Charset.forName("UTF-8"))).toString());
- assertEquals("bad uuid for link between DSR node " + tp1 + " and iOTSI port " + tp2, linkUuid, link.getUuid());
- assertEquals("Available capacity unit should be GBPS",
- CapacityUnit.GBPS, link.getAvailableCapacity().getTotalSize().getUnit());
- assertEquals("Available capacity -total size value should be 100",
- Uint64.valueOf(100), link.getAvailableCapacity().getTotalSize().getValue());
- assertEquals("transitional link should be between 2 nodes of protocol layers ODU and PHOTONIC_MEDIA",
- 2, link.getTransitionedLayerProtocolName().size());
- assertThat("transitional link should be between 2 nodes of protocol layers ODU and PHOTONIC_MEDIA",
- link.getTransitionedLayerProtocolName(),
- hasItems(LayerProtocolName.ODU.getName(), LayerProtocolName.PHOTONICMEDIA.getName()));
- assertEquals("transitional link should be BIDIRECTIONAL",
- ForwardingDirection.BIDIRECTIONAL, link.getDirection());
- List<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210
- .link.NodeEdgePoint> nodeEdgePointList = new ArrayList<>(link.nonnullNodeEdgePoint().values());
- assertEquals("topology uuid should be the same for the two termination point of the link",
- topoUuid, nodeEdgePointList.get(0).getTopologyUuid());
- assertEquals("topology uuid should be the same for the two termination point of the link",
- topoUuid, nodeEdgePointList.get(1).getTopologyUuid());
- assertThat("transitional links should terminate on DSR node and Photonic node",
- nodeEdgePointList.get(0).getNodeUuid().getValue(),
- either(containsString(node1Uuid.getValue())).or(containsString(node2Uuid.getValue())));
- assertThat("transitional links should terminate on DSR node and Photonic node",
- nodeEdgePointList.get(1).getNodeUuid().getValue(),
- either(containsString(node1Uuid.getValue())).or(containsString(node2Uuid.getValue())));
- Uuid nep1Uuid = new Uuid(UUID.nameUUIDFromBytes(tp1.getBytes(Charset.forName("UTF-8"))).toString());
- Uuid nep2Uuid = new Uuid(UUID.nameUUIDFromBytes(tp2.getBytes(Charset.forName("UTF-8"))).toString());
- assertThat("transitional links should terminate on " + tp1 + " and " + tp2 + " neps",
- nodeEdgePointList.get(0).getNodeEdgePointUuid().getValue(),
- either(containsString(nep1Uuid.getValue())).or(containsString(nep2Uuid.getValue())));
- assertThat("transitional links should terminate on DSR node and Photonic node",
- nodeEdgePointList.get(1).getNodeEdgePointUuid().getValue(),
- either(containsString(nep1Uuid.getValue())).or(containsString(nep2Uuid.getValue())));
+ @Test
+ void getSipDetailsWhenSuccessful()
+ throws ExecutionException, InterruptedException {
+ GetServiceInterfacePointListInput input = TapiTopologyDataUtils.buildServiceInterfacePointListInput();
+ TapiTopologyImpl tapiTopoImpl = new TapiTopologyImpl(networkTransactionService, tapiContext, topologyUtils,
+ tapiLink);
+ ListenableFuture<RpcResult<GetServiceInterfacePointListOutput>> result = tapiTopoImpl
+ .getServiceInterfacePointList(input);
+ result.addListener(new Runnable() {
+ @Override
+ public void run() {
+ endSignal.countDown();
+ }
+ }, executorService);
+ endSignal.await();
+ RpcResult<GetServiceInterfacePointListOutput> rpcResult = result.get();
+ Map<SipKey, Sip> sipMap = rpcResult.getResult().getSip();
+ for (Sip sip:sipMap.values()) {
+ Uuid sipUuid = sip.getUuid();
+ GetServiceInterfacePointDetailsInput input1 = TapiTopologyDataUtils
+ .buildGetServiceInterfacePointDetailsInput(sipUuid);
+ ListenableFuture<RpcResult<GetServiceInterfacePointDetailsOutput>> result1
+ = tapiTopoImpl.getServiceInterfacePointDetails(input1);
+ result.addListener(new Runnable() {
+ @Override
+ public void run() {
+ endSignal.countDown();
+ }
+ }, executorService);
+ endSignal.await();
+ RpcResult<GetServiceInterfacePointDetailsOutput> rpcResult1 = result1.get();
+ org.opendaylight.yang.gen.v1
+ .urn.onf.otcc.yang.tapi.common.rev221121.get.service._interface.point.details.output.Sip sip1
+ = rpcResult1.getResult().getSip();
+ assertNotNull(sip1, "Sip should not be null");
+ }