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=ac12edd36bf744e829dcd43c63cfd13ed54f9665;hb=f49968974e1477d4fd9cfdd87d867c9ad347678e;hp=d7d3a467a407cd71e0f9d7732f55d9947d6ad9c8;hpb=4d2eeb127d1760600eba9822bab0762a68c3806e;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 d7d3a467a..ac12edd36 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,16 +33,21 @@ 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; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1Builder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.TerminationPoint1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.TerminationPoint1Builder; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State; import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.OpenroadmTpType; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId; @@ -103,19 +108,18 @@ 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(); - private static final String E_OTSI = "eOTSi"; - private static final String I_OTSI = "iOTSi"; - private static final String DSR = "DSR"; @BeforeClass public static void setUp() throws InterruptedException, ExecutionException { TopologyDataUtils.writeTopologyFromFileToDatastore(getDataStoreContextUtil(), - TapiTopologyDataUtils.OPENROADM_TOPOLOGY_FILE, InstanceIdentifiers.OVERLAY_NETWORK_II); + TapiTopologyDataUtils.OPENROADM_TOPOLOGY_FILE, InstanceIdentifiers.OVERLAY_NETWORK_II); TopologyDataUtils.writeTopologyFromFileToDatastore(getDataStoreContextUtil(), - TapiTopologyDataUtils.OTN_TOPOLOGY_FILE, InstanceIdentifiers.OTN_NETWORK_II); + TapiTopologyDataUtils.OTN_TOPOLOGY_FILE, InstanceIdentifiers.OTN_NETWORK_II); TopologyDataUtils.writePortmappingFromFileToDatastore(getDataStoreContextUtil(), - TapiTopologyDataUtils.PORTMAPPING_FILE); + TapiTopologyDataUtils.PORTMAPPING_FILE); KeyedInstanceIdentifier muxAIID = InstanceIdentifier.create(Networks.class) .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network @@ -156,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"); } @@ -170,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"))) @@ -179,8 +186,8 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { .getTapiNodes().get(new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.NodeKey(dsrNodeUuid)); Uuid networkNepUuid = new Uuid( - UUID.nameUUIDFromBytes(("XPDR-A1-XPDR1+DSR+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) - .toString()); + UUID.nameUUIDFromBytes(("XPDR-A1-XPDR1+iODU+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) + .toString()); OwnedNodeEdgePoint nepN = dsrNode.nonnullOwnedNodeEdgePoint().get(new OwnedNodeEdgePointKey(networkNepUuid)); assertNull("Administrative State should not be present", nepN.getAdministrativeState()); assertNull("Operational State should not be present", nepN.getOperationalState()); @@ -192,10 +199,10 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.NodeKey(otsiNodeUuid)); Uuid enepUuid = new Uuid( UUID.nameUUIDFromBytes(("XPDR-A1-XPDR1+eOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) - .toString()); + .toString()); Uuid inepUuid = new Uuid( UUID.nameUUIDFromBytes(("XPDR-A1-XPDR1+iOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) - .toString()); + .toString()); OwnedNodeEdgePoint enep = otsiNode.nonnullOwnedNodeEdgePoint().get(new OwnedNodeEdgePointKey(enepUuid)); assertNull("Administrative State should not be present", enep.getAdministrativeState()); assertNull("Operational State should not be present", enep.getOperationalState()); @@ -215,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"))) @@ -224,8 +231,8 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { .getTapiNodes().get(new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.NodeKey(dsrNodeUuid)); Uuid networkNepUuid = new Uuid( - UUID.nameUUIDFromBytes(("XPDR-A1-XPDR1+DSR+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) - .toString()); + UUID.nameUUIDFromBytes(("XPDR-A1-XPDR1+iODU+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) + .toString()); OwnedNodeEdgePoint nepN = dsrNode.nonnullOwnedNodeEdgePoint().get(new OwnedNodeEdgePointKey(networkNepUuid)); assertEquals("Administrative State should be Locked", AdministrativeState.LOCKED, nepN.getAdministrativeState()); @@ -239,10 +246,10 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.NodeKey(otsiNodeUuid)); Uuid enepUuid = new Uuid( UUID.nameUUIDFromBytes(("XPDR-A1-XPDR1+eOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) - .toString()); + .toString()); Uuid inepUuid = new Uuid( UUID.nameUUIDFromBytes(("XPDR-A1-XPDR1+iOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) - .toString()); + .toString()); OwnedNodeEdgePoint enep = otsiNode.nonnullOwnedNodeEdgePoint().get(new OwnedNodeEdgePointKey(enepUuid)); assertEquals("Administrative State should be Locked", AdministrativeState.LOCKED, enep.getAdministrativeState()); @@ -266,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"))) @@ -275,8 +282,8 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { .getTapiNodes().get(new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.NodeKey(dsrNodeUuid)); Uuid networkNepUuid = new Uuid( - UUID.nameUUIDFromBytes(("XPDR-A1-XPDR1+DSR+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) - .toString()); + UUID.nameUUIDFromBytes(("XPDR-A1-XPDR1+iODU+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) + .toString()); OwnedNodeEdgePoint nepN = dsrNode.nonnullOwnedNodeEdgePoint().get(new OwnedNodeEdgePointKey(networkNepUuid)); assertEquals("Administrative State should be Locked", AdministrativeState.LOCKED, nepN.getAdministrativeState()); @@ -290,10 +297,10 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.NodeKey(otsiNodeUuid)); Uuid enepUuid = new Uuid( UUID.nameUUIDFromBytes(("XPDR-A1-XPDR1+eOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) - .toString()); + .toString()); Uuid inepUuid = new Uuid( UUID.nameUUIDFromBytes(("XPDR-A1-XPDR1+iOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) - .toString()); + .toString()); OwnedNodeEdgePoint enep = otsiNode.nonnullOwnedNodeEdgePoint().get(new OwnedNodeEdgePointKey(enepUuid)); assertEquals("Administrative State should be Locked", AdministrativeState.LOCKED, enep.getAdministrativeState()); @@ -316,7 +323,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { 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)) { @@ -336,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 @@ -353,7 +360,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { 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)) { @@ -373,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 @@ -391,7 +398,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { 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)) { @@ -412,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 @@ -431,7 +438,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { 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)) { @@ -452,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 @@ -471,7 +478,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { 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)) { @@ -492,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)) { @@ -521,21 +528,21 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { Uuid dsrNodeUuid = new Uuid(UUID.nameUUIDFromBytes("XPDR-A1-XPDR1+DSR".getBytes(Charset.forName("UTF-8"))) .toString()); - checkDsrNode(tapiNodes.get(1), dsrNodeUuid, "tpdr", "XPDR-A1-XPDR1"); + checkDsrNode(tapiNodes.get(1), dsrNodeUuid, "tpdr", "XPDR-A1-XPDR1+DSR"); Uuid otsiNodeUuid = new Uuid(UUID.nameUUIDFromBytes("XPDR-A1-XPDR1+OTSi".getBytes(Charset.forName("UTF-8"))) .toString()); - checkOtsiNode(tapiNodes.get(0), otsiNodeUuid, "tpdr", "XPDR-A1-XPDR1"); + checkOtsiNode(tapiNodes.get(0), otsiNodeUuid, "tpdr", "XPDR-A1-XPDR1+OTSi"); 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, - "XPDR-A1-XPDR1+DSR+XPDR1-NETWORK1", "XPDR-A1-XPDR1+iOTSi+XPDR1-NETWORK1", "XPDR-A1-XPDR1"); + "XPDR-A1-XPDR1+iODU+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)) { @@ -552,21 +559,21 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { assertEquals("Link list size should be 1", 1, tapiFactory.getTapiLinks().size()); Uuid dsrNodeUuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR1+DSR".getBytes(Charset.forName("UTF-8"))) .toString()); - checkDsrNode(tapiNodes.get(0), dsrNodeUuid, "mux", "SPDR-SA1-XPDR1"); + checkDsrNode(tapiNodes.get(0), dsrNodeUuid, "mux", "SPDR-SA1-XPDR1+DSR"); Uuid otsiNodeUuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR1+OTSi".getBytes(Charset.forName("UTF-8"))) .toString()); - checkOtsiNode(tapiNodes.get(1), otsiNodeUuid, "mux", "SPDR-SA1-XPDR1"); + checkOtsiNode(tapiNodes.get(1), otsiNodeUuid, "mux", "SPDR-SA1-XPDR1+OTSi"); 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, - "SPDR-SA1-XPDR1+DSR+XPDR1-NETWORK1", "SPDR-SA1-XPDR1+iOTSi+XPDR1-NETWORK1", "SPDR-SA1-XPDR1"); + "SPDR-SA1-XPDR1+iODU+XPDR1-NETWORK1", "SPDR-SA1-XPDR1+iOTSi+XPDR1-NETWORK1", "SPDR-SA1-XPDR1"); } @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)) { @@ -584,21 +591,21 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { Uuid dsrNodeUuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR2+DSR".getBytes(Charset.forName("UTF-8"))) .toString()); - checkDsrNode(tapiNodes.get(0), dsrNodeUuid, "switch", "SPDR-SA1-XPDR2"); + checkDsrNode(tapiNodes.get(0), dsrNodeUuid, "switch", "SPDR-SA1-XPDR2+DSR"); Uuid otsiNodeUuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR2+OTSi".getBytes(Charset.forName("UTF-8"))) .toString()); - checkOtsiNode(tapiNodes.get(1), otsiNodeUuid, "switch", "SPDR-SA1-XPDR2"); + checkOtsiNode(tapiNodes.get(1), otsiNodeUuid, "switch", "SPDR-SA1-XPDR2+OTSi"); 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, - "SPDR-SA1-XPDR2+DSR+XPDR2-NETWORK4", "SPDR-SA1-XPDR2+iOTSi+XPDR2-NETWORK4", "SPDR-SA1-XPDR2"); + checkTransitionalLink(tapiLinks.get(2), dsrNodeUuid, otsiNodeUuid, + "SPDR-SA1-XPDR2+iODU+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)) { @@ -624,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("ODTU4-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, - "ODTU4-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()); @@ -664,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)) { @@ -678,8 +685,8 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { assertEquals("Link list size should be 2", 2, tapiFactory.getTapiLinks().size()); List tapiNodes = tapiFactory.getTapiNodes().values().stream() - .sorted((n1, n2) -> n1.getUuid().getValue().compareTo(n2.getUuid().getValue())) - .collect(Collectors.toList()); + .sorted((n1, n2) -> n1.getUuid().getValue().compareTo(n2.getUuid().getValue())) + .collect(Collectors.toList()); Uuid otsiNodeUuid = new Uuid(UUID.nameUUIDFromBytes("ROADM-infra".getBytes(Charset.forName("UTF-8"))) .toString()); checkOtsiNode(tapiNodes.get(2), otsiNodeUuid, "infra", "ROADM-infra"); @@ -696,28 +703,29 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { Uuid tp2Uuid = new Uuid(UUID.nameUUIDFromBytes(("roadm node+nep+1") .getBytes(Charset.forName("UTF-8"))).toString()); Uuid linkUuid = - new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR1--XPDR1-NETWORK1 and ROADM-infra--NodeEdgePoint_1" - .getBytes(Charset.forName("UTF-8"))).toString()); - checkOmsLink(links.get(0), node1Uuid, node2Uuid, tp1Uuid, tp2Uuid, linkUuid, - "SPDR-SA1-XPDR1--XPDR1-NETWORK1 and ROADM-infra--NodeEdgePoint_1"); + new Uuid(UUID.nameUUIDFromBytes( + "SPDR-SA1-XPDR1+OTSi--SPDR-SA1-XPDR1+eOTSi+XPDR1-NETWORK1 and ROADM-infra--NodeEdgePoint_1" + .getBytes(Charset.forName("UTF-8"))).toString()); + checkOmsLink(links.get(1), node1Uuid, node2Uuid, tp1Uuid, tp2Uuid, linkUuid, + "SPDR-SA1-XPDR1+OTSi--SPDR-SA1-XPDR1+eOTSi+XPDR1-NETWORK1 and ROADM-infra--NodeEdgePoint_1"); } private void checkDsrNode(org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node node, - Uuid nodeUuid, String dsrNodeType, String nodeId) { + Uuid nodeUuid, String dsrNodeType, String nodeId) { assertEquals("incorrect node uuid", nodeUuid, node.getUuid()); assertEquals("incorrect node name", nodeId, node.getName().get(new NameKey("dsr/odu node name")).getValue()); assertEquals("administrative state should be UNLOCKED", AdministrativeState.UNLOCKED, node.getAdministrativeState()); assertEquals("life-cycle state should be INSTALLED", LifecycleState.INSTALLED, node.getLifecycleState()); assertEquals("operational state should be ENABLED", OperationalState.ENABLED, node.getOperationalState()); - assertEquals("value-name should be 'dsr/odu node name'", - "dsr/odu node name", node.nonnullName().values().stream().findFirst().get().getValueName()); + assertThat("one value-name should be 'dsr/odu node name'", + new ArrayList<>(node.nonnullName().keySet()), hasItem(new NameKey("dsr/odu node name"))); assertEquals("dsr node should manage 2 protocol layers : dsr and odu", 2, node.getLayerProtocolName().size()); assertThat("dsr node should manage 2 protocol layers : dsr and odu", node.getLayerProtocolName(), hasItems(LayerProtocolName.DSR, LayerProtocolName.ODU)); List nepsN = node.nonnullOwnedNodeEdgePoint().values().stream() - .filter(n -> n.getName().containsKey(new NameKey("NodeEdgePoint_N"))) + .filter(n -> n.getName().containsKey(new NameKey("iNodeEdgePoint_N"))) .sorted((nep1, nep2) -> nep1.getUuid().getValue().compareTo(nep2.getUuid().getValue())) .collect(Collectors.toList()); List nepsC; @@ -731,16 +739,16 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { assertEquals("Switch-DSR node should have 4 NEPs client", 4, nepsC.size()); OwnedNodeEdgePoint nep1 = nepsC.get(2); Uuid client4NepUuid = new Uuid( - UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR2-CLIENT4").getBytes(Charset.forName("UTF-8"))) - .toString()); + UUID.nameUUIDFromBytes((nodeId.split("\\+")[0] + "+DSR+XPDR2-CLIENT4") + .getBytes(Charset.forName("UTF-8"))).toString()); checkNepClient100GSwitch(nep1, client4NepUuid, "XPDR2-CLIENT4", "NodeEdgePoint_C", - otnSwitch.getNodeId().getValue(), DSR); - OwnedNodeEdgePoint nep2 = nepsN.get(1); + otnSwitch.getNodeId().getValue(), TapiStringConstants.DSR); + OwnedNodeEdgePoint nep2 = nepsN.get(3); Uuid networkNepUuid = new Uuid( - UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR2-NETWORK1").getBytes(Charset.forName("UTF-8"))) - .toString()); - checkNepNetworkODU4(nep2, networkNepUuid, "XPDR2-NETWORK1", "NodeEdgePoint_N", - otnSwitch.getNodeId().getValue(), DSR); + UUID.nameUUIDFromBytes((nodeId.split("\\+")[0] + "+iODU+XPDR2-NETWORK1") + .getBytes(Charset.forName("UTF-8"))).toString()); + checkNepNetworkODU4(nep2, networkNepUuid, "XPDR2-NETWORK1", "iNodeEdgePoint_N", + otnSwitch.getNodeId().getValue(), TapiStringConstants.I_ODU); List nrgList = node.nonnullNodeRuleGroup().values().stream() .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue())) .collect(Collectors.toList()); @@ -755,17 +763,17 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { assertEquals("Mux-DSR node should have 4 NEPs client", 4, nepsC.size()); OwnedNodeEdgePoint nep3 = nepsC.get(2); Uuid client3NepUuid = new Uuid( - UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR1-CLIENT3").getBytes(Charset.forName("UTF-8"))) - .toString()); + UUID.nameUUIDFromBytes((nodeId.split("\\+")[0] + "+DSR+XPDR1-CLIENT3") + .getBytes(Charset.forName("UTF-8"))).toString()); checkNepClient10G(nep3, client3NepUuid, "XPDR1-CLIENT3", "NodeEdgePoint_C", - otnMuxA.getNodeId().getValue(), DSR); + 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", - otnMuxA.getNodeId().getValue(), DSR); + UUID.nameUUIDFromBytes((nodeId.split("\\+")[0] + "+iODU+XPDR1-NETWORK1") + .getBytes(Charset.forName("UTF-8"))).toString()); + checkNepNetworkODU4(nep4, networkNepUuid2, "XPDR1-NETWORK1", "iNodeEdgePoint_N", + otnMuxA.getNodeId().getValue(), TapiStringConstants.I_ODU); List nrgList2 = node.nonnullNodeRuleGroup().values().stream() .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue())) .collect(Collectors.toList()); @@ -780,17 +788,17 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { assertEquals("Tpdr-DSR node should have 2 NEPs client", 2, nepsC.size()); OwnedNodeEdgePoint nep5 = nepsC.get(0); Uuid client1NepUuid = new Uuid( - UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR1-CLIENT1").getBytes(Charset.forName("UTF-8"))) - .toString()); + UUID.nameUUIDFromBytes((nodeId.split("\\+")[0] + "+DSR+XPDR1-CLIENT1") + .getBytes(Charset.forName("UTF-8"))).toString()); checkNepClient100GTpdr(nep5, client1NepUuid, "XPDR1-CLIENT1", "100G-tpdr", - tpdr100G.getNodeId().getValue(), DSR); + tpdr100G.getNodeId().getValue(), TapiStringConstants.DSR); - OwnedNodeEdgePoint nep6 = nepsN.get(0); + OwnedNodeEdgePoint nep6 = nepsN.get(1); Uuid networkNepUuid3 = new Uuid( - UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) - .toString()); - checkNepNetworkODU4(nep6, networkNepUuid3, "XPDR1-NETWORK1", "NodeEdgePoint_N", - tpdr100G.getNodeId().getValue(), DSR); + UUID.nameUUIDFromBytes((nodeId.split("\\+")[0] + "+iODU+XPDR1-NETWORK1") + .getBytes(Charset.forName("UTF-8"))).toString()); + checkNepNetworkODU4(nep6, networkNepUuid3, "XPDR1-NETWORK1", "iNodeEdgePoint_N", + tpdr100G.getNodeId().getValue(), TapiStringConstants.I_ODU); List nrgList3 = node.nonnullNodeRuleGroup().values().stream() .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue())) .collect(Collectors.toList()); @@ -803,7 +811,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkOtsiNode( - org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node node, + org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node node, Uuid nodeUuid, String otsiNodeType, String nodeId) { assertEquals("incorrect node uuid", nodeUuid, node.getUuid()); assertEquals("incorrect node name", nodeId, node.getName().get(new NameKey("otsi node name")).getValue()); @@ -811,12 +819,13 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { AdministrativeState.UNLOCKED, node.getAdministrativeState()); assertEquals("life-cycle state should be INSTALLED", LifecycleState.INSTALLED, node.getLifecycleState()); assertEquals("operational state should be ENABLED", OperationalState.ENABLED, node.getOperationalState()); - assertEquals("value-name should be 'dsr/odu node name'", - "otsi node name", node.nonnullName().values().stream().findFirst().get().getValueName()); + assertThat("one value-name should be 'dsr/odu node name'", + new ArrayList<>(node.nonnullName().keySet()), hasItem(new NameKey("otsi node name"))); assertEquals("otsi node should manage a single protocol layer : PHOTONIC_MEDIA", 1, node.getLayerProtocolName().size()); assertEquals("otsi node should manage a single protocol layer : PHOTONIC_MEDIA", - LayerProtocolName.PHOTONICMEDIA, node.getLayerProtocolName().get(0)); + LayerProtocolName.PHOTONICMEDIA, + node.getLayerProtocolName().stream().findFirst().get()); List nepsI = node.nonnullOwnedNodeEdgePoint().values().stream() .filter(n -> n.getName().containsKey(new NameKey("iNodeEdgePoint"))) .sorted((nep1, nep2) -> nep1.getUuid().getValue().compareTo(nep2.getUuid().getValue())) @@ -831,16 +840,16 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { assertEquals("Switch-OTSi node should have 4 iNEPs", 4, nepsI.size()); OwnedNodeEdgePoint nep1 = nepsI.get(1); Uuid inepUuid = new Uuid( - UUID.nameUUIDFromBytes((nodeId + "+iOTSi+XPDR2-NETWORK2").getBytes(Charset.forName("UTF-8"))) - .toString()); - checkNepOtsiNode(nep1, inepUuid, "XPDR2-NETWORK2", "iNodeEdgePoint", otnSwitch.getNodeId().getValue(), - I_OTSI); + UUID.nameUUIDFromBytes((nodeId.split("\\+")[0] + "+iOTSi+XPDR2-NETWORK2") + .getBytes(Charset.forName("UTF-8"))).toString()); + 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", otnSwitch.getNodeId().getValue(), - E_OTSI); + UUID.nameUUIDFromBytes((nodeId.split("\\+")[0] + "+eOTSi+XPDR2-NETWORK2") + .getBytes(Charset.forName("UTF-8"))).toString()); + 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()); @@ -851,16 +860,16 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { assertEquals("Mux-OTSi node should have 1 iNEPs", 1, nepsI.size()); OwnedNodeEdgePoint nep3 = nepsE.get(0); Uuid enepUuid2 = new Uuid( - UUID.nameUUIDFromBytes((nodeId + "+eOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) - .toString()); - checkNepOtsiNode(nep3, enepUuid2, "XPDR1-NETWORK1", "eNodeEdgePoint", otnMuxA.getNodeId().getValue(), - E_OTSI); + UUID.nameUUIDFromBytes((nodeId.split("\\+")[0] + "+eOTSi+XPDR1-NETWORK1") + .getBytes(Charset.forName("UTF-8"))).toString()); + 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", otnMuxA.getNodeId().getValue(), - I_OTSI); + UUID.nameUUIDFromBytes((nodeId.split("\\+")[0] + "+iOTSi+XPDR1-NETWORK1") + .getBytes(Charset.forName("UTF-8"))).toString()); + 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()); @@ -871,16 +880,16 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { assertEquals("Tpdr-OTSi node should have 2 iNEPs", 2, nepsI.size()); OwnedNodeEdgePoint nep5 = nepsE.get(0); Uuid enepUuid3 = new Uuid( - UUID.nameUUIDFromBytes((nodeId + "+eOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8"))) - .toString()); - checkNepOtsiNode(nep5, enepUuid3, "XPDR1-NETWORK1", "eNodeEdgePoint", tpdr100G.getNodeId().getValue(), - E_OTSI); + UUID.nameUUIDFromBytes((nodeId.split("\\+")[0] + "+eOTSi+XPDR1-NETWORK1") + .getBytes(Charset.forName("UTF-8"))).toString()); + 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", tpdr100G.getNodeId().getValue(), - I_OTSI); + UUID.nameUUIDFromBytes((nodeId.split("\\+")[0] + "+iOTSi+XPDR1-NETWORK1") + .getBytes(Charset.forName("UTF-8"))).toString()); + 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()); @@ -907,12 +916,12 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkNepClient10G(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName, - String nodeId, String extension) { + String nodeId, String extension) { assertEquals("bad uuid for " + portName, nepUuid, nep.getUuid()); List nameList = new ArrayList<>(nep.nonnullName().values()); Name name = nameList.get(0); assertEquals("value of client nep should be '" + portName + "'", - portName, name.getValue()); + String.join("+", nodeId, extension, portName), name.getValue()); assertEquals("value-name of client nep for '" + portName + "' should be '" + nepName + "'", nepName, name.getValueName()); assertEquals("Client nep should support 3 kind of cep", @@ -926,12 +935,12 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkNepNetworkODU4(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName, - String nodeId, String extension) { + String nodeId, String extension) { assertEquals("bad uuid for " + portName, nepUuid, nep.getUuid()); List nameList = new ArrayList<>(nep.nonnullName().values()); Name name = nameList.get(0); assertEquals("value of network nep should be '" + portName + "'", - portName, name.getValue()); + String.join("+", nodeId, extension, portName), name.getValue()); assertEquals("value-name of network nep for '" + portName + "' should be '" + nepName + "'", nepName, name.getValueName()); assertEquals("Network nep should support 1 kind of cep", @@ -945,7 +954,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkNodeRuleGroupForTpdrDSR(List nrgList, Uuid clientNepUuid, Uuid networkNepUuid, - Uuid nodeUuid) { + Uuid nodeUuid) { assertEquals("transponder DSR should contain 2 node rule group", 2, nrgList.size()); for (NodeRuleGroup nodeRuleGroup : nrgList) { assertEquals("each node-rule-group should contain 2 NEP for transponder DSR", @@ -973,7 +982,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkNodeRuleGroupForMuxDSR(List nrgList, Uuid clientNepUuid, Uuid networkNepUuid, - Uuid nodeUuid) { + Uuid nodeUuid) { assertEquals("muxponder DSR should contain 4 node rule group", 4, nrgList.size()); for (NodeRuleGroup nodeRuleGroup : nrgList) { assertEquals("each node-rule-group should contain 2 NEP for muxponder DSR", @@ -1001,17 +1010,17 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkNodeRuleGroupForSwitchDSR(List nrgList, Uuid clientNepUuid, Uuid networkNepUuid, - Uuid nodeUuid) { + Uuid nodeUuid) { assertEquals("Switch-DSR should contain a single node rule group", 1, nrgList.size()); assertEquals("Switch-DSR node-rule-group should contain 8 NEP", 8, nrgList.get(0).getNodeEdgePoint().size()); List nrg = nrgList.get(0).nonnullNodeEdgePoint().values().stream() .sorted((nrg1, nrg2) -> nrg1.getNodeEdgePointUuid().getValue() .compareTo(nrg2.getNodeEdgePointUuid().getValue())) .collect(Collectors.toList()); - assertEquals("in the sorted node-rule-group, nep number 2 should be XPDR2-NETWORK1", - networkNepUuid, nrg.get(4).getNodeEdgePointUuid()); + assertEquals("in the sorted node-rule-group, nep number 7 should be XPDR2-NETWORK1", + networkNepUuid, nrg.get(6).getNodeEdgePointUuid()); assertEquals("in the sorted node-rule-group, nep number 6 should be XPDR2-CLIENT4", - clientNepUuid, nrg.get(3).getNodeEdgePointUuid()); + clientNepUuid, nrg.get(5).getNodeEdgePointUuid()); assertEquals("any item of the node-rule-group should have the same nodeUuid", nodeUuid, nrg.get(4).getNodeUuid()); assertEquals("any item of the node-rule-group should have the same nodeUuid", @@ -1047,7 +1056,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkNodeRuleGroupForTpdrOTSi(List nrgList, Uuid enepUuid, Uuid inepUuid, - Uuid nodeUuid) { + Uuid nodeUuid) { assertEquals("Tpdr-OTSi should contain two node rule groups", 2, nrgList.size()); List nodeEdgePointList = new ArrayList<>(nrgList.get(0).getNodeEdgePoint().values()); assertEquals("Tpdr-OTSi node-rule-group should contain 2 NEP", 2, nodeEdgePointList.size()); @@ -1072,7 +1081,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkNodeRuleGroupForMuxOTSi(List nrgList, Uuid enepUuid, Uuid inepUuid, - Uuid nodeUuid) { + Uuid nodeUuid) { assertEquals("Mux-OTSi should contain a single node rule group", 1, nrgList.size()); List nodeEdgePointList = new ArrayList<>(nrgList.get(0).getNodeEdgePoint().values()); assertEquals("Mux-OTSi node-rule-group should contain 2 NEP", 2, nodeEdgePointList.size()); @@ -1097,7 +1106,7 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkNodeRuleGroupForSwitchOTSi(List nrgList, Uuid enepUuid, Uuid inepUuid, - Uuid nodeUuid) { + Uuid nodeUuid) { assertEquals("Switch-OTSi should contain 4 node rule group", 4, nrgList.size()); for (NodeRuleGroup nodeRuleGroup : nrgList) { assertEquals("each node-rule-group should contain 2 NEP for Switch-OTSi", @@ -1126,11 +1135,11 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkNepClient100GSwitch(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName, - String nodeId, String extension) { + 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 + "'", - portName, nameList.get(0).getValue()); + String.join("+", nodeId, extension, portName), nameList.get(0).getValue()); assertEquals("value-name of client nep for '" + portName + "' should be '" + nepName + "'", nepName, nameList.get(0).getValueName()); assertEquals("Client nep should support 2 kind of cep", @@ -1144,11 +1153,11 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkNepClient100GTpdr(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName, - String nodeId, String extension) { + 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 + "'", - portName, nameList.get(0).getValue()); + String.join("+", nodeId, extension, portName), nameList.get(0).getValue()); assertEquals("value-name of client nep for '" + portName + "' should be 100G-tpdr'", nepName, nameList.get(0).getValueName()); assertEquals("Client nep should support 1 kind of cep", @@ -1162,11 +1171,11 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkNepOtsiNode(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName, - String nodeId, String extension) { + 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 + "'", - portName, nameList.get(0).getValue()); + String.join("+", nodeId, extension, 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", @@ -1185,8 +1194,8 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { 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()); + + String.join("+", "SIP", portName) + "'", sipUuid, nep.getMappedServiceInterfacePoint() + .get(new MappedServiceInterfacePointKey(sipUuid)).getServiceInterfacePointUuid()); } private void checkNepOtsiRdmNode(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName) { @@ -1227,8 +1236,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", @@ -1265,11 +1274,11 @@ 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", @@ -1284,10 +1293,12 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { Uint64.valueOf(100), link.getTotalPotentialCapacity().getTotalSize().getValue()); 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()); + LayerProtocolName.PHOTONICMEDIA.getName(), + link.getLayerProtocolName().stream().findFirst().get().getName()); } 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()); + LayerProtocolName.ODU.getName(), + link.getLayerProtocolName().stream().findFirst().get().getName()); } assertEquals("otn tapi link should be BIDIRECTIONAL", ForwardingDirection.BIDIRECTIONAL, link.getDirection()); @@ -1316,11 +1327,12 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { } private void checkOmsLink(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("OMS link name")).getValue()); assertEquals("bad uuid for link", linkUuid, link.getUuid()); assertEquals("oms link should be between 2 nodes of protocol layers PHOTONIC_MEDIA", - LayerProtocolName.PHOTONICMEDIA.getName(), link.getLayerProtocolName().get(0).getName()); + LayerProtocolName.PHOTONICMEDIA.getName(), + link.getLayerProtocolName().stream().findFirst().get().getName()); assertEquals("otn tapi link should be BIDIRECTIONAL", ForwardingDirection.BIDIRECTIONAL, link.getDirection()); List tps = new HashMap<>(tpdr1Bldr.getTerminationPoint()); TerminationPointBuilder tpBldr = new TerminationPointBuilder( - tps.get(new TerminationPointKey(new TpId(tpid)))); + tps.get(new TerminationPointKey(new TpId(tpid)))); TerminationPoint1Builder tp1Bldr = new TerminationPoint1Builder(tpBldr.augmentation(TerminationPoint1.class)); tp1Bldr.setAdministrativeState(admin) .setOperationalState(oper); @@ -1375,4 +1387,4 @@ public class ConvertORTopoToTapiTopoTest extends AbstractTest { linkBldr.addAugmentation(link1Bldr.build()); return linkBldr.build(); } -} +} \ No newline at end of file