X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=networkmodel%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fnetworkmodel%2Futil%2FOpenRoadmOtnTopologyTest.java;h=bccb0ff2afe96f32ce0a24dea2fd3fdf060f35b9;hb=268165cb2822b6ce4c55f00cac63eed2bb222ec7;hp=70f03b6c415d2f48598cdc19791486276ea07d44;hpb=4ffe60da9b0625a9399fcedc60019a1d68656ae8;p=transportpce.git diff --git a/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopologyTest.java b/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopologyTest.java index 70f03b6c4..bccb0ff2a 100644 --- a/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopologyTest.java +++ b/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopologyTest.java @@ -7,6 +7,8 @@ */ package org.opendaylight.transportpce.networkmodel.util; +import static org.hamcrest.CoreMatchers.containsString; +import static org.hamcrest.CoreMatchers.either; import static org.hamcrest.CoreMatchers.hasItem; import static org.hamcrest.CoreMatchers.hasItems; import static org.hamcrest.CoreMatchers.not; @@ -33,30 +35,35 @@ import org.junit.Test; import org.opendaylight.transportpce.networkmodel.dto.TopologyShard; import org.opendaylight.transportpce.networkmodel.util.test.JsonUtil; import org.opendaylight.transportpce.networkmodel.util.test.NetworkmodelTestUtil; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.Network; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.Nodes; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.NodesBuilder; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.Mapping; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.MappingBuilder; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.MappingKey; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.NodeInfoBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.OduSwitchingPools; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmTpType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.ODU2e; -import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.ODU4; -import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Link1; -import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.networks.network.node.SwitchingPools; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.If100GE; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.If100GEODU4; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.If10GEODU2e; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.IfOCHOTU4ODU4; -import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.OtnLinkType; -import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.Network; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.mapping.Mapping; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.mapping.MappingBuilder; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.mapping.MappingKey; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.network.Nodes; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.network.NodesBuilder; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.network.nodes.NodeInfoBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Node1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.NodeTypes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.OduSwitchingPools; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.OpenroadmLinkType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.OpenroadmNodeType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.OpenroadmTpType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.xpdr.tp.supported.interfaces.SupportedInterfaceCapability; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODU2; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODU2e; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210.Link1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210.networks.network.node.SwitchingPools; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If100GE; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If100GEODU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If10GE; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If10GEODU2; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If10GEODU2e; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.IfOCH; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.IfOCHOTU4ODU4; +import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev220123.OtnLinkType; +import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev220123.TerminationPoint1; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNode; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId; @@ -80,7 +87,7 @@ public class OpenRoadmOtnTopologyTest { try (Reader reader = new FileReader("src/test/resources/portMapping.json", StandardCharsets.UTF_8); JsonReader portMappingReader = new JsonReader(reader)) { Network portMapping = (Network) JsonUtil.getInstance().getDataObjectFromJson(portMappingReader, - QName.create("http://org/opendaylight/transportpce/portmapping", "2020-08-27", "network")); + QName.create("http://org/opendaylight/transportpce/portmapping", "2022-03-16", "network")); for (Nodes nodes : portMapping.nonnullNodes().values()) { if (nodes.getNodeId().equals("XPDR-A1")) { this.portMappingTpdr = nodes; @@ -128,7 +135,7 @@ public class OpenRoadmOtnTopologyTest { assertEquals( Uint16.valueOf(1), node.augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Node1.class) + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210.Node1.class) .getXpdrAttributes() .getXpdrNumber()); //tests list of TPs @@ -147,7 +154,7 @@ public class OpenRoadmOtnTopologyTest { "only If100GE interface capabitily expected", 1, tps.get(0).augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getTpSupportedInterfaces() .getSupportedInterfaceCapability() @@ -155,7 +162,7 @@ public class OpenRoadmOtnTopologyTest { assertEquals( If100GE.class.getName(), tps.get(0).augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getTpSupportedInterfaces().nonnullSupportedInterfaceCapability() .values().stream().findFirst() @@ -164,7 +171,7 @@ public class OpenRoadmOtnTopologyTest { "first TP must be of type client", OpenroadmTpType.XPONDERCLIENT, tps.get(0).augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210 .TerminationPoint1.class) .getTpType()); //tests network tp @@ -173,18 +180,18 @@ public class OpenRoadmOtnTopologyTest { "XPDR1-CLIENT1", tps.get(2).augmentation(TerminationPoint1.class).getAssociatedConnectionMapPort()); assertEquals( - "only IfOCHOTU4ODU4 interface capabitily expected", + "only IfOCH interface capabitily expected", 1, tps.get(2).augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getTpSupportedInterfaces() .getSupportedInterfaceCapability() .size()); assertEquals( - IfOCHOTU4ODU4.class.getName(), + IfOCH.class.getName(), tps.get(2).augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getTpSupportedInterfaces() .getSupportedInterfaceCapability() @@ -192,20 +199,18 @@ public class OpenRoadmOtnTopologyTest { .get() .getIfCapType() .getName()); - assertEquals( - "the rate should be ODU4", - ODU4.class.getName(), + assertNull( + "the rate should be null", tps.get(2).augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() - .getRate() - .getName()); + .getRate()); assertEquals( "third TP must be of type network", OpenroadmTpType.XPONDERNETWORK, tps.get(2).augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1.class) + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.TerminationPoint1.class) .getTpType()); } @@ -257,20 +262,20 @@ public class OpenRoadmOtnTopologyTest { assertEquals( OpenroadmLinkType.OTNLINK, sortedLinks.get(0).augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class) + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1.class) .getLinkType()); assertEquals( "opposite link must be present", "OTU4-SPDRZ-XPDR1-XPDR1-NETWORK1toSPDRA-XPDR1-XPDR1-NETWORK1", sortedLinks.get(0).augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class) + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1.class) .getOppositeLink() .getValue()); assertEquals( "otn link type should be OTU4", OtnLinkType.OTU4, sortedLinks.get(0).augmentation( - org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1.class) + org.opendaylight.yang.gen.v1.http.transportpce.topology.rev220123.Link1.class) .getOtnLinkType()); } @@ -290,8 +295,8 @@ public class OpenRoadmOtnTopologyTest { public void createOtnLinksForODU4NormalTest() { TopologyShard topoShard = OpenRoadmOtnTopology .createOtnLinks( - NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.OTU4, 100000), - NetworkmodelTestUtil.createTpList(false)); + NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.OTU4, Uint32.valueOf(100000)), + NetworkmodelTestUtil.createTpList(false), OtnLinkType.ODTU4); assertNotNull("TopologyShard should never be null", topoShard); assertNull("list of nodes should be null", topoShard.getNodes()); List sortedLinks = topoShard.getLinks().stream() @@ -309,10 +314,10 @@ public class OpenRoadmOtnTopologyTest { sortedLinks.get(2).augmentation(Link1.class).getUsedBandwidth()); assertEquals( - "ODU4-SPDRA-XPDR1-XPDR1-NETWORK1toSPDRZ-XPDR1-XPDR1-NETWORK1", + "ODTU4-SPDRA-XPDR1-XPDR1-NETWORK1toSPDRZ-XPDR1-XPDR1-NETWORK1", sortedLinks.get(0).getLinkId().getValue()); assertEquals( - "ODU4-SPDRZ-XPDR1-XPDR1-NETWORK1toSPDRA-XPDR1-XPDR1-NETWORK1", + "ODTU4-SPDRZ-XPDR1-XPDR1-NETWORK1toSPDRA-XPDR1-XPDR1-NETWORK1", sortedLinks.get(1).getLinkId().getValue()); assertEquals("SPDRA-XPDR1", sortedLinks.get(0).getSource().getSourceNode().getValue()); assertEquals("SPDRZ-XPDR1", sortedLinks.get(0).getDestination().getDestNode().getValue()); @@ -330,14 +335,14 @@ public class OpenRoadmOtnTopologyTest { OpenroadmLinkType.OTNLINK, sortedLinks.get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class) + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1.class) .getLinkType()); assertEquals( "opposite link must be present", - "ODU4-SPDRZ-XPDR1-XPDR1-NETWORK1toSPDRA-XPDR1-XPDR1-NETWORK1", + "ODTU4-SPDRZ-XPDR1-XPDR1-NETWORK1toSPDRA-XPDR1-XPDR1-NETWORK1", sortedLinks.get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class) + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1.class) .getOppositeLink() .getValue()); assertEquals( @@ -345,7 +350,7 @@ public class OpenRoadmOtnTopologyTest { OtnLinkType.ODTU4, sortedLinks.get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1.class) + org.opendaylight.yang.gen.v1.http.transportpce.topology.rev220123.Link1.class) .getOtnLinkType()); assertEquals("list of TPs should contain 2 updated TPs", 2, topoShard.getTps().size()); @@ -353,7 +358,7 @@ public class OpenRoadmOtnTopologyTest { "after ODU4 creation, its termination point should contain a TsPool list", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getTsPool()); @@ -362,7 +367,7 @@ public class OpenRoadmOtnTopologyTest { 80, topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getTsPool() @@ -371,7 +376,7 @@ public class OpenRoadmOtnTopologyTest { "after ODU4 creation, its termination point should contain a TpnPool list", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getOdtuTpnPool().values().stream().findFirst() @@ -382,7 +387,7 @@ public class OpenRoadmOtnTopologyTest { 80, topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getOdtuTpnPool().values().stream().findFirst() @@ -393,13 +398,14 @@ public class OpenRoadmOtnTopologyTest { @Test public void createOtnLinksForODU4WhenOTU4HaveBadBWParamsTest() { - List otu4Links = NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.OTU4, 100000); + List otu4Links = NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.OTU4, Uint32.valueOf(100000)); List otu4LinksWithBadBWParam = new ArrayList<>(); for (Link link : otu4Links) { otu4LinksWithBadBWParam.add(new LinkBuilder(link).removeAugmentation(Link1.class).build()); } TopologyShard topoShard = - OpenRoadmOtnTopology.createOtnLinks(otu4LinksWithBadBWParam, NetworkmodelTestUtil.createTpList(false)); + OpenRoadmOtnTopology.createOtnLinks(otu4LinksWithBadBWParam, NetworkmodelTestUtil.createTpList(false), + OtnLinkType.OTU4); assertNotNull("TopologyShard should never be null", topoShard); assertNull("list of nodes should be null", topoShard.getNodes()); assertNull("list of links should be null", topoShard.getLinks()); @@ -408,8 +414,8 @@ public class OpenRoadmOtnTopologyTest { otu4LinksWithBadBWParam.clear(); topoShard = OpenRoadmOtnTopology.createOtnLinks( - NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.OTU4, 99000), - NetworkmodelTestUtil.createTpList(false)); + NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.OTU4, Uint32.valueOf(99000)), + NetworkmodelTestUtil.createTpList(false), OtnLinkType.OTU4); assertNull("list of nodes should be null", topoShard.getNodes()); assertNull("list of links should be null", topoShard.getLinks()); assertNull("list of tps should be null", topoShard.getTps()); @@ -419,8 +425,8 @@ public class OpenRoadmOtnTopologyTest { public void deleteOtnLinksForODU4NormalTest() { TopologyShard topoShard = OpenRoadmOtnTopology.deleteOtnLinks( - NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.OTU4, 0), - NetworkmodelTestUtil.createTpList(true)); + NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.OTU4, Uint32.valueOf(0)), + NetworkmodelTestUtil.createTpList(true), OtnLinkType.OTU4); assertNotNull("TopologyShard should never be null", topoShard); assertEquals("list of links should contain 2 links", 2, topoShard.getLinks().size()); assertEquals( @@ -437,7 +443,7 @@ public class OpenRoadmOtnTopologyTest { "after ODU4 deletion, its termination points should not contain any TsPool list", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getTsPool()); @@ -445,7 +451,7 @@ public class OpenRoadmOtnTopologyTest { "after ODU4 deletion, its termination points should not contain any TpnPool list", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getOdtuTpnPool()); @@ -453,13 +459,14 @@ public class OpenRoadmOtnTopologyTest { @Test public void deleteOtnLinksForODU4WhenOTU4HaveBadBWParamsTest() { - List otu4Links = NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.OTU4, 0); + List otu4Links = NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.OTU4, Uint32.valueOf(0)); List otu4LinksWithBadBWParam = new ArrayList<>(); for (Link link : otu4Links) { otu4LinksWithBadBWParam.add(new LinkBuilder(link).removeAugmentation(Link1.class).build()); } TopologyShard topoShard = - OpenRoadmOtnTopology.deleteOtnLinks(otu4LinksWithBadBWParam, NetworkmodelTestUtil.createTpList(true)); + OpenRoadmOtnTopology.deleteOtnLinks(otu4LinksWithBadBWParam, NetworkmodelTestUtil.createTpList(true), + OtnLinkType.OTU4); assertNotNull("TopologyShard should never be null", topoShard); assertNull("list of nodes should be null", topoShard.getNodes()); assertNull("list of links should be null", topoShard.getLinks()); @@ -471,16 +478,16 @@ public class OpenRoadmOtnTopologyTest { // tests update for 10G creation TopologyShard topoShard = OpenRoadmOtnTopology.updateOtnLinks( - NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.ODTU4, 100000), + NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.ODTU4, Uint32.valueOf(100000)), NetworkmodelTestUtil.createTpList(true), - "10G", (short)1, (short)1, false); + Uint32.valueOf(10), (short)1, (short)1, (short)8, false); assertNotNull("TopologyShard should never be null", topoShard); assertNull("list of nodes should be null", topoShard.getNodes()); List sortedLinks = topoShard.getLinks().stream() .sorted((l1, l2) -> l1.getLinkId().getValue().compareTo(l2.getLinkId().getValue())) .collect(Collectors.toList()); assertEquals("list of links should contain 2 links", 2, sortedLinks.size()); - assertTrue(sortedLinks.get(0).getLinkId().getValue().startsWith("ODU4-")); + assertTrue(sortedLinks.get(0).getLinkId().getValue().startsWith("ODTU4-")); assertEquals( "after 10G creation, available BW of supported ODU4 should be 90000", Uint32.valueOf(90000), @@ -495,7 +502,7 @@ public class OpenRoadmOtnTopologyTest { 72, topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getTsPool() @@ -504,7 +511,7 @@ public class OpenRoadmOtnTopologyTest { "trib slot 1-8 should no longer be present in Trib slot list", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getTsPool(), @@ -513,7 +520,7 @@ public class OpenRoadmOtnTopologyTest { "trib slot 9 should always be present in trib slot list", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getTsPool(), @@ -523,7 +530,7 @@ public class OpenRoadmOtnTopologyTest { 79, topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getOdtuTpnPool().values().stream().findFirst() @@ -534,7 +541,7 @@ public class OpenRoadmOtnTopologyTest { "trib port 1 should no longer be present", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getOdtuTpnPool().values().stream().findFirst() @@ -544,13 +551,13 @@ public class OpenRoadmOtnTopologyTest { // tests update for 10G deletion sortedLinks.clear(); - topoShard = OpenRoadmOtnTopology.updateOtnLinks(topoShard.getLinks(), topoShard.getTps(), "10G", (short)1, - (short)1, true); + topoShard = OpenRoadmOtnTopology.updateOtnLinks(topoShard.getLinks(), topoShard.getTps(), Uint32.valueOf(10), + (short)1, (short)1, (short)8, true); sortedLinks = topoShard.getLinks().stream() .sorted((l1, l2) -> l1.getLinkId().getValue().compareTo(l2.getLinkId().getValue())) .collect(Collectors.toList()); assertEquals("list of links should contain 2 links", 2, sortedLinks.size()); - assertTrue(sortedLinks.get(0).getLinkId().getValue().startsWith("ODU4-")); + assertTrue(sortedLinks.get(0).getLinkId().getValue().startsWith("ODTU4-")); assertEquals( "after 10G deletion, available BW of supported ODU4 should be 100 000", Uint32.valueOf(100000), @@ -565,7 +572,7 @@ public class OpenRoadmOtnTopologyTest { 80, topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getTsPool() @@ -574,7 +581,7 @@ public class OpenRoadmOtnTopologyTest { "after 10G deletion, trib slot list should contain items 1-8", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getTsPool(), @@ -584,7 +591,7 @@ public class OpenRoadmOtnTopologyTest { 80, topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getOdtuTpnPool().values().stream().findFirst() @@ -595,7 +602,7 @@ public class OpenRoadmOtnTopologyTest { "after 10G deletion, trib port list should contain items 1", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getOdtuTpnPool().values().stream().findFirst() @@ -609,16 +616,16 @@ public class OpenRoadmOtnTopologyTest { // tests update for 1G creation TopologyShard topoShard = OpenRoadmOtnTopology.updateOtnLinks( - NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.ODTU4, 100000), + NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.ODTU4, Uint32.valueOf(100000)), NetworkmodelTestUtil.createTpList(true), - "1G", (short)1, (short)1, false); + Uint32.valueOf(1), (short)1, (short)1, (short)1, false); assertNotNull("TopologyShard should never be null", topoShard); assertNull("list of nodes should be null", topoShard.getNodes()); List sortedLinks = topoShard.getLinks().stream() .sorted((l1, l2) -> l1.getLinkId().getValue().compareTo(l2.getLinkId().getValue())) .collect(Collectors.toList()); assertEquals("list of links should contain 2 links", 2, sortedLinks.size()); - assertTrue(sortedLinks.get(0).getLinkId().getValue().startsWith("ODU4-")); + assertTrue(sortedLinks.get(0).getLinkId().getValue().startsWith("ODTU4-")); assertEquals( "after 1G creation, available BW of supported ODU4 should be 99000", Uint32.valueOf(99000), @@ -633,7 +640,7 @@ public class OpenRoadmOtnTopologyTest { 79, topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getTsPool() @@ -642,7 +649,7 @@ public class OpenRoadmOtnTopologyTest { "trib slot 1 should no longer be present in Trib slot list", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getTsPool(), @@ -651,7 +658,7 @@ public class OpenRoadmOtnTopologyTest { "trib slot 2 should always be present in Trib slot list", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes().getTsPool(), hasItem(Uint16.valueOf(2))); @@ -660,7 +667,7 @@ public class OpenRoadmOtnTopologyTest { 79, topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getOdtuTpnPool().values().stream().findFirst() @@ -671,7 +678,7 @@ public class OpenRoadmOtnTopologyTest { "trib port 1 should no longer be present in Trib port list", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getOdtuTpnPool().values().stream().findFirst() @@ -685,12 +692,12 @@ public class OpenRoadmOtnTopologyTest { OpenRoadmOtnTopology.updateOtnLinks( topoShard.getLinks(), topoShard.getTps(), - "1G", (short)1, (short)1, true); + Uint32.valueOf(1), (short)1, (short)1, (short)1, true); sortedLinks = topoShard.getLinks().stream() .sorted((l1, l2) -> l1.getLinkId().getValue().compareTo(l2.getLinkId().getValue())) .collect(Collectors.toList()); assertEquals("list of links should contain 2 links", 2, sortedLinks.size()); - assertTrue(sortedLinks.get(0).getLinkId().getValue().startsWith("ODU4-")); + assertTrue(sortedLinks.get(0).getLinkId().getValue().startsWith("ODTU4-")); assertEquals( "after 1G deletion, available BW of supported ODU4 should be 100 000", Uint32.valueOf(100000), @@ -705,7 +712,7 @@ public class OpenRoadmOtnTopologyTest { 80, topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getTsPool() @@ -714,7 +721,7 @@ public class OpenRoadmOtnTopologyTest { "after 1G deletion, trib slot list should contain items 1 and 2", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getTsPool(), @@ -724,7 +731,7 @@ public class OpenRoadmOtnTopologyTest { 80, topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getOdtuTpnPool().values().stream().findFirst() @@ -735,7 +742,7 @@ public class OpenRoadmOtnTopologyTest { "after 1G deletion, trib port list should contain items 1", topoShard.getTps().get(0) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getOdtuTpnPool().values().stream().findFirst() @@ -746,7 +753,7 @@ public class OpenRoadmOtnTopologyTest { @Test public void updateOtnLinksForODU4WhenBWParamsNotPresentTest() { - List odu4Links = NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.ODTU4, 100000); + List odu4Links = NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.ODTU4, Uint32.valueOf(100000)); List odu4LinksWithBadBWParam = new ArrayList<>(); for (Link link : odu4Links) { odu4LinksWithBadBWParam.add(new LinkBuilder(link).removeAugmentation(Link1.class).build()); @@ -755,7 +762,7 @@ public class OpenRoadmOtnTopologyTest { OpenRoadmOtnTopology.updateOtnLinks( odu4LinksWithBadBWParam, NetworkmodelTestUtil.createTpList(true), - "1G", (short)1, (short)1, false); + Uint32.valueOf(1), (short)1, (short)1, (short)10, false); assertNotNull("TopologyShard should never be null", topoShard); assertNull("list of nodes should be null", topoShard.getNodes()); assertNull("list of links should be null", topoShard.getLinks()); @@ -764,12 +771,13 @@ public class OpenRoadmOtnTopologyTest { @Test public void updateOtnLinksForODU4WhenAvailBWNotSufficientTest() { - List odu4LinksWithBadBWParam = NetworkmodelTestUtil.createSuppOTNLinks(OtnLinkType.ODTU4, 8000); + List odu4LinksWithBadBWParam = NetworkmodelTestUtil + .createSuppOTNLinks(OtnLinkType.ODTU4, Uint32.valueOf(8000)); TopologyShard topoShard = OpenRoadmOtnTopology.updateOtnLinks( odu4LinksWithBadBWParam, NetworkmodelTestUtil.createTpList(true), - "10G", (short)1, (short)1, false); + Uint32.valueOf(10), (short)1, (short)1, (short)10, false); assertNotNull("TopologyShard should never be null", topoShard); assertNull("list of nodes should be null", topoShard.getNodes()); assertNull("list of links should be null", topoShard.getLinks()); @@ -778,7 +786,7 @@ public class OpenRoadmOtnTopologyTest { private void checkSpdrNode(Node node) { Uint16 xpdrNb = node - .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Node1.class) + .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210.Node1.class) .getXpdrAttributes().getXpdrNumber(); assertEquals("SPDR-SA1-XPDR" + xpdrNb, node.getNodeId().getValue()); if (xpdrNb.equals(Uint16.valueOf(1))) { @@ -800,7 +808,7 @@ public class OpenRoadmOtnTopologyTest { checkSpdrSwitchingPools( xpdrNb, node.augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Node1.class) + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210.Node1.class) .getSwitchingPools()); List tpList = node.augmentation( org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class) @@ -852,7 +860,7 @@ public class OpenRoadmOtnTopologyTest { assertThat( nbl.getTpList(), containsInAnyOrder(new TpId("XPDR1-NETWORK1"), - new TpId("XPDR1-CLIENT" + nb))); + new TpId("XPDR1-CLIENT" + nb))); } } else if (xpdrNb.equals(Uint16.valueOf(2))) { assertEquals( @@ -876,12 +884,13 @@ public class OpenRoadmOtnTopologyTest { } private void checkSpdrTpList(Uint16 xpdrNb, List tpList) { + LOG.info("tpList = {}", tpList); assertEquals( "only IfOCHOTU4ODU4 interface capabitily expected", IfOCHOTU4ODU4.class, tpList.get(4) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getTpSupportedInterfaces() .getSupportedInterfaceCapability().values().stream().findFirst() @@ -892,7 +901,7 @@ public class OpenRoadmOtnTopologyTest { ODU4.class, tpList.get(4) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() .getRate()); @@ -907,38 +916,70 @@ public class OpenRoadmOtnTopologyTest { assertEquals( "XPDR" + xpdrNb + "-NETWORK1", tpList.get(4).getSupportingTerminationPoint().values().stream().findFirst() - .get().getTpRef()); + .get().getTpRef().getValue()); if (xpdrNb.equals(Uint16.valueOf(1))) { assertEquals("should contain 5 TPs", 5, tpList.size()); assertEquals("XPDR1-CLIENT1", tpList.get(0).getTpId().getValue()); assertEquals("XPDR1-CLIENT2", tpList.get(1).getTpId().getValue()); assertEquals("XPDR1-NETWORK1", tpList.get(4).getTpId().getValue()); assertEquals( - "only If10GEODU2e interface capabitily expected", - If10GEODU2e.class, - tpList.get(2) + "supported interface capability of tp-id XPDR1-CLIENT2 should contain 2 if-cap-type", + 2, + tpList.get(1) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getTpSupportedInterfaces() - .getSupportedInterfaceCapability().values().stream().findFirst() - .get() - .getIfCapType()); + .getSupportedInterfaceCapability().values().size()); assertEquals( - "the rate should be ODU2e", - ODU2e.class, + "supported interface capability of tp-id XPDR1-CLIENT3 should contain 3 if-cap-type", + 3, tpList.get(2) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 + .TerminationPoint1.class) + .getTpSupportedInterfaces() + .getSupportedInterfaceCapability().values().size()); + List sicListClient1 = tpList.get(0) + .augmentation( + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 + .TerminationPoint1.class) + .getTpSupportedInterfaces() + .getSupportedInterfaceCapability().values().stream().collect(Collectors.toList()); + for (SupportedInterfaceCapability supportedInterfaceCapability : sicListClient1) { + assertThat("tp should have 2 if-cap-type: if-10GE-ODU2e, if-10GE-ODU2", + String.valueOf(supportedInterfaceCapability.getIfCapType()), + either(containsString(String.valueOf(If10GEODU2e.class))) + .or(containsString(String.valueOf(If10GEODU2.class)))); + } + List sicListClient3 = tpList.get(3) + .augmentation( + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 + .TerminationPoint1.class) + .getTpSupportedInterfaces() + .getSupportedInterfaceCapability().values().stream().collect(Collectors.toList()); + for (SupportedInterfaceCapability supportedInterfaceCapability : sicListClient3) { + assertThat("tp should have 3 if-cap-type: if-10GE-ODU2e, if-10GE-ODU2, if-10GE", + String.valueOf(supportedInterfaceCapability.getIfCapType()), + either(containsString(String.valueOf(If10GEODU2e.class))) + .or(containsString(String.valueOf(If10GEODU2.class))) + .or(containsString(String.valueOf(If10GE.class)))); + } + assertThat("the rate should be ODU2 or ODU2e", + String.valueOf(tpList.get(2) + .augmentation( + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getXpdrTpPortConnectionAttributes() - .getRate()); + .getRate()), + either(containsString(String.valueOf(ODU2e.class))) + .or(containsString(String.valueOf(ODU2.class)))); assertEquals( "TP should be of type client", OpenroadmTpType.XPONDERCLIENT, tpList.get(2) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210 .TerminationPoint1.class) .getTpType()); assertEquals( @@ -946,7 +987,7 @@ public class OpenRoadmOtnTopologyTest { OpenroadmTpType.XPONDERNETWORK, tpList.get(4) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210 .TerminationPoint1.class) .getTpType()); } else if (xpdrNb.equals(Uint16.valueOf(2))) { @@ -956,37 +997,49 @@ public class OpenRoadmOtnTopologyTest { assertEquals("XPDR2-NETWORK1", tpList.get(4).getTpId().getValue()); assertEquals("XPDR2-NETWORK2", tpList.get(5).getTpId().getValue()); assertEquals( - "only If100GEODU4 interface capabitily expected", - If100GEODU4.class, - tpList.get(2) + "only IfOCHOTU4ODU4 interface capabitily expected", + IfOCHOTU4ODU4.class, + tpList.get(5) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) .getTpSupportedInterfaces() .getSupportedInterfaceCapability().values().stream().findFirst() .get() .getIfCapType()); assertEquals( - "the rate should be ODU4", - ODU4.class, + "supported interface capability of tp should contain 2 IfCapType", + 2, tpList.get(2) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .TerminationPoint1.class) - .getXpdrTpPortConnectionAttributes() - .getRate()); + .getTpSupportedInterfaces() + .getSupportedInterfaceCapability().values().size()); + List sicListClient3 = tpList.get(2) + .augmentation( + org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 + .TerminationPoint1.class) + .getTpSupportedInterfaces() + .getSupportedInterfaceCapability().values().stream().collect(Collectors.toList()); + for (SupportedInterfaceCapability supportedInterfaceCapability : sicListClient3) { + assertThat("tp should have 2 if-cap-type: if-100GE-ODU4, if-100GE", + String.valueOf(supportedInterfaceCapability.getIfCapType()), + either(containsString(String.valueOf(If100GEODU4.class))) + .or(containsString(String.valueOf(If100GE.class)))); + } assertEquals( "TP should be of type client", OpenroadmTpType.XPONDERCLIENT, tpList.get(2) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210 .TerminationPoint1.class) .getTpType()); assertEquals( "TP should be of type network", OpenroadmTpType.XPONDERNETWORK, tpList.get(6) .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130 + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210 .TerminationPoint1.class) .getTpType()); }