improve test cases in PCE contraints 37/89737/3
authorAhmedEldeeb50 <ahmed.eldeeb.ext@orange.com>
Wed, 13 May 2020 13:30:56 +0000 (15:30 +0200)
committerGuillaume Lambert <guillaume.lambert@orange.com>
Thu, 14 May 2020 15:58:25 +0000 (17:58 +0200)
JIRA: TRNSPRTPCE-209
Signed-off-by: AhmedEldeeb50 <ahmed.eldeeb.ext@orange.com>
Change-Id: I338e6ff0ab31f8ee0889a1a9958d30aefe11ad1a

pce/src/test/java/org/opendaylight/transportpce/pce/PcePathDescriptionTest.java [deleted file]
pce/src/test/java/org/opendaylight/transportpce/pce/constraints/PceConstraintsCalcTest.java
pce/src/test/java/org/opendaylight/transportpce/pce/graph/PceGraphTest.java
pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceCalculationTest.java
pce/src/test/java/org/opendaylight/transportpce/pce/utils/PceTestData.java

diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/PcePathDescriptionTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/PcePathDescriptionTest.java
deleted file mode 100644 (file)
index 6b04f1a..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright © 2020 Orange, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.transportpce.pce;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.opendaylight.transportpce.common.NetworkUtils;
-import org.opendaylight.transportpce.pce.networkanalyzer.PceLink;
-import org.opendaylight.transportpce.pce.networkanalyzer.PceOpticalNode;
-import org.opendaylight.transportpce.pce.networkanalyzer.PceResult;
-import org.opendaylight.transportpce.test.AbstractTest;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
-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.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeKey;
-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.rev180226.networks.network.node.SupportingNodeBuilder;
-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.networks.network.Link;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.DestinationBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.SourceBuilder;
-
-
-
-public class PcePathDescriptionTest extends AbstractTest {
-
-    private List<PceLink> pathAtoZ = null;
-    private List<PceLink> pathZtoA = null;
-    private PceResult rc;
-    private Map<LinkId, PceLink> allPceLinks = null;
-    private static PcePathDescription pcePathDescription = null;
-    private static final String LINK_ID_FORMAT = "%1$s-%2$sto%3$s-%4$s";
-    private PceSendingPceRPCs pceSendingPceRPCs;
-
-    @Before
-    public void setup() {
-
-        Link link = createLink("srcNode", "destNode", "srcTp", "destTp").build();
-
-
-        /*PceOtnNode pceOtnNode =
-        new PceOtnNode(node, OpenroadmNodeType.DEGREE, new NodeId("optical"), ServiceFormat.OTM.getName(), "test");*/
-        //PceLink pceLink = new PceLink(link, pceOpticalNode, pceOpticalNode);
-        /* rc = new PceResult();
-
-        pcePathDescription = new PcePathDescription(List.of(pceLink), new HashMap<>(), rc);*/
-    }
-
-
-    @Test
-    public void buildPceOpticalNodeRoadmTest() {
-        NodeBuilder node1Builder = getNodeBuilder(geSupportingNodes());
-        Node node = node1Builder.build();
-
-        PceOpticalNode pceOpticalNode = new PceOpticalNode(node,
-                OpenroadmNodeType.ROADM, new NodeId("optical"), ServiceFormat.OMS, "test");
-        pceOpticalNode.initSrgTps();
-        pceOpticalNode.initXndrTps();
-        pceOpticalNode.initWLlist();
-        Assert.assertFalse(pceOpticalNode.isValid());
-        Assert.assertFalse(pceOpticalNode.checkWL(12));
-        Assert.assertTrue(pceOpticalNode.checkTP("testTP"));
-    }
-
-    private List<SupportingNode> geSupportingNodes() {
-        List<SupportingNode> supportingNodes1 = new ArrayList<>();
-
-        supportingNodes1
-                .add(new SupportingNodeBuilder()
-                        .setNodeRef(new NodeId("node 2"))
-                        .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
-                        .build());
-        return supportingNodes1;
-    }
-
-    private NodeBuilder getNodeBuilder(List<SupportingNode> supportingNodes1) {
-        return new NodeBuilder()
-                .setNodeId(new NodeId("node 1"))
-                .withKey(new NodeKey(new NodeId("node 1")))
-                .setSupportingNode(supportingNodes1);
-    }
-
-    private static LinkBuilder createLink(String srcNode, String destNode, String srcTp, String destTp) {
-        //create source link
-        SourceBuilder ietfSrcLinkBldr = new SourceBuilder().setSourceNode(new NodeId(srcNode)).setSourceTp(srcTp);
-        //create destination link
-        DestinationBuilder ietfDestLinkBldr = new DestinationBuilder().setDestNode(new NodeId(destNode))
-                .setDestTp(destTp);
-        LinkId linkId = new LinkId(String.format(LINK_ID_FORMAT, srcNode, srcTp, destNode, destTp));
-        return new LinkBuilder()
-                .setSource(ietfSrcLinkBldr.build())
-                .setDestination(ietfDestLinkBldr.build())
-                .setLinkId(linkId)
-                .withKey(new LinkKey(linkId));
-    }
-}
index b6881c131165dbbe92deb623ec221fffd7dc74d6..49f241a34960542a8e473660051302ff05a73591 100644 (file)
@@ -29,21 +29,30 @@ public class PceConstraintsCalcTest extends AbstractTest {
     @Before
     public void setup() throws Exception {
         // networkTransactionService = Mockito.mock(NetworkTransactionService.class);
+        PceTestUtils.writeNetworkIntoDataStore(dataBroker, this.getDataStoreContextUtil(),
+                TransactionUtils.getNetworkForSpanLoss());
         networkTransactionService = new NetworkTransactionImpl(new RequestProcessor(dataBroker));
-        PceTestUtils.writeNetworkIntoDataStore(dataBroker, dataStoreContext, TransactionUtils.getNetworkForSpanLoss());
+
 
     }
 
     @Test
     public void testNoHardOrSoftConstrainsExists() {
+        PceTestData.getPCE_test2_request_54().getSoftConstraints();
         pceConstraintsCalc = new PceConstraintsCalc(PceTestData
                 .getEmptyPCERequest(), networkTransactionService);
     }
 
-    @Test(expected = NullPointerException.class)
+    @Test()
     public void testHardConstrainsExists() {
         pceConstraintsCalc = new PceConstraintsCalc(PceTestData
-                .getPCE_test2_request_54(), networkTransactionService);
+                .getPCE_simpletopology_test1_requestSetHardAndSoftConstrains(), networkTransactionService);
+    }
+
+    @Test()
+    public void testHardConstrainsExists1() {
+        pceConstraintsCalc = new PceConstraintsCalc(PceTestData
+                .getPathComputationRequestInputWithCoRoutingOrGeneral(), networkTransactionService);
     }
 
     @Test
