package org.opendaylight.transportpce.pce.networkanalyzer;
-import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
import org.junit.Assert;
import org.opendaylight.transportpce.common.mapping.PortMapping;
import org.opendaylight.transportpce.test.AbstractTest;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.RatioDB;
-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.TerminationPoint1Builder;
+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.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.link.rev200529.span.attributes.LinkConcatenation;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.OMSAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.SpanBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.span.attributes.LinkConcatenation1.FiberType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.span.attributes.LinkConcatenation1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.networks.network.link.OMSAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.networks.network.link.oms.attributes.SpanBuilder;
+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.link.concatenation.LinkConcatenation;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.link.concatenation.LinkConcatenationBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.link.concatenation.LinkConcatenationKey;
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.NodeId;
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.SupportingNodeBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNodeKey;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.LinkId;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPoint;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointKey;
+import org.opendaylight.yangtools.yang.common.Decimal64;
import org.opendaylight.yangtools.yang.common.Uint32;
@Before
public void setup() {
- MockitoAnnotations.initMocks(this);
+ MockitoAnnotations.openMocks(this);
}
@Test
OpenroadmNodeType.SRG, StringConstants.OPENROADM_DEVICE_VERSION_2_2_1,
GridConstant.SLOT_WIDTH_50, GridConstant.SLOT_WIDTH_50);
pceLink = new PceLink(link, pceOpticalNode, pceOpticalNode);
-
}
@Test
GridConstant.SLOT_WIDTH_50, GridConstant.SLOT_WIDTH_50);
pceLink = new PceLink(link, pceOpticalNode, pceOpticalNode);
Assert.assertNotNull(MapUtils.getOmsAttributesSpan(link));
- Assert.assertNotNull(pceLink.calcSpanOSNR());
+ Assert.assertNotNull(pceLink.getosnr());
Assert.assertEquals(1, pceLink.getsrlgList().size());
- Assert.assertTrue(7.857119000000001 == pceLink.calcSpanOSNR());
+ Assert.assertTrue(7.857119000000001 == pceLink.getosnr());
Assert.assertNull(pceLink.getOppositeLink());
Assert.assertNull(pceLink.getOppositeLink());
Assert.assertNotNull(pceLink.getDestTP());
Assert.assertNotNull(pceLink.getUsedBandwidth());
Assert.assertNotNull(pceLink.getsourceNetworkSupNodeId());
Assert.assertNotNull(pceLink.getdestNetworkSupNodeId());
- Assert.assertNotNull(pceLink.getosnr());
Assert.assertNotNull(pceLink.getSourceTP());
Assert.assertNotNull(pceLink.getsourceCLLI());
Assert.assertNotNull(pceLink.getdestCLLI());
Assert.assertTrue(pceLink.toString().equals("PceLink type=" + pceLink.getlinkType()
+ " ID=" + pceLink.getLinkId().getValue() + " latency=" + pceLink.getLatency().intValue()));
-
- }
-
- @Test(expected = NullPointerException.class)
- public void testPceOTNNode() {
- NodeBuilder node1Builder = getNodeBuilder(geSupportingNodes());
- Node node = node1Builder.build();
- Assert.assertNotNull(node.augmentation(Node1.class));
- // OpenroadmNodeType nodeType = node.augmentation(Node1.class).;
-
- PceOtnNode pceOtnNode = new PceOtnNode(node, OpenroadmNodeType.SRG, node.getNodeId(), "otn", "serviceType",
- null);
-
}
private static LinkBuilder createOTNLink(String srcNode, String destNode, String srcTp, String destTp) {
.setLinkType(OpenroadmLinkType.OTNLINK)
.setOperationalState(State.InService)
.setAdministrativeState(AdminStates.InService);
-
//create source link
return createLinkBuilder(srcNode, destNode, srcTp, destTp, link1Builder);
-
}
private static LinkBuilder createXponderLink(String srcNode, String destNode, String srcTp, String destTp) {
.setLinkType(OpenroadmLinkType.XPONDERINPUT)
.setAdministrativeState(AdminStates.InService)
.setOperationalState(State.InService);
-
//create source link
return createLinkBuilder(srcNode, destNode, srcTp, destTp, link1Builder);
-
}
private static LinkBuilder createLinkBuilder(
//For setting up attributes for openRoadm augment
LinkConcatenation linkConcatenation = new LinkConcatenationBuilder()
.withKey(new LinkConcatenationKey(Uint32.valueOf(1)))
- .setSRLGLength(Uint32.valueOf(20))
- .setFiberType(LinkConcatenation.FiberType.Dsf)
+ .setSRLGLength(Decimal64.valueOf("20"))
+ .addAugmentation(new LinkConcatenation1Builder()
+ .setFiberType(FiberType.Dsf)
+ .build())
.build();
OMSAttributesBuilder omsAttributesBuilder =
new OMSAttributesBuilder()
.setSpan(new SpanBuilder()
- .setSpanlossCurrent(new RatioDB(new BigDecimal("55")))
+ .setSpanlossCurrent(new RatioDB(Decimal64.valueOf("55")))
.setLinkConcatenation(Map.of(linkConcatenation.key(),
linkConcatenation
)).build());
linkBuilder.addAugmentation(link1Builder.build());
- org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder linkBuilderNetworkLink
- = new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder()
+ org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.Link1Builder linkBuilderNetworkLink
+ = new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.Link1Builder()
.setOMSAttributes(omsAttributesBuilder
.build());
-
linkBuilder.addAugmentation(linkBuilderNetworkLink.build());
-
return linkBuilder;
}
.setOperationalState(State.InService)
.setLinkType(OpenroadmLinkType.ROADMTOROADM);
return createLinkBuilder(srcNode, destNode, srcTp, destTp, link1Builder);
-
}
private static LinkBuilder createRoadmToRoadmWithoutLinkLatency(
Link1Builder link1Builder = new Link1Builder()
.setLinkType(OpenroadmLinkType.ROADMTOROADM);
return createLinkBuilder(srcNode, destNode, srcTp, destTp, link1Builder);
-
}
private Map<SupportingNodeKey,SupportingNode> geSupportingNodes() {
}
private NodeBuilder getNodeBuilder(Map<SupportingNodeKey,SupportingNode> supportingNodes1) {
-
-
//update tp of nodes
TerminationPointBuilder xpdrTpBldr = new TerminationPointBuilder()
.withKey(new TerminationPointKey(new TpId("xpdr")));
TerminationPoint xpdr = xpdrTpBldr.build();
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 node1 =
new Node1Builder().setTerminationPoint(Map.of(xpdr.key(),xpdr)).build();
- org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 node11 =
- new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder()
+ org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Node1 node11 =
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Node1Builder()
.setOperationalState(State.InService).setAdministrativeState(AdminStates.InService).build();
-
-
return new NodeBuilder()
.setNodeId(new NodeId("node 1"))
.withKey(new NodeKey(new NodeId("node 1")))