From 0b526c76d3bcdf793726be9e797151d585fedc2f Mon Sep 17 00:00:00 2001 From: Sandeep Shah Date: Tue, 18 Feb 2020 21:38:48 -0600 Subject: JUNIT tests for SDNR OOFPCIPOC JUNIT test cases for provider classes of OOFPCIPOC SDNR feature Issue-ID: CCSDK-2105 Signed-off-by: SandeepLinux Change-Id: I6d1e79d47198bf145b5f880a73ea32a5b8b5b23c --- sdnr/northbound/oofpcipoc/provider/pom.xml | 99 +++++++++----------- .../northbound/oofpcipoc/OofpcipocClientTest.java | 85 +++++++++++++++++ .../sdnr/northbound/oofpcipoc/TestOofpcipoc.java | 104 +++++++++++++++++++++ 3 files changed, 232 insertions(+), 56 deletions(-) create mode 100644 sdnr/northbound/oofpcipoc/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocClientTest.java create mode 100644 sdnr/northbound/oofpcipoc/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/TestOofpcipoc.java (limited to 'sdnr/northbound/oofpcipoc') diff --git a/sdnr/northbound/oofpcipoc/provider/pom.xml b/sdnr/northbound/oofpcipoc/provider/pom.xml index c9ad66f63..f3ac13e30 100644 --- a/sdnr/northbound/oofpcipoc/provider/pom.xml +++ b/sdnr/northbound/oofpcipoc/provider/pom.xml @@ -39,17 +39,11 @@ ${project.version} + ${project.version} - - org.opendaylight.controller - mdsal-artifacts - 1.6.1 - pom - import - org.onap.ccsdk.sli.core sli-core-artifacts @@ -59,33 +53,43 @@ + org.onap.ccsdk.features.sdnr.northbound oofpcipoc-model ${project.version} - + org.opendaylight.controller sal-binding-api + + + org.onap.ccsdk.sli.core + sli-common + + + org.onap.ccsdk.sli.core + sli-provider + org.opendaylight.controller - sal-common-util + sal-test-model + test org.opendaylight.controller - sal-core-api + sal-binding-broker-impl + test - org.opendaylight.yangtools - yang-data-impl + org.opendaylight.controller + sal-binding-broker-impl + test-jar + tests + test junit @@ -97,52 +101,35 @@ mockito-core test + + org.testng + testng + test + - org.onap.ccsdk.sli.core - sli-common - provided + org.opendaylight.controller + sal-common-util - org.onap.ccsdk.sli.core - sli-provider - provided + org.opendaylight.controller + sal-core-api + - org.onap.ccsdk.sli.core - utils-provider - + org.opendaylight.yangtools + yang-data-impl + + + org.opendaylight.controller + sal-binding-broker-impl + test-jar + tests + test + + - - - - - org.eclipse.m2e - lifecycle-mapping - 1.0.0 - - - - - - org.codehaus.mojo - properties-maven-plugin - [1.0.0,) - - set-system-properties - - - - - - - - - - - - - + diff --git a/sdnr/northbound/oofpcipoc/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocClientTest.java b/sdnr/northbound/oofpcipoc/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocClientTest.java new file mode 100644 index 000000000..01fa23fbe --- /dev/null +++ b/sdnr/northbound/oofpcipoc/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/OofpcipocClientTest.java @@ -0,0 +1,85 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.ccsdk.features.sdnr.northbound.oofpcipoc; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +import java.util.Properties; + +import org.junit.Before; +import org.junit.Test; +import org.onap.ccsdk.sli.core.sli.SvcLogicException; +import org.onap.ccsdk.sli.core.sli.provider.MdsalHelper; +import org.onap.ccsdk.sli.core.sli.provider.SvcLogicService; + +import org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.OofpcipocClient; + +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.GreetingOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.ConfigurationPhyCellIdOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.AddNeighborOutputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.DeleteNeighborOutputBuilder; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class OofpcipocClientTest { + + SvcLogicService mockSvcLogicService; + String module = "test-module"; + String rpc = "test-rpc"; + String version = "test-version"; + String mode = "test-mode"; + Properties localProp = new Properties(); + + @Before + public void setUp() throws Exception { + mockSvcLogicService = mock(SvcLogicService.class); + when(mockSvcLogicService.hasGraph(module, rpc, version, mode)).thenReturn(true); + } + + @Test + public void testOofpcipocClientConstructor() { + OofpcipocClient oofpcipocClient = new OofpcipocClient(mockSvcLogicService); + assertNotNull(oofpcipocClient); + } + + @Test + public void testHasGraph() throws SvcLogicException { + OofpcipocClient oofpcipocClient = new OofpcipocClient(mockSvcLogicService); + boolean result = oofpcipocClient.hasGraph(module, rpc, version, mode); + assertTrue(result); + } + + @Test + public void testExecuteSvcLogicStatusFailure() throws SvcLogicException { + ConfigurationPhyCellIdOutputBuilder serviceData = mock(ConfigurationPhyCellIdOutputBuilder.class); + Properties parms = mock(Properties.class); + SvcLogicService svcLogicService = mock(SvcLogicService.class); + Properties properties = new Properties(); + properties.setProperty("SvcLogic.status", "failure"); + when(svcLogicService.execute(module, rpc, version, mode, properties)).thenReturn(properties); + OofpcipocClient sliClient = new OofpcipocClient(svcLogicService); + Properties prop = sliClient.execute(module, rpc, version, mode, serviceData, properties); + assertTrue(prop != null); + } +} diff --git a/sdnr/northbound/oofpcipoc/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/TestOofpcipoc.java b/sdnr/northbound/oofpcipoc/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/TestOofpcipoc.java new file mode 100644 index 000000000..daa210e4b --- /dev/null +++ b/sdnr/northbound/oofpcipoc/provider/src/test/java/org/onap/ccsdk/features/sdnr/northbound/oofpcipoc/TestOofpcipoc.java @@ -0,0 +1,104 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.ccsdk.features.sdnr.northbound.oofpcipoc; + +import org.junit.Before; +import org.junit.Test; + +import org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.OofpcipocClient; +import org.onap.ccsdk.features.sdnr.northbound.oofpcipoc.OofpcipocProvider; + +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; +import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; + +import org.opendaylight.yangtools.yang.common.RpcResult; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.mock; + +import java.math.*; + +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.ConfigurationPhyCellIdInput; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.ConfigurationPhyCellIdInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.ConfigurationPhyCellIdOutput; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.rev190308.ConfigurationPhyCellIdOutputBuilder; +import com.google.common.util.concurrent.ListenableFuture; + + + +public class TestOofpcipoc extends AbstractConcurrentDataBrokerTest { + + private OofpcipocProvider oofpcipocProvider; + private static final Logger LOG = LoggerFactory.getLogger(OofpcipocProvider.class); + + @Before + public void setUp() throws Exception { + if (null == oofpcipocProvider) { + DataBroker dataBroker = getDataBroker(); + NotificationPublishService mockNotification = mock(NotificationPublishService.class); + RpcProviderRegistry mockRpcRegistry = mock(RpcProviderRegistry.class); + OofpcipocClient mockSliClient = mock(OofpcipocClient.class); + oofpcipocProvider = new OofpcipocProvider(dataBroker, mockNotification, mockRpcRegistry, mockSliClient); + } + } + + //Testcase should return error 503 when No service logic active for ConfigurationPhyCellId + @Test + public void testConfigurationPhyCellId() { + + ConfigurationPhyCellIdInputBuilder inputBuilder = new ConfigurationPhyCellIdInputBuilder(); + + inputBuilder.setFapServiceNumberOfEntries(new BigInteger("1")); + + // TODO: currently initialize SvcLogicServiceClient is failing, need to fix + ListenableFuture> future = oofpcipocProvider + .configurationPhyCellId(inputBuilder.build()); + RpcResult rpcResult = null; + try { + rpcResult = future.get(); + } catch (Exception e) { + fail("Error : " + e); + } + LOG.info("result: {}", rpcResult); + assertEquals("503", rpcResult.getResult().getResponseCode()); + } + + //Input parameter validation + @Test + public void testConfigurationPhyCellIdValidation() { + + ListenableFuture> future = oofpcipocProvider + .configurationPhyCellId(null); + RpcResult rpcResult = null; + try { + rpcResult = future.get(); + } catch (Exception e) { + fail("Error : " + e); + } + LOG.info("result: {}", rpcResult); + assertEquals("Input is null", rpcResult.getResult().getResponseCode()); + } +} -- cgit 1.2.3-korg