@@ -52,4 +61,22 @@ public class PceConstraintsCalcTest extends AbstractTest {
                 .getPCERequest(), networkTransactionService);
     }
 
+    @Test(expected = Exception.class)
+    public void testHardConstrainsExists2() {
+        pceConstraintsCalc = new PceConstraintsCalc(PceTestData
+                .build_diversity_from_request(PceTestData.getPCERequest()), networkTransactionService);
+    }
+
+    @Test()
+    public void testHardConstrainsExists3() {
+        pceConstraintsCalc = new PceConstraintsCalc(PceTestData
+                .getEmptyPCERequestServiceNameWithRequestId(), networkTransactionService);
+    }
+
+    @Test(expected = Exception.class)
+    public void testHardConstrainsExists4() {
+        pceConstraintsCalc = new PceConstraintsCalc(PceTestData
+                .getPCE_test2_request_54(), networkTransactionService);
+    }
+
 }
index 5eb93435a63cece00568848bc0d7a834ef456bcd..85a956c2365fda6c5185b03a1bd75075e9683f71 100644 (file)
@@ -9,6 +9,7 @@
 package org.opendaylight.transportpce.pce.graph;
 
 import java.util.Map;
+import java.util.Optional;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -22,6 +23,7 @@ import org.opendaylight.transportpce.pce.utils.PceTestData;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInput;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.RoutingConstraintsSp;
 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.topology.rev180226.networks.network.Link;
