From 2e7347dac70ba667dcfc8b4d35bc45faf09a5d46 Mon Sep 17 00:00:00 2001 From: shaaban Altanany Date: Tue, 31 Mar 2020 10:45:40 +0200 Subject: [PATCH] adding some pce unit tests and remove ignore from olm class Change-Id: Id6325fdf47100b4bdc75c5cacd826f18cda12eca Signed-off-by: ShaabanEltanany --- olm/pom.xml | 2 +- .../olm/OlmPowerServiceRpcImplTest.java | 3 +- .../transportpce/olm/power/PowerMgmtTest.java | 8 +- .../OlmPowerServiceImplSpanLossBaseTest.java | 3 +- .../olm/service/OlmPowerServiceImplTest.java | 2 +- pce/pom.xml | 32 +++++ .../pce/PceComplianceCheckResultTest.java | 23 ++++ .../pce/PceSendingPceRPCsTest.java | 51 +++++++ .../transportpce/pce/SortPortsByNameTest.java | 33 +++++ .../pce/constraints/PceConstraintsTest.java | 106 +++++++++++++++ .../networkanalyzer/PceCalculationTest.java | 50 +++++++ .../PathComputationServiceImplTest.java | 36 +++++ .../transportpce/pce/utils/PceTestData.java | 2 +- pom.xml | 125 +++++++++--------- 14 files changed, 404 insertions(+), 72 deletions(-) create mode 100644 pce/src/test/java/org/opendaylight/transportpce/pce/PceComplianceCheckResultTest.java create mode 100644 pce/src/test/java/org/opendaylight/transportpce/pce/PceSendingPceRPCsTest.java create mode 100644 pce/src/test/java/org/opendaylight/transportpce/pce/SortPortsByNameTest.java create mode 100644 pce/src/test/java/org/opendaylight/transportpce/pce/constraints/PceConstraintsTest.java create mode 100644 pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceCalculationTest.java create mode 100644 pce/src/test/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImplTest.java diff --git a/olm/pom.xml b/olm/pom.xml index 234638fdb..e0b3abc46 100644 --- a/olm/pom.xml +++ b/olm/pom.xml @@ -33,7 +33,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.mockito mockito-core - 2.25.0 + 3.2.4 test diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java index 470b12116..3b21afe7a 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java @@ -15,7 +15,6 @@ import java.util.Optional; import java.util.concurrent.ExecutionException; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; import org.opendaylight.mdsal.binding.api.MountPoint; @@ -74,7 +73,7 @@ import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.common.Uint64; -@Ignore + public class OlmPowerServiceRpcImplTest extends AbstractTest { private MountPoint mountPoint; diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java index af83eb3a1..d22638769 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java @@ -11,7 +11,6 @@ package org.opendaylight.transportpce.olm.power; import java.util.List; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; import org.opendaylight.mdsal.binding.api.MountPoint; @@ -42,7 +41,7 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev17 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.ServicePowerTurndownInput; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId; -@Ignore + public class PowerMgmtTest extends AbstractTest { private MountPoint mountPoint; @@ -64,7 +63,7 @@ public class PowerMgmtTest extends AbstractTest { public void setUp() { this.mountPoint = new MountPointStub(this.getDataBroker()); this.mountPointService = new MountPointServiceStub(mountPoint); - this.mappingUtils = new MappingUtilsImpl(getDataBroker()); + // this.mappingUtils = new MappingUtilsImpl(getDataBroker()); this.mappingUtils = Mockito.spy(new MappingUtilsImpl(getDataBroker())); Mockito.doReturn(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1).when(mappingUtils) .getOpenRoadmVersion(Mockito.anyString()); @@ -82,7 +81,8 @@ public class PowerMgmtTest extends AbstractTest { new PortMappingVersion221(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces); this.portMappingVersion121 = new PortMappingVersion121(getDataBroker(), deviceTransactionManager, this.openRoadmInterfaces); - this.portMapping = new PortMappingImpl(getDataBroker(), this.portMappingVersion22, this.portMappingVersion121); + this.portMapping = new PortMappingImpl(getDataBroker(), + this.portMappingVersion22, this.portMappingVersion121); this.portMapping = Mockito.spy(this.portMapping); this.powerMgmt = new PowerMgmtImpl(this.getDataBroker(), this.openRoadmInterfaces, this.crossConnect, this.deviceTransactionManager); diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplSpanLossBaseTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplSpanLossBaseTest.java index 1c620a233..7237f33f8 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplSpanLossBaseTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplSpanLossBaseTest.java @@ -13,7 +13,6 @@ import java.util.Optional; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; @@ -59,7 +58,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Ignore + public class OlmPowerServiceImplSpanLossBaseTest extends AbstractTest { private static final Logger LOG = LoggerFactory.getLogger(OlmPowerServiceImplSpanLossBaseTest.class); diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java index c44679926..5ef9de0bf 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java @@ -71,7 +71,7 @@ import org.powermock.api.mockito.PowerMockito; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Ignore + public class OlmPowerServiceImplTest extends AbstractTest { private static final Logger LOG = LoggerFactory.getLogger(OlmPowerServiceImplTest.class); diff --git a/pce/pom.xml b/pce/pom.xml index 8f0c8c9bb..229dc199d 100644 --- a/pce/pom.xml +++ b/pce/pom.xml @@ -45,6 +45,38 @@ Author: Martial Coulibaly on behalf of Orange 3.0.2 true + + + org.opendaylight.transportpce + test-common + 2.0.0-SNAPSHOT + test + + + + org.mockito + mockito-core + 2.25.0 + test + + + org.powermock + powermock-core + 2.0.2 + test + + + org.powermock + powermock-api-mockito2 + 2.0.2 + test + + + org.powermock + powermock-module-junit4 + 2.0.2 + test + diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/PceComplianceCheckResultTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/PceComplianceCheckResultTest.java new file mode 100644 index 000000000..a7e1f17fa --- /dev/null +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/PceComplianceCheckResultTest.java @@ -0,0 +1,23 @@ +/* + * Copyright © 2020 Orange Labs, 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.utils; + +import org.junit.Assert; +import org.junit.Test; +import org.opendaylight.transportpce.pce.PceComplianceCheckResult; + +public class PceComplianceCheckResultTest { + + PceComplianceCheckResult pceComplianceCheckResult = new PceComplianceCheckResult(false, "message"); + + @Test + public void checkGetter() { + Assert.assertEquals(false, pceComplianceCheckResult.hasPassed()); + Assert.assertNotNull(pceComplianceCheckResult.getMessage()); + } +} diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/PceSendingPceRPCsTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/PceSendingPceRPCsTest.java new file mode 100644 index 000000000..d94f58319 --- /dev/null +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/PceSendingPceRPCsTest.java @@ -0,0 +1,51 @@ +/* + * Copyright © 2020 Orange Labs, 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 org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.opendaylight.transportpce.pce.utils.PceTestData; + +public class PceSendingPceRPCsTest { + + private PceSendingPceRPCs pceSendingPceRPCs; + + @Before + public void setUp() { + pceSendingPceRPCs = new PceSendingPceRPCs(PceTestData.getPCE_test1_request_54(), null); + } + + @Test + public void cancelResourceReserve() { + pceSendingPceRPCs.cancelResourceReserve(); + Assert.assertEquals(true, pceSendingPceRPCs.getSuccess()); + } + + @Test + public void pathComputationTest() throws Exception { + + pceSendingPceRPCs.pathComputation(); + + } + + @Test + public void checkMessage() { + Assert.assertNull(pceSendingPceRPCs.getMessage()); + } + + @Test + public void responseCodeTest() { + Assert.assertNull(pceSendingPceRPCs.getResponseCode()); + } + + @Test + public void pathComputationWithConstraintsTest() { + pceSendingPceRPCs.pathComputationWithConstraints(null, null); + } +} diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/SortPortsByNameTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/SortPortsByNameTest.java new file mode 100644 index 000000000..1c1470ebf --- /dev/null +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/SortPortsByNameTest.java @@ -0,0 +1,33 @@ +/* + * Copyright © 2020 Orange Labs, 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 org.junit.Assert; +import org.junit.Test; + +public class SortPortsByNameTest { + + private SortPortsByName sortPortsByName = new SortPortsByName(); + + @Test + public void compareTest() { + Assert.assertEquals(12, sortPortsByName.compare("value22", "valu10")); + } + + @Test + public void compareWithoutNUM() { + Assert.assertEquals(0, sortPortsByName.compare("value", "value")); + } + + @Test + public void compareLessThan() { + Assert.assertEquals(-11, sortPortsByName.compare("value1", "value12")); + } + + +} diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/constraints/PceConstraintsTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/constraints/PceConstraintsTest.java new file mode 100644 index 000000000..e462b79be --- /dev/null +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/constraints/PceConstraintsTest.java @@ -0,0 +1,106 @@ +/* + * 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.constraints; + +import java.util.ArrayList; +import java.util.List; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import org.opendaylight.transportpce.test.AbstractTest; + +public class PceConstraintsTest extends AbstractTest { + private static PceConstraints pceConstraints = new PceConstraints(); + + @Before + public void setup() { + pceConstraints = new PceConstraints(); + } + + @Test + public void setAndGetMaxLatencyTest() { + Assert.assertEquals(-1, this.pceConstraints.getMaxLatency().intValue()); + pceConstraints.setMaxLatency(-2L); + Assert.assertEquals(-2, this.pceConstraints.getMaxLatency().intValue()); + } + + @Test + public void setAndGetExcludeSupNodesTest() { + Assert.assertEquals(0, this.pceConstraints.getExcludeSupNodes().size()); + List nodes = new ArrayList<>(); + nodes.add("test"); + this.pceConstraints.setExcludeSupNodes(nodes); + Assert.assertEquals(1, this.pceConstraints.getExcludeSupNodes().size()); + } + + @Test + public void setAndGetExcludeSRLGTest() { + Assert.assertEquals(0, this.pceConstraints.getExcludeSRLG().size()); + List nodes = new ArrayList<>(); + nodes.add(1L); + this.pceConstraints.setExcludeSRLG(nodes); + Assert.assertEquals(1, this.pceConstraints.getExcludeSRLG().size()); + } + + @Test + public void setAndGetExcludeCLLITest() { + Assert.assertEquals(0, this.pceConstraints.getExcludeCLLI().size()); + List nodes = new ArrayList<>(); + nodes.add("test"); + this.pceConstraints.setExcludeCLLI(nodes); + Assert.assertEquals(1, this.pceConstraints.getExcludeCLLI().size()); + } + + @Test + public void setAndGetExcludeClliNodesTest() { + Assert.assertEquals(0, this.pceConstraints.getExcludeClliNodes().size()); + List nodes = new ArrayList<>(); + nodes.add("test"); + this.pceConstraints.setExcludeClliNodes(nodes); + Assert.assertEquals(1, this.pceConstraints.getExcludeClliNodes().size()); + } + + @Test + public void setAndGetExcludeSrlgLinksTest() { + Assert.assertEquals(0, this.pceConstraints.getExcludeSrlgLinks().size()); + List nodes = new ArrayList<>(); + nodes.add("test"); + this.pceConstraints.setExcludeSrlgLinks(nodes); + Assert.assertEquals(1, this.pceConstraints.getExcludeSrlgLinks().size()); + } + + @Test + public void setAndGetExcludeNodesTest() { + Assert.assertEquals(0, this.pceConstraints.getExcludeNodes().size()); + List nodes = new ArrayList<>(); + nodes.add("test"); + this.pceConstraints.setExcludeNodes(nodes); + Assert.assertEquals(1, this.pceConstraints.getExcludeNodes().size()); + } + + @Test + public void setAndGetIncludeNodesTest() { + Assert.assertEquals(0, this.pceConstraints.getIncludeNodes().size()); + List nodes = new ArrayList<>(); + nodes.add("test"); + this.pceConstraints.setIncludeNodes(nodes); + Assert.assertEquals(1, this.pceConstraints.getIncludeNodes().size()); + } + + @Test + public void getTypeAndNameOfResourcePairTest() { + PceConstraints.ResourcePair resourcePair = new PceConstraints + .ResourcePair(PceConstraints.ResourceType.CLLI, "test"); + Assert.assertEquals(resourcePair.getType(), PceConstraints.ResourceType.CLLI); + Assert.assertEquals("test", resourcePair.getName()); + + } + +} diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceCalculationTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceCalculationTest.java new file mode 100644 index 000000000..e26e306f3 --- /dev/null +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceCalculationTest.java @@ -0,0 +1,50 @@ +/* + * Copyright © 2020 Orange Labs, 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.utils.networkanalyzer; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.opendaylight.transportpce.common.network.NetworkTransactionImpl; +import org.opendaylight.transportpce.common.network.RequestProcessor; +import org.opendaylight.transportpce.pce.networkanalyzer.PceCalculation; +import org.opendaylight.transportpce.pce.networkanalyzer.PceResult; +import org.opendaylight.transportpce.pce.utils.PceTestData; +import org.opendaylight.transportpce.test.AbstractTest; + +public class PceCalculationTest extends AbstractTest { + + private PceCalculation pceCalculation; + + // setup object + @Before + public void setUp() { + PceResult pceResult = new PceResult(); + pceResult.setRC("200"); + + pceCalculation = new PceCalculation( + PceTestData.getPCERequest(), + new NetworkTransactionImpl(new RequestProcessor(this.getDataBroker())), + null, + null, + pceResult); + + + } + + @Test + public void testPceCalculationValues() { + + pceCalculation.retrievePceNetwork(); + Assert.assertEquals("100GE", pceCalculation.getServiceType()); + Assert.assertNotNull(pceCalculation.getReturnStructure()); + + Assert.assertNull(pceCalculation.getaendPceNode()); + Assert.assertNull(pceCalculation.getzendPceNode()); + } +} diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImplTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImplTest.java new file mode 100644 index 000000000..71d57e075 --- /dev/null +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImplTest.java @@ -0,0 +1,36 @@ +/* + * Copyright © 2020 Orange Labs, 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.utils.service; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.opendaylight.transportpce.common.network.NetworkTransactionImpl; +import org.opendaylight.transportpce.common.network.RequestProcessor; +import org.opendaylight.transportpce.pce.service.PathComputationServiceImpl; +import org.opendaylight.transportpce.pce.utils.PceTestData; +import org.opendaylight.transportpce.test.AbstractTest; + +public class PathComputationServiceImplTest extends AbstractTest { + + private PathComputationServiceImpl pathComputationServiceImpl; + + @Before + public void setUp() { + pathComputationServiceImpl = new PathComputationServiceImpl( + new NetworkTransactionImpl(new RequestProcessor(this.getDataBroker())), + this.getNotificationPublishService()); + pathComputationServiceImpl.init(); + } + + @Test + public void pathComputationRequestTest() { + Assert.assertNotNull(pathComputationServiceImpl.pathComputationRequest(PceTestData.getPCERequest())); + pathComputationServiceImpl.close(); + } +} diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/utils/PceTestData.java b/pce/src/test/java/org/opendaylight/transportpce/pce/utils/PceTestData.java index 5439cab01..b822b7a8b 100644 --- a/pce/src/test/java/org/opendaylight/transportpce/pce/utils/PceTestData.java +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/utils/PceTestData.java @@ -69,7 +69,7 @@ public final class PceTestData { .build(); ServiceAEnd serviceAEnd = new ServiceAEndBuilder() .setServiceFormat(ServiceFormat.Ethernet) - .setServiceRate(0L) + .setServiceRate(100L) .setClli("clli11") .setNodeId("XPONDER-2-2") .setTxDirection(new TxDirectionBuilder().setPort( diff --git a/pom.xml b/pom.xml index 211cc5a36..9d491d5ab 100644 --- a/pom.xml +++ b/pom.xml @@ -5,71 +5,74 @@ 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 INTERNAL --> - - 4.0.0 + + 4.0.0 - - org.opendaylight.odlparent - odlparent - 6.0.4 - - + + org.opendaylight.odlparent + odlparent + 6.0.4 + + - org.opendaylight.transportpce - transportpce-aggregator - 2.0.0-SNAPSHOT - transportpce - pom + org.opendaylight.transportpce + transportpce-aggregator + 2.0.0-SNAPSHOT + transportpce + pom - - scm:git:ssh://git.opendaylight.org:29418/transportpce.git - scm:git:ssh://git.opendaylight.org:29418/transportpce.git - HEAD - https://wiki.opendaylight.org/view/transportpce:Main - + + scm:git:ssh://git.opendaylight.org:29418/transportpce.git + scm:git:ssh://git.opendaylight.org:29418/transportpce.git + HEAD + https://wiki.opendaylight.org/view/transportpce:Main + - - ordmodels - tapimodels - api - common - test-common - renderer - networkmodel - inventory - olm - pce - servicehandler - tapi - features - karaf - + + ordmodels + tapimodels + api + common + test-common + renderer + networkmodel + inventory + olm + pce + servicehandler + tapi + features + karaf + - - - - org.apache.maven.plugins - maven-deploy-plugin - - true - - - - org.apache.maven.plugins - maven-install-plugin - - true - - - - org.apache.maven.plugins - maven-javadoc-plugin - - */target/generated-sources/mdsal-binding/* - * - - - - + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + org.apache.maven.plugins + maven-install-plugin + + true + + + + org.apache.maven.plugins + maven-javadoc-plugin + + */target/generated-sources/mdsal-binding/* + * + + + + + + -- 2.36.6