X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=tapi%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Ftapi%2Ftopology%2FConvertORTopoToTapiTopoTest.java;h=2139135d6ada1ab8294636c39ad0a0dce7856eb2;hb=refs%2Fchanges%2F00%2F98700%2F9;hp=890dab6cbda64bc04e7d50d8a1180a603bf6194d;hpb=c403757bed7fef71dc3c983d7db88dfbed0c596e;p=transportpce.git diff --git a/tapi/src/test/java/org/opendaylight/transportpce/tapi/topology/ConvertORTopoToTapiTopoTest.java b/tapi/src/test/java/org/opendaylight/transportpce/tapi/topology/ConvertORTopoToTapiTopoTest.java index 890dab6cb..2139135d6 100644 --- a/tapi/src/test/java/org/opendaylight/transportpce/tapi/topology/ConvertORTopoToTapiTopoTest.java +++ b/tapi/src/test/java/org/opendaylight/transportpce/tapi/topology/ConvertORTopoToTapiTopoTest.java @@ -33,6 +33,11 @@ import org.junit.Test; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.transportpce.common.InstanceIdentifiers; +import org.opendaylight.transportpce.common.network.NetworkTransactionImpl; +import org.opendaylight.transportpce.common.network.NetworkTransactionService; +import org.opendaylight.transportpce.common.network.RequestProcessor; +import org.opendaylight.transportpce.tapi.TapiStringConstants; +import org.opendaylight.transportpce.tapi.utils.TapiLink; import org.opendaylight.transportpce.tapi.utils.TapiTopologyDataUtils; import org.opendaylight.transportpce.test.AbstractTest; import org.opendaylight.transportpce.test.utils.TopologyDataUtils; @@ -83,6 +88,7 @@ import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.Ru import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.NodeRuleGroup; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.OwnedNodeEdgePoint; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.OwnedNodeEdgePointKey; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.edge.point.MappedServiceInterfacePointKey; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePoint; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.Rule; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Link; @@ -102,6 +108,8 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { private static Map otnLinks; private static Uuid topologyUuid; + private static NetworkTransactionService networkTransactionService; + private static TapiLink tapiLink; private static DataBroker dataBroker = getDataBroker(); @BeforeClass @@ -152,8 +160,11 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { .read(LogicalDatastoreType.CONFIGURATION, linksIID); otnLinks = linksFuture.get().get().getLink(); - topologyUuid = new Uuid(UUID.nameUUIDFromBytes(TopologyUtils.T0_MULTILAYER.getBytes(Charset.forName("UTF-8"))) - .toString()); + topologyUuid = new Uuid(UUID.nameUUIDFromBytes(TapiStringConstants.T0_MULTILAYER.getBytes( + Charset.forName("UTF-8"))).toString()); + networkTransactionService = new NetworkTransactionImpl( + new RequestProcessor(getDataStoreContextUtil().getDataBroker())); + tapiLink = new TapiLink(networkTransactionService); LOG.info("TEST SETUP READY"); } @@ -166,7 +177,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { networkPortList.add(tp.getTpId().getValue()); } } - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); tapiFactory.convertNode(tpdr, networkPortList); Uuid dsrNodeUuid = new Uuid(UUID.nameUUIDFromBytes("XPDR-A1-XPDR1+DSR".getBytes(Charset.forName("UTF-8"))) @@ -211,7 +222,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { networkPortList.add(tp.getTpId().getValue()); } } - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); tapiFactory.convertNode(tpdr, networkPortList); Uuid dsrNodeUuid = new Uuid(UUID.nameUUIDFromBytes("XPDR-A1-XPDR1+DSR".getBytes(Charset.forName("UTF-8"))) @@ -262,7 +273,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { networkPortList.add(tp.getTpId().getValue()); } } - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); tapiFactory.convertNode(tpdr, networkPortList); Uuid dsrNodeUuid = new Uuid(UUID.nameUUIDFromBytes("XPDR-A1-XPDR1+DSR".getBytes(Charset.forName("UTF-8"))) @@ -309,10 +320,10 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { .networks.network.Link> otnLinksAlt = new HashMap<>(otnLinks); org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link link = changeOtnLinkState(otnLinks.get(new LinkKey( - new LinkId("ODU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1"))), null, null); + new LinkId("ODTU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1"))), null, null); otnLinksAlt.replace(link.key(), link); - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); List networkPortListA = new ArrayList<>(); for (TerminationPoint tp : otnMuxA.augmentation(Node1.class).getTerminationPoint().values()) { if (tp.augmentation(TerminationPoint1.class).getTpType().equals(OpenroadmTpType.XPONDERNETWORK)) { @@ -332,12 +343,12 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { List tapiLinks = tapiFactory.getTapiLinks().values().stream() .sorted((l1, l2) -> l1.getUuid().getValue().compareTo(l2.getUuid().getValue())) .collect(Collectors.toList()); - assertNull("Administrative State should not be present", tapiLinks.get(0).getAdministrativeState()); + assertNull("Administrative State should not be present", tapiLinks.get(3).getAdministrativeState()); assertEquals("Administrative state should be UNLOCKED", - AdministrativeState.UNLOCKED, tapiLinks.get(2).getAdministrativeState()); - assertNull("Operational State should not be present", tapiLinks.get(0).getOperationalState()); + AdministrativeState.UNLOCKED, tapiLinks.get(0).getAdministrativeState()); + assertNull("Operational State should not be present", tapiLinks.get(3).getOperationalState()); assertEquals("Operational state should be ENABLED", - OperationalState.ENABLED, tapiLinks.get(2).getOperationalState()); + OperationalState.ENABLED, tapiLinks.get(0).getOperationalState()); } @Test @@ -346,10 +357,10 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { .networks.network.Link> otnLinksAlt = new HashMap<>(otnLinks); org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link link = changeOtnLinkState(otnLinks.get(new LinkKey( - new LinkId("ODU4-SPDR-SC1-XPDR1-XPDR1-NETWORK1toSPDR-SA1-XPDR1-XPDR1-NETWORK1"))), null, null); + new LinkId("ODTU4-SPDR-SC1-XPDR1-XPDR1-NETWORK1toSPDR-SA1-XPDR1-XPDR1-NETWORK1"))), null, null); otnLinksAlt.replace(link.key(), link); - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); List networkPortListA = new ArrayList<>(); for (TerminationPoint tp : otnMuxA.augmentation(Node1.class).getTerminationPoint().values()) { if (tp.augmentation(TerminationPoint1.class).getTpType().equals(OpenroadmTpType.XPONDERNETWORK)) { @@ -369,12 +380,12 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { List tapiLinks = tapiFactory.getTapiLinks().values().stream() .sorted((l1, l2) -> l1.getUuid().getValue().compareTo(l2.getUuid().getValue())) .collect(Collectors.toList()); - assertNull("Administrative State should not be present", tapiLinks.get(0).getAdministrativeState()); + assertNull("Administrative State should not be present", tapiLinks.get(3).getAdministrativeState()); assertEquals("Administrative state should be UNLOCKED", - AdministrativeState.UNLOCKED, tapiLinks.get(2).getAdministrativeState()); - assertNull("Operational State should not be present", tapiLinks.get(0).getOperationalState()); + AdministrativeState.UNLOCKED, tapiLinks.get(0).getAdministrativeState()); + assertNull("Operational State should not be present", tapiLinks.get(3).getOperationalState()); assertEquals("Operational state should be ENABLED", - OperationalState.ENABLED, tapiLinks.get(2).getOperationalState()); + OperationalState.ENABLED, tapiLinks.get(0).getOperationalState()); } @Test @@ -383,11 +394,11 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { .networks.network.Link> otnLinksAlt = new HashMap<>(otnLinks); org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link link = changeOtnLinkState(otnLinks.get(new LinkKey( - new LinkId("ODU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1"))), + new LinkId("ODTU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1"))), AdminStates.OutOfService, State.OutOfService); otnLinksAlt.replace(link.key(), link); - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); List networkPortListA = new ArrayList<>(); for (TerminationPoint tp : otnMuxA.augmentation(Node1.class).getTerminationPoint().values()) { if (tp.augmentation(TerminationPoint1.class).getTpType().equals(OpenroadmTpType.XPONDERNETWORK)) { @@ -408,13 +419,13 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { .sorted((l1, l2) -> l1.getUuid().getValue().compareTo(l2.getUuid().getValue())) .collect(Collectors.toList()); assertEquals("Administrative state should be LOCKED", - AdministrativeState.LOCKED, tapiLinks.get(0).getAdministrativeState()); + AdministrativeState.LOCKED, tapiLinks.get(3).getAdministrativeState()); assertEquals("Administrative state should be UNLOCKED", - AdministrativeState.UNLOCKED, tapiLinks.get(2).getAdministrativeState()); + AdministrativeState.UNLOCKED, tapiLinks.get(0).getAdministrativeState()); assertEquals("Operational state should be DISABLED", - OperationalState.DISABLED, tapiLinks.get(0).getOperationalState()); + OperationalState.DISABLED, tapiLinks.get(3).getOperationalState()); assertEquals("Operational state should be ENABLED", - OperationalState.ENABLED, tapiLinks.get(2).getOperationalState()); + OperationalState.ENABLED, tapiLinks.get(0).getOperationalState()); } @Test @@ -423,11 +434,11 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { .networks.network.Link> otnLinksAlt = new HashMap<>(otnLinks); org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link link = changeOtnLinkState(otnLinks.get(new LinkKey( - new LinkId("ODU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1"))), + new LinkId("ODTU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1"))), AdminStates.Maintenance, State.Degraded); otnLinksAlt.replace(link.key(), link); - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); List networkPortListA = new ArrayList<>(); for (TerminationPoint tp : otnMuxA.augmentation(Node1.class).getTerminationPoint().values()) { if (tp.augmentation(TerminationPoint1.class).getTpType().equals(OpenroadmTpType.XPONDERNETWORK)) { @@ -448,13 +459,13 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { .sorted((l1, l2) -> l1.getUuid().getValue().compareTo(l2.getUuid().getValue())) .collect(Collectors.toList()); assertEquals("Administrative state should be LOCKED", - AdministrativeState.LOCKED, tapiLinks.get(0).getAdministrativeState()); + AdministrativeState.LOCKED, tapiLinks.get(3).getAdministrativeState()); assertEquals("Administrative state should be UNLOCKED", - AdministrativeState.UNLOCKED, tapiLinks.get(2).getAdministrativeState()); + AdministrativeState.UNLOCKED, tapiLinks.get(0).getAdministrativeState()); assertEquals("Operational state should be DISABLED", - OperationalState.DISABLED, tapiLinks.get(0).getOperationalState()); + OperationalState.DISABLED, tapiLinks.get(3).getOperationalState()); assertEquals("Operational state should be ENABLED", - OperationalState.ENABLED, tapiLinks.get(2).getOperationalState()); + OperationalState.ENABLED, tapiLinks.get(0).getOperationalState()); } @Test @@ -463,11 +474,11 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { .networks.network.Link> otnLinksAlt = new HashMap<>(otnLinks); org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link link = changeOtnLinkState(otnLinks.get(new LinkKey( - new LinkId("ODU4-SPDR-SC1-XPDR1-XPDR1-NETWORK1toSPDR-SA1-XPDR1-XPDR1-NETWORK1"))), + new LinkId("ODTU4-SPDR-SC1-XPDR1-XPDR1-NETWORK1toSPDR-SA1-XPDR1-XPDR1-NETWORK1"))), AdminStates.OutOfService, State.OutOfService); otnLinksAlt.replace(link.key(), link); - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); List networkPortListA = new ArrayList<>(); for (TerminationPoint tp : otnMuxA.augmentation(Node1.class).getTerminationPoint().values()) { if (tp.augmentation(TerminationPoint1.class).getTpType().equals(OpenroadmTpType.XPONDERNETWORK)) { @@ -488,18 +499,18 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { .sorted((l1, l2) -> l1.getUuid().getValue().compareTo(l2.getUuid().getValue())) .collect(Collectors.toList()); assertEquals("Administrative state should be LOCKED", - AdministrativeState.LOCKED, tapiLinks.get(0).getAdministrativeState()); + AdministrativeState.LOCKED, tapiLinks.get(3).getAdministrativeState()); assertEquals("Administrative state should be UNLOCKED", - AdministrativeState.UNLOCKED, tapiLinks.get(2).getAdministrativeState()); + AdministrativeState.UNLOCKED, tapiLinks.get(0).getAdministrativeState()); assertEquals("Operational state should be DISABLED", - OperationalState.DISABLED, tapiLinks.get(0).getOperationalState()); + OperationalState.DISABLED, tapiLinks.get(3).getOperationalState()); assertEquals("Operational state should be ENABLED", - OperationalState.ENABLED, tapiLinks.get(2).getOperationalState()); + OperationalState.ENABLED, tapiLinks.get(0).getOperationalState()); } @Test public void convertNodeForTransponder100G() { - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); List networkPortList = new ArrayList<>(); for (TerminationPoint tp : tpdr100G.augmentation(Node1.class).getTerminationPoint().values()) { if (tp.augmentation(TerminationPoint1.class).getTpType().equals(OpenroadmTpType.XPONDERNETWORK)) { @@ -525,13 +536,13 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { List tapiLinks = tapiFactory.getTapiLinks().values().stream() .sorted((l1, l2) -> l1.getUuid().getValue().compareTo(l2.getUuid().getValue())) .collect(Collectors.toList()); - checkTransitionalLink(tapiLinks.get(1), dsrNodeUuid, otsiNodeUuid, + checkTransitionalLink(tapiLinks.get(0), dsrNodeUuid, otsiNodeUuid, "XPDR-A1-XPDR1+DSR+XPDR1-NETWORK1", "XPDR-A1-XPDR1+iOTSi+XPDR1-NETWORK1", "XPDR-A1-XPDR1"); } @Test public void convertNodeForOtnMuxponder() { - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); List networkPortList = new ArrayList<>(); for (TerminationPoint tp : otnMuxA.augmentation(Node1.class).getTerminationPoint().values()) { if (tp.augmentation(TerminationPoint1.class).getTpType().equals(OpenroadmTpType.XPONDERNETWORK)) { @@ -562,7 +573,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { @Test public void convertNodeForOtnSwitch() { - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); List networkPortList = new ArrayList<>(); for (TerminationPoint tp : otnSwitch.augmentation(Node1.class).getTerminationPoint().values()) { if (tp.augmentation(TerminationPoint1.class).getTpType().equals(OpenroadmTpType.XPONDERNETWORK)) { @@ -588,13 +599,13 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { List tapiLinks = tapiFactory.getTapiLinks().values().stream() .sorted((l1, l2) -> l1.getUuid().getValue().compareTo(l2.getUuid().getValue())) .collect(Collectors.toList()); - checkTransitionalLink(tapiLinks.get(0), dsrNodeUuid, otsiNodeUuid, + checkTransitionalLink(tapiLinks.get(3), dsrNodeUuid, otsiNodeUuid, "SPDR-SA1-XPDR2+DSR+XPDR2-NETWORK4", "SPDR-SA1-XPDR2+iOTSi+XPDR2-NETWORK4", "SPDR-SA1-XPDR2"); } @Test public void convertOtnLink() { - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); List networkPortListA = new ArrayList<>(); for (TerminationPoint tp : otnMuxA.augmentation(Node1.class).getTerminationPoint().values()) { if (tp.augmentation(TerminationPoint1.class).getTpType().equals(OpenroadmTpType.XPONDERNETWORK)) { @@ -620,33 +631,33 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { .toString()); Uuid node4Uuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SC1-XPDR1+OTSi".getBytes(Charset.forName("UTF-8"))) .toString()); - Uuid tp1Uuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR1+DSR+XPDR1-NETWORK1" + Uuid tp1Uuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR1+eODU+XPDR1-NETWORK1" .getBytes(Charset.forName("UTF-8"))).toString()); - Uuid tp2Uuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SC1-XPDR1+DSR+XPDR1-NETWORK1" + Uuid tp2Uuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SC1-XPDR1+eODU+XPDR1-NETWORK1" .getBytes(Charset.forName("UTF-8"))).toString()); Uuid tp3Uuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR1+iOTSi+XPDR1-NETWORK1" .getBytes(Charset.forName("UTF-8"))).toString()); Uuid tp4Uuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SC1-XPDR1+iOTSi+XPDR1-NETWORK1" .getBytes(Charset.forName("UTF-8"))).toString()); Uuid link1Uuid = - new Uuid(UUID.nameUUIDFromBytes("ODU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1" + new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR1+eODU+XPDR1-NETWORK1toSPDR-SC1-XPDR1+eODU+XPDR1-NETWORK1" .getBytes(Charset.forName("UTF-8"))).toString()); Uuid link2Uuid = - new Uuid(UUID.nameUUIDFromBytes("OTU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1" + new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR1+iOTSi+XPDR1-NETWORK1toSPDR-SC1-XPDR1+iOTSi+XPDR1-NETWORK1" .getBytes(Charset.forName("UTF-8"))).toString()); List links = tapiFactory.getTapiLinks().values().stream() .sorted((l1, l2) -> l1.getUuid().getValue().compareTo(l2.getUuid().getValue())) .collect(Collectors.toList()); - checkOtnLink(links.get(0), node1Uuid, node2Uuid, tp1Uuid, tp2Uuid, link1Uuid, - "ODU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1"); + checkOtnLink(links.get(3), node1Uuid, node2Uuid, tp1Uuid, tp2Uuid, link1Uuid, + "SPDR-SA1-XPDR1+eODU+XPDR1-NETWORK1toSPDR-SC1-XPDR1+eODU+XPDR1-NETWORK1"); checkOtnLink(links.get(2), node3Uuid, node4Uuid, tp3Uuid, tp4Uuid, link2Uuid, - "OTU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1"); + "SPDR-SA1-XPDR1+iOTSi+XPDR1-NETWORK1toSPDR-SC1-XPDR1+iOTSi+XPDR1-NETWORK1"); } @Test public void convertRoadmInfrastructureWhenNoXponderAttached() { - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); tapiFactory.convertRoadmInfrastructure(); assertEquals("Node list size should be 1", 1, tapiFactory.getTapiNodes().size()); @@ -660,7 +671,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { @Test public void convertRoadmInfrastructureWhenOtnMuxAttached() { - ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid); + ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid, tapiLink); List networkPortListA = new ArrayList<>(); for (TerminationPoint tp : otnMuxA.augmentation(Node1.class).getTerminationPoint().values()) { if (tp.augmentation(TerminationPoint1.class).getTpType().equals(OpenroadmTpType.XPONDERNETWORK)) { @@ -729,12 +740,14 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { Uuid client4NepUuid = new Uuid( UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR2-CLIENT4").getBytes(Charset.forName("UTF-8"))) .toString()); - checkNepClient100GSwitch(nep1, client4NepUuid, "XPDR2-CLIENT4", "NodeEdgePoint_C"); + checkNepClient100GSwitch(nep1, client4NepUuid, "XPDR2-CLIENT4", "NodeEdgePoint_C", + otnSwitch.getNodeId().getValue(), TapiStringConstants.DSR); OwnedNodeEdgePoint nep2 = nepsN.get(1); Uuid networkNepUuid = new Uuid( UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR2-NETWORK1").getBytes(Charset.forName("UTF-8"))) .toString()); - checkNepNetworkODU4(nep2, networkNepUuid, "XPDR2-NETWORK1", "NodeEdgePoint_N"); + checkNepNetworkODU4(nep2, networkNepUuid, "XPDR2-NETWORK1", "NodeEdgePoint_N", + otnSwitch.getNodeId().getValue(), TapiStringConstants.DSR); List nrgList = node.nonnullNodeRuleGroup().values().stream() .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue())) .collect(Collectors.toList()); @@ -751,13 +764,15 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { Uuid client3NepUuid = new Uuid( UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR1-CLIENT3").getBytes(Charset.forName("UTF-8"))) .toString()); - checkNepClient10G(nep3, client3NepUuid, "XPDR1-CLIENT3", "NodeEdgePoint_C"); + checkNepClient10G(nep3, client3NepUuid, "XPDR1-CLIENT3", "NodeEdgePoint_C", + otnMuxA.getNodeId().getValue(), TapiStringConstants.DSR); OwnedNodeEdgePoint nep4 = nepsN.get(0); Uuid networkNepUuid2 = new Uuid( UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) .toString()); - checkNepNetworkODU4(nep4, networkNepUuid2, "XPDR1-NETWORK1", "NodeEdgePoint_N"); + checkNepNetworkODU4(nep4, networkNepUuid2, "XPDR1-NETWORK1", "NodeEdgePoint_N", + otnMuxA.getNodeId().getValue(), TapiStringConstants.DSR); List nrgList2 = node.nonnullNodeRuleGroup().values().stream() .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue())) .collect(Collectors.toList()); @@ -774,13 +789,15 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { Uuid client1NepUuid = new Uuid( UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR1-CLIENT1").getBytes(Charset.forName("UTF-8"))) .toString()); - checkNepClient100GTpdr(nep5, client1NepUuid, "XPDR1-CLIENT1", "100G-tpdr"); + checkNepClient100GTpdr(nep5, client1NepUuid, "XPDR1-CLIENT1", "100G-tpdr", + tpdr100G.getNodeId().getValue(), TapiStringConstants.DSR); OwnedNodeEdgePoint nep6 = nepsN.get(0); Uuid networkNepUuid3 = new Uuid( UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) .toString()); - checkNepNetworkODU4(nep6, networkNepUuid3, "XPDR1-NETWORK1", "NodeEdgePoint_N"); + checkNepNetworkODU4(nep6, networkNepUuid3, "XPDR1-NETWORK1", "NodeEdgePoint_N", + tpdr100G.getNodeId().getValue(), TapiStringConstants.DSR); List nrgList3 = node.nonnullNodeRuleGroup().values().stream() .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue())) .collect(Collectors.toList()); @@ -823,12 +840,14 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { Uuid inepUuid = new Uuid( UUID.nameUUIDFromBytes((nodeId + "+iOTSi+XPDR2-NETWORK2").getBytes(Charset.forName("UTF-8"))) .toString()); - checkNepOtsiNode(nep1, inepUuid, "XPDR2-NETWORK2", "iNodeEdgePoint"); + checkNepOtsiNode(nep1, inepUuid, "XPDR2-NETWORK2", "iNodeEdgePoint", otnSwitch.getNodeId().getValue(), + TapiStringConstants.I_OTSI); OwnedNodeEdgePoint nep2 = nepsE.get(0); Uuid enepUuid = new Uuid( UUID.nameUUIDFromBytes((nodeId + "+eOTSi+XPDR2-NETWORK2").getBytes(Charset.forName("UTF-8"))) .toString()); - checkNepOtsiNode(nep2, enepUuid, "XPDR2-NETWORK2", "eNodeEdgePoint"); + checkNepOtsiNode(nep2, enepUuid, "XPDR2-NETWORK2", "eNodeEdgePoint", otnSwitch.getNodeId().getValue(), + TapiStringConstants.E_OTSI); List nrgList = node.nonnullNodeRuleGroup().values().stream() .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue())) .collect(Collectors.toList()); @@ -841,12 +860,14 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { Uuid enepUuid2 = new Uuid( UUID.nameUUIDFromBytes((nodeId + "+eOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) .toString()); - checkNepOtsiNode(nep3, enepUuid2, "XPDR1-NETWORK1", "eNodeEdgePoint"); + checkNepOtsiNode(nep3, enepUuid2, "XPDR1-NETWORK1", "eNodeEdgePoint", otnMuxA.getNodeId().getValue(), + TapiStringConstants.E_OTSI); OwnedNodeEdgePoint nep4 = nepsI.get(0); Uuid inepUuid2 = new Uuid( UUID.nameUUIDFromBytes((nodeId + "+iOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) .toString()); - checkNepOtsiNode(nep4, inepUuid2, "XPDR1-NETWORK1", "iNodeEdgePoint"); + checkNepOtsiNode(nep4, inepUuid2, "XPDR1-NETWORK1", "iNodeEdgePoint", otnMuxA.getNodeId().getValue(), + TapiStringConstants.I_OTSI); List nrgList2 = node.nonnullNodeRuleGroup().values().stream() .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue())) .collect(Collectors.toList()); @@ -859,12 +880,14 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { Uuid enepUuid3 = new Uuid( UUID.nameUUIDFromBytes((nodeId + "+eOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) .toString()); - checkNepOtsiNode(nep5, enepUuid3, "XPDR1-NETWORK1", "eNodeEdgePoint"); + checkNepOtsiNode(nep5, enepUuid3, "XPDR1-NETWORK1", "eNodeEdgePoint", tpdr100G.getNodeId().getValue(), + TapiStringConstants.E_OTSI); OwnedNodeEdgePoint nep6 = nepsI.get(0); Uuid inepUuid3 = new Uuid( UUID.nameUUIDFromBytes((nodeId + "+iOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) .toString()); - checkNepOtsiNode(nep6, inepUuid3, "XPDR1-NETWORK1", "iNodeEdgePoint"); + checkNepOtsiNode(nep6, inepUuid3, "XPDR1-NETWORK1", "iNodeEdgePoint", tpdr100G.getNodeId().getValue(), + TapiStringConstants.I_OTSI); List nrgList3 = node.nonnullNodeRuleGroup().values().stream() .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue())) .collect(Collectors.toList()); @@ -890,7 +913,8 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } } - private void checkNepClient10G(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName) { + private void checkNepClient10G(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName, + String nodeId, String extension) { assertEquals("bad uuid for " + portName, nepUuid, nep.getUuid()); List nameList = new ArrayList<>(nep.nonnullName().values()); Name name = nameList.get(0); @@ -905,9 +929,11 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { hasItems(ODUTYPEODU2.class, ODUTYPEODU2E.class, DIGITALSIGNALTYPE10GigELAN.class)); assertEquals("client nep should be of ETH protocol type", LayerProtocolName.ETH, nep.getLayerProtocolName()); checkCommonPartOfNep(nep, false); + checkSIP(nep, portName, nodeId, extension); } - private void checkNepNetworkODU4(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName) { + private void checkNepNetworkODU4(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName, + String nodeId, String extension) { assertEquals("bad uuid for " + portName, nepUuid, nep.getUuid()); List nameList = new ArrayList<>(nep.nonnullName().values()); Name name = nameList.get(0); @@ -922,6 +948,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { hasItem(ODUTYPEODU4.class)); assertEquals("network nep should be of ODU protocol type", LayerProtocolName.ODU, nep.getLayerProtocolName()); checkCommonPartOfNep(nep, false); + checkSIP(nep, portName, nodeId, extension); } private void checkNodeRuleGroupForTpdrDSR(List nrgList, Uuid clientNepUuid, Uuid networkNepUuid, @@ -1105,7 +1132,8 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { RuleType.FORWARDING, ruleList0.get(0).getRuleType()); } - private void checkNepClient100GSwitch(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName) { + private void checkNepClient100GSwitch(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName, + String nodeId, String extension) { assertEquals("bad uuid for " + portName, nepUuid, nep.getUuid()); List nameList = new ArrayList<>(nep.nonnullName().values()); assertEquals("value of client nep should be '" + portName + "'", @@ -1119,9 +1147,11 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { hasItems(ODUTYPEODU4.class, DIGITALSIGNALTYPE100GigE.class)); assertEquals("client nep should be of ETH protocol type", LayerProtocolName.ETH, nep.getLayerProtocolName()); checkCommonPartOfNep(nep, false); + checkSIP(nep, portName, nodeId, extension); } - private void checkNepClient100GTpdr(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName) { + private void checkNepClient100GTpdr(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName, + String nodeId, String extension) { assertEquals("bad uuid for " + portName, nepUuid, nep.getUuid()); List nameList = new ArrayList<>(nep.nonnullName().values()); assertEquals("value of client nep should be '" + portName + "'", @@ -1135,9 +1165,11 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { hasItems(DIGITALSIGNALTYPE100GigE.class)); assertEquals("client nep should be of ETH protocol type", LayerProtocolName.ETH, nep.getLayerProtocolName()); checkCommonPartOfNep(nep, false); + checkSIP(nep, portName, nodeId, extension); } - private void checkNepOtsiNode(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName) { + private void checkNepOtsiNode(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName, + String nodeId, String extension) { assertEquals("bad uuid for " + portName, nepUuid, nep.getUuid()); List nameList = new ArrayList<>(nep.nonnullName().values()); assertEquals("value of OTSi nep should be '" + portName + "'", @@ -1153,6 +1185,15 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { LayerProtocolName.PHOTONICMEDIA, nep.getLayerProtocolName()); assertEquals("OTSi nep should support one SIP", 1, nep.getMappedServiceInterfacePoint().size()); checkCommonPartOfNep(nep, false); + checkSIP(nep, portName, nodeId, extension); + } + + private void checkSIP(OwnedNodeEdgePoint nep, String portName, String nodeId, String extension) { + Uuid sipUuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", "SIP", nodeId, extension, portName)) + .getBytes(Charset.forName("UTF-8"))).toString()); + assertEquals("service-interface-point-uuid of network nep for '" + portName + "' should be '" + + String.join("+", "SIP", nodeId, portName) + "'", sipUuid, nep.getMappedServiceInterfacePoint() + .get(new MappedServiceInterfacePointKey(sipUuid)).getServiceInterfacePointUuid()); } private void checkNepOtsiRdmNode(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName) { @@ -1193,8 +1234,8 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkTransitionalLink(Link link, Uuid node1Uuid, Uuid node2Uuid, String tp1, String tp2, - String ietfNodeId) { - Uuid linkUuid = new Uuid(UUID.nameUUIDFromBytes((ietfNodeId + "--" + tp1 + "--" + tp2) + String ietfNodeId) { + Uuid linkUuid = new Uuid(UUID.nameUUIDFromBytes((tp1 + "to" + 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", @@ -1231,16 +1272,16 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkOtnLink(Link link, Uuid node1Uuid, Uuid node2Uuid, Uuid tp1Uuid, Uuid tp2Uuid, Uuid linkUuid, - String linkName) { + String linkName) { assertEquals("bad name for the link", linkName, link.getName().get(new NameKey("otn link name")).getValue()); assertEquals("bad uuid for link", linkUuid, link.getUuid()); assertEquals("Available capacity unit should be MBPS", - CapacityUnit.MBPS, link.getAvailableCapacity().getTotalSize().getUnit()); + CapacityUnit.GBPS, link.getAvailableCapacity().getTotalSize().getUnit()); String prefix = linkName.split("-")[0]; if ("OTU4".equals(prefix)) { assertEquals("Available capacity -total size value should be 0", Uint64.valueOf(0), link.getAvailableCapacity().getTotalSize().getValue()); - } else if ("ODU4".equals(prefix)) { + } else if ("ODTU4".equals(prefix)) { assertEquals("Available capacity -total size value should be 100 000", Uint64.valueOf(100000), link.getAvailableCapacity().getTotalSize().getValue()); } @@ -1251,7 +1292,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { if ("OTU4".equals(prefix)) { assertEquals("otn link should be between 2 nodes of protocol layers PHOTONIC_MEDIA", LayerProtocolName.PHOTONICMEDIA.getName(), link.getLayerProtocolName().get(0).getName()); - } else if ("ODU4".equals(prefix)) { + } else if ("ODTU4".equals(prefix)) { assertEquals("otn link should be between 2 nodes of protocol layers ODU", LayerProtocolName.ODU.getName(), link.getLayerProtocolName().get(0).getName()); }