@@ -47,16 +49,19 @@ public class PceGraphTest {
                 "OpenROADM-3-1-DEG1",
                 "DEG1-TTP-TX", "DEG1-TTP-RX").build();
 
-        node =  NodeUtils.getNodeBuilder(NodeUtils.geSupportingNodes()).build();
+        node = NodeUtils.getNodeBuilder(NodeUtils.geSupportingNodes()).build();
 
         pceOpticalNode = new PceOpticalNode(node,
                 OpenroadmNodeType.SRG, new NodeId("OpenROADM-3-2-DEG1"), ServiceFormat.Ethernet,
                 "DEGREE");
+        pceOpticalNode.checkWL(1);
+        pceOpticalNode.checkWL(2);
 
         pceOpticalNode2 = new PceOpticalNode(node,
                 OpenroadmNodeType.SRG, new NodeId("OpenROADM-3-1-DEG1"), ServiceFormat.Ethernet,
                 "DEGREE");
-
+        pceOpticalNode2.checkWL(1);
+        pceOpticalNode2.checkWL(2);
         pceLink = new PceLink(link, pceOpticalNode, pceOpticalNode2);
         pceLink.setClient("XPONDER-CLIENT");
 
@@ -82,7 +87,19 @@ public class PceGraphTest {
     }
 
     @Test
