Migrate pce module to JUnit5
[transportpce.git] / pce / src / test / java / org / opendaylight / transportpce / pce / networkanalyzer / PceCalculationTest.java
index 46c78cab7c0f3184c4ff423262ef164acc5c06c3..f74a68160554da60d294d94706aa1f47d5642f6b 100644 (file)
  */
 package org.opendaylight.transportpce.pce.networkanalyzer;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.lenient;
+import static org.mockito.Mockito.when;
+
 import java.util.concurrent.ExecutionException;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
 import org.opendaylight.transportpce.common.StringConstants;
+import org.opendaylight.transportpce.common.mapping.PortMapping;
 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;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInput;
-
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRequestInput;
+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.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.NodesKey;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.network.nodes.NodeInfo;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.network.nodes.NodeInfoBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.NodeTypes;
+
+@ExtendWith(MockitoExtension.class)
 public class PceCalculationTest extends AbstractTest {
 
     private PceCalculation pceCalculation;
     private PceConstraintsCalc pceConstraintsCalc;
     private PceResult pceResult = new PceResult();
+    private Mapping mapping;
+
+    @Mock
+    private PortMapping portMapping;
 
-    // setup object
-    @Before
-    public void setUp() throws ExecutionException, InterruptedException {
+    @BeforeEach
+    void setUp() throws ExecutionException, InterruptedException {
         pceResult.setRC("200");
-        PceTestUtils.writeNetworkIntoDataStore(this.getDataBroker(), this.getDataStoreContextUtil(),
+        PceTestUtils.writeNetworkIntoDataStore(getDataBroker(), getDataStoreContextUtil(),
                 TransactionUtils.getNetworkForSpanLoss());
-
         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,
-                null);
+                new NetworkTransactionImpl(getDataBroker()));
+        mapping = new MappingBuilder().setLogicalConnectionPoint("logicalConnectionPoint").setPortQual("xpdr-client")
+            .build();
+        NodeInfo info = new NodeInfoBuilder().setNodeType(NodeTypes.Xpdr).build();
+        Nodes node = new NodesBuilder().withKey(new NodesKey("node")).setNodeId("node").setNodeInfo(info).build();
+        lenient().when(portMapping.getMapping(anyString(), anyString())).thenReturn(mapping);
+        when(portMapping.getNode(anyString())).thenReturn(node);
     }
 
     @Test
-    public void testPceCalculationValues() {
-
+    void testPceCalculationValues() {
+        pceCalculation = new PceCalculation(
+            PceTestData.getPCERequest(),
+            new NetworkTransactionImpl(getDataBroker()),
+            pceConstraintsCalc.getPceHardConstraints(),
+            pceConstraintsCalc.getPceSoftConstraints(),
+            pceResult,
+            portMapping);
         pceCalculation.retrievePceNetwork();
-        Assert.assertEquals(StringConstants.SERVICE_TYPE_100GE, pceCalculation.getServiceType());
-        Assert.assertNotNull(pceCalculation.getReturnStructure());
-
-        Assert.assertNull(pceCalculation.getaendPceNode());
-        Assert.assertNull(pceCalculation.getzendPceNode());
+        assertEquals(StringConstants.SERVICE_TYPE_100GE_T, pceCalculation.getServiceType());
+        assertNotNull(pceCalculation.getReturnStructure());
+        assertNull(pceCalculation.getaendPceNode());
+        assertNull(pceCalculation.getzendPceNode());
     }
 
     @Test
-    public void testPceCalculationValues2() {
-
+    void testPceCalculationValues2() {
         pceCalculation = new PceCalculation(
                 PceTestData.getPathComputationRequestInputWithCoRoutingOrGeneral(),
-                new NetworkTransactionImpl(new RequestProcessor(this.getDataBroker())),
+                new NetworkTransactionImpl(getDataBroker()),
                 pceConstraintsCalc.getPceHardConstraints(),
                 pceConstraintsCalc.getPceSoftConstraints(),
-                pceResult, null);
+                pceResult, portMapping);
         pceCalculation.retrievePceNetwork();
-        Assert.assertEquals(StringConstants.SERVICE_TYPE_100GE, pceCalculation.getServiceType());
-        Assert.assertNotNull(pceCalculation.getReturnStructure());
-
-        Assert.assertNull(pceCalculation.getaendPceNode());
-        Assert.assertNull(pceCalculation.getzendPceNode());
+        assertEquals(StringConstants.SERVICE_TYPE_100GE_T, pceCalculation.getServiceType());
+        assertNotNull(pceCalculation.getReturnStructure());
+        assertNull(pceCalculation.getaendPceNode());
+        assertNull(pceCalculation.getzendPceNode());
     }
 
     @Test
-    public void testPceCalculationValues42() {
-
+    void testPceCalculationValues42() {
         PathComputationRequestInput input = PceTestData.getPathComputationRequestInputWithCoRoutingOrGeneral2();
         pceConstraintsCalc = new PceConstraintsCalc(input,
-                new NetworkTransactionImpl(new RequestProcessor(this.getDataBroker())));
-
+                new NetworkTransactionImpl(getDataBroker()));
         pceCalculation = new PceCalculation(
                 PceTestData.getPCE_test3_request_54(),
-                new NetworkTransactionImpl(new RequestProcessor(this.getDataBroker())),
+                new NetworkTransactionImpl(getDataBroker()),
                 pceConstraintsCalc.getPceHardConstraints(),
                 pceConstraintsCalc.getPceSoftConstraints(),
-                pceResult, null);
-
+                pceResult, portMapping);
         pceCalculation.retrievePceNetwork();
-//        Assert.assertEquals(StringConstants.SERVICE_TYPE_100GE, pceCalculation.getServiceType());
-        Assert.assertNotNull(pceCalculation.getReturnStructure());
-
-        Assert.assertNull(pceCalculation.getaendPceNode());
-        Assert.assertNull(pceCalculation.getzendPceNode());
+        assertEquals(StringConstants.SERVICE_TYPE_100GE_T, pceCalculation.getServiceType());
+        assertNotNull(pceCalculation.getReturnStructure());
+        assertNull(pceCalculation.getaendPceNode());
+        assertNull(pceCalculation.getzendPceNode());
     }
 }