-    public void clacPathFalse() {
+    public void clacPathPropagationDelay() {
+        pceHardConstraints.setPceMetrics(RoutingConstraintsSp.PceMetric.PropagationDelay);
+        pceGraph.setConstrains(pceHardConstraints, null);
+
+        Assert.assertEquals(pceGraph.calcPath(), true);
+        Assert.assertEquals(Optional.ofNullable(pceGraph.getPathAtoZ().get(0).getLatency()),
+                Optional.ofNullable(30.0));
+        Assert.assertEquals(pceGraph.getReturnStructure().getRate(), -1);
+    }
+
+    @Test
+    public void clacPath100GE() {
+        pceOpticalNode.checkWL(1);
         pceGraph = new PceGraph(pceOpticalNode, pceOpticalNode2, allPceNodes,
                 pceHardConstraints,
                 null, rc,
@@ -92,7 +109,7 @@ public class PceGraphTest {
     }
 
     @Test(expected = Exception.class)
-    public void clacPath1GE() {
+    public void clacPath10GE() {
         pceGraph = new PceGraph(pceOpticalNode, pceOpticalNode2, allPceNodes,
                 pceHardConstraints,
                 null, rc,
index 39f0e709671790fc1396bba2e4e23305a76e433e..74cfbab5bda11f4e483456d76d476ef1ac65f14b 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.transportpce.pce.networkanalyzer;
 
+import java.util.concurrent.ExecutionException;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -14,33 +15,55 @@ import org.opendaylight.transportpce.common.network.NetworkTransactionImpl;
 import org.opendaylight.transportpce.common.network.RequestProcessor;
 import org.opendaylight.transportpce.pce.constraints.PceConstraintsCalc;
 import org.opendaylight.transportpce.pce.utils.PceTestData;
+import org.opendaylight.transportpce.pce.utils.PceTestUtils;
+import org.opendaylight.transportpce.pce.utils.TransactionUtils;
 import org.opendaylight.transportpce.test.AbstractTest;
 
+
 public class PceCalculationTest extends AbstractTest {
 
     private PceCalculation pceCalculation;
+    private PceConstraintsCalc pceConstraintsCalc;
+    private PceResult pceResult = new PceResult();
 
     // setup object
     @Before
-    public void setUp() {
-        PceResult pceResult = new PceResult();
+    public void setUp() throws ExecutionException, InterruptedException {
         pceResult.setRC("200");
+        PceTestUtils.writeNetworkIntoDataStore(this.getDataBroker(), this.getDataStoreContextUtil(),
+                TransactionUtils.getNetworkForSpanLoss());
+        pceConstraintsCalc = new PceConstraintsCalc(PceTestData.getPCERequest(),
+                new NetworkTransactionImpl(new RequestProcessor(this.getDataBroker())));
 
-        PceConstraintsCalc pceConstraintsCalc = new PceConstraintsCalc(PceTestData
-                .getPCERequest(), new NetworkTransactionImpl(new RequestProcessor(this.getDataBroker())));
         pceCalculation = new PceCalculation(
                 PceTestData.getPCERequest(),
                 new NetworkTransactionImpl(new RequestProcessor(this.getDataBroker())),
                 pceConstraintsCalc.getPceHardConstraints(),
                 pceConstraintsCalc.getPceSoftConstraints(),
                 pceResult);
+    }
 
+    @Test
+    public void testPceCalculationValues() {
 
+        pceCalculation.retrievePceNetwork();
+        Assert.assertEquals("100GE", pceCalculation.getServiceType());
+        Assert.assertNotNull(pceCalculation.getReturnStructure());
+
+        Assert.assertNull(pceCalculation.getaendPceNode());
+        Assert.assertNull(pceCalculation.getzendPceNode());
     }
 
+
     @Test
-    public void testPceCalculationValues() {
+    public void testPceCalculationValues2() {
 
+        pceCalculation = new PceCalculation(
+                PceTestData.getPathComputationRequestInputWithCoRoutingOrGeneral(),
+                new NetworkTransactionImpl(new RequestProcessor(this.getDataBroker())),
+                pceConstraintsCalc.getPceHardConstraints(),
+                pceConstraintsCalc.getPceSoftConstraints(),
+                pceResult);
         pceCalculation.retrievePceNetwork();
         Assert.assertEquals("100GE", pceCalculation.getServiceType());
         Assert.assertNotNull(pceCalculation.getReturnStructure());
index 3c78abc58d1276a98f1827dc11872593adfce77f..8aa64753e520a14bcb0e4064ebdd8edf8ccafa75 100644 (file)
@@ -40,6 +40,7 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.include_.OrderedHopsBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.diversity.existing.service.contraints.sp.ExistingServiceApplicability;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.diversity.existing.service.contraints.sp.ExistingServiceApplicabilityBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.ordered.constraints.sp.HopTypeBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.HardConstraints;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.HardConstraintsBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.SoftConstraints;
@@ -54,7 +55,6 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.handler.header.ServiceHandlerHeaderBuilder;
 
 
-
 public final class PceTestData {
 
     private PceTestData() {
@@ -409,20 +409,18 @@ public final class PceTestData {
                 .setServiceZEnd(serviceZEnd)
                 .setHardConstraints(new HardConstraintsBuilder()
                         .setCoRoutingOrGeneral(new GeneralBuilder()
-                                .setExclude(new ExcludeBuilder()
-                                        .setNodeId(Arrays.asList("OpenROADM-2-2"))
-                                        .build())
-                                .setLatency(new LatencyBuilder()
-                                        .setMaxLatency(3223L).build())
-                                .setInclude(new IncludeBuilder()
-                                        .setOrderedHops(
-                                                Arrays.asList(new OrderedHopsBuilder()
-                                                        .setHopNumber(22)
-                                                        // .setHopType(new HopTypeBuilder()
-                                                        // .setHopType(new ClliBuilder().getClli())
-                                                        .build()))
-                                        .build())
-                                .build())
+                                  .setExclude(new ExcludeBuilder()
+                                          .setNodeId(Arrays.asList("OpenROADM-2-2"))
+                                          .build())
+                                  .setLatency(new LatencyBuilder().setMaxLatency(3223L).build())
+                                  .setInclude(new IncludeBuilder()
+                                          .setOrderedHops(Arrays.asList(new OrderedHopsBuilder()
+                                                  .setHopNumber(22)
+                                                  .setHopType(new HopTypeBuilder()
+                                                          .setHopType(new HopTypeBuilder().getHopType()).build())
+                                                  .build()))
+                                          .build())
+                                  .build())
                         .build())
                 .build();
         return input;
@@ -656,6 +654,8 @@ public final class PceTestData {
                 .setServiceZEnd(serviceZEnd)
                 .setHardConstraints(new HardConstraintsBuilder()
                         .setCoRoutingOrGeneral(new GeneralBuilder()
+                                .setLatency(new LatencyBuilder()
+                                        .setMaxLatency(3223L).build())
                                 .setDiversity(new DiversityBuilder()
                                         .setExistingService(Arrays.asList(base.getServiceName()))
                                         .setExistingServiceApplicability(nodeTrue)