From 23ff887d1e61e490b48f735a49c434d50efa1639 Mon Sep 17 00:00:00 2001 From: "Timoney, Dan (dt5972)" Date: Wed, 20 Feb 2019 20:10:35 -0500 Subject: Increase code coverage Added junit test cases, and updated jacoco config in provider/base to include provider tests as well Change-Id: I8f384b3a4dd7362f004eaa959cd0c634edf0ddbe Issue-ID: CCSDK-1096 Signed-off-by: Timoney, Dan (dt5972) --- .../sli/core/dblib/TestDBResourceManager2.java | 95 ++++++++++++++++++++++ .../ccsdk/sli/core/sli/PrintYangToPropTest.java | 59 +++++++++++++- sli/model/src/main/yang/sliapi.yang | 6 ++ sli/provider-base/pom.xml | 7 +- .../sli/core/sli/provider/MdsalHelperTest.java | 15 ++++ 5 files changed, 178 insertions(+), 4 deletions(-) create mode 100644 dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/TestDBResourceManager2.java diff --git a/dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/TestDBResourceManager2.java b/dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/TestDBResourceManager2.java new file mode 100644 index 00000000..a3cb8d91 --- /dev/null +++ b/dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/TestDBResourceManager2.java @@ -0,0 +1,95 @@ +/*- + 2 * ============LICENSE_START======================================================= + 3 * ONAP CCSDK + 4 * ================================================================================ + 5 * Copyright (C) 2019 AT&T Intellectual Property. All rights + 6 * reserved. + 7 * ================================================================================ + 8 * Licensed under the Apache License, Version 2.0 (the "License"); + 9 * you may not use this file except in compliance with the License. + 10 * You may obtain a copy of the License at + 11 * + 12 * http://www.apache.org/licenses/LICENSE-2.0 + 13 * + 14 * Unless required by applicable law or agreed to in writing, software + 15 * distributed under the License is distributed on an "AS IS" BASIS, + 16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + 17 * See the License for the specific language governing permissions and + 18 * limitations under the License. + 19 * ============LICENSE_END============================================ + 20 * =================================================================== + 21 * + 22 */ +package org.onap.ccsdk.sli.core.dblib; + +import static org.junit.Assert.*; + +import java.io.InputStream; +import java.net.URL; +import java.sql.SQLException; +import java.util.Properties; + +import org.junit.Before; +import org.junit.Test; + +import ch.vorburger.mariadb4j.DB; +import ch.vorburger.mariadb4j.DBConfigurationBuilder; + +public class TestDBResourceManager2 { + + DbLibService dblibSvc; + DBResourceManager dbm; + + @Before + public void setUp() throws Exception { + URL propUrl = getClass().getResource("/dblib.properties"); + + InputStream propStr = getClass().getResourceAsStream("/dblib.properties"); + + Properties props = new Properties(); + + props.load(propStr); + + // Start MariaDB4j database + DBConfigurationBuilder config = DBConfigurationBuilder.newBuilder(); + config.setPort(0); // 0 => autom. detect free port + DB db = DB.newEmbeddedDB(config.build()); + db.start(); + + // Override jdbc URL, database name, and recovery + props.setProperty("org.onap.ccsdk.sli.jdbc.database", "test"); + props.setProperty("org.onap.ccsdk.sli.jdbc.url", config.getURL("test")); + props.setProperty("org.onap.dblib.connection.recovery", "true"); + + + dblibSvc = new DBResourceManager(props); + dbm = new DBResourceManager(props); + dblibSvc.writeData("CREATE TABLE DBLIB_TEST2 (name varchar(20));", null, null); + dblibSvc.getData("SELECT * FROM DBLIB_TEST2", null, null); + + + } + + @Test + public void testForceRecovery() { + dbm.testForceRecovery(); + } + + @Test + public void testGetConnection() throws SQLException { + assertNotNull(dbm.getConnection()); + assertNotNull(dbm.getConnection("testUser", "testPaswd")); + } + + @Test + public void testCleanup() { + dbm.cleanUp(); + + } + + @Test + public void testGetLogWriter() throws SQLException { + assertNull(dbm.getLogWriter()); + } + +} diff --git a/sli/common/src/test/java/org/onap/ccsdk/sli/core/sli/PrintYangToPropTest.java b/sli/common/src/test/java/org/onap/ccsdk/sli/core/sli/PrintYangToPropTest.java index d639c28d..14b4dcb7 100644 --- a/sli/common/src/test/java/org/onap/ccsdk/sli/core/sli/PrintYangToPropTest.java +++ b/sli/common/src/test/java/org/onap/ccsdk/sli/core/sli/PrintYangToPropTest.java @@ -1,6 +1,25 @@ -/** - * - */ +/*- + 2 * ============LICENSE_START======================================================= + 3 * ONAP CCSDK + 4 * ================================================================================ + 5 * Copyright (C) 2019 AT&T Intellectual Property. All rights + 6 * reserved. + 7 * ================================================================================ + 8 * Licensed under the Apache License, Version 2.0 (the "License"); + 9 * you may not use this file except in compliance with the License. + 10 * You may obtain a copy of the License at + 11 * + 12 * http://www.apache.org/licenses/LICENSE-2.0 + 13 * + 14 * Unless required by applicable law or agreed to in writing, software + 15 * distributed under the License is distributed on an "AS IS" BASIS, + 16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + 17 * See the License for the specific language governing permissions and + 18 * limitations under the License. + 19 * ============LICENSE_END============================================ + 20 * =================================================================== + 21 * + 22 */ package org.onap.ccsdk.sli.core.sli; import java.util.Enumeration; @@ -11,8 +30,11 @@ import java.util.Properties; import org.junit.Test; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.core.sliapi.rev161110.ExecuteGraphInput.Mode; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.core.sliapi.rev161110.ExecuteGraphInputBuilder; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.core.sliapi.rev161110.TestResultsBuilder; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.core.sliapi.rev161110.execute.graph.input.SliParameter; import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.core.sliapi.rev161110.execute.graph.input.SliParameterBuilder; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.core.sliapi.rev161110.test.results.TestResult; +import org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.core.sliapi.rev161110.test.results.TestResultBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefixBuilder; import org.slf4j.Logger; @@ -82,7 +104,38 @@ public class PrintYangToPropTest { // Generate builder from properties just generated PrintYangToProp.toBuilder(props, pBuilder); + } + + @Test + public void testWithList() { + TestResultsBuilder resultsBuilder = new TestResultsBuilder(); + TestResultBuilder resultBuilder = new TestResultBuilder(); + + // Set builder with values + List resultList = new LinkedList<>(); + resultBuilder.setTestIdentifier("test1"); + List results = new LinkedList<>(); + results.add("pass"); + resultBuilder.setResults(results); + resultList.add(resultBuilder.build()); + resultsBuilder.setTestResult(resultList); + + // Generate properties + Properties props = new Properties(); + props = PrintYangToProp.toProperties(props, resultsBuilder); + + Enumeration propNames = props.propertyNames(); + + while (propNames.hasMoreElements()) { + String propName = (String) propNames.nextElement(); + LOG.info("Property {} = {}", propName, props.getProperty(propName)); + } + + // Generate builder from properties just generated + PrintYangToProp.toBuilder(props, resultsBuilder); + + } } diff --git a/sli/model/src/main/yang/sliapi.yang b/sli/model/src/main/yang/sliapi.yang index 19adecca..a7d52928 100755 --- a/sli/model/src/main/yang/sliapi.yang +++ b/sli/model/src/main/yang/sliapi.yang @@ -45,6 +45,12 @@ module SLI-API { leaf ipprefix-value { type inet:ip-prefix; } + leaf port-number { + type inet:port-number; + } + leaf dscp { + type inet:dscp; + } } grouping response-fields { diff --git a/sli/provider-base/pom.xml b/sli/provider-base/pom.xml index 0b6dfff4..856ee238 100644 --- a/sli/provider-base/pom.xml +++ b/sli/provider-base/pom.xml @@ -12,6 +12,11 @@ org.onap.ccsdk.sli.core sli-provider-base 0.4.1-SNAPSHOT + + + + target/code-coverage/jacoco-ut.exec,target/code-coverage/jacoco-it.exec,../provider/target/code-coverage/jacoco-ut.exec,../provider/target/code-coverage/jacoco-it.exec + @@ -30,7 +35,6 @@ ${project.version} compile - org.slf4j slf4j-api @@ -56,4 +60,5 @@ + diff --git a/sli/provider/src/test/java/org/onap/ccsdk/sli/core/sli/provider/MdsalHelperTest.java b/sli/provider/src/test/java/org/onap/ccsdk/sli/core/sli/provider/MdsalHelperTest.java index 93977759..56d0369e 100755 --- a/sli/provider/src/test/java/org/onap/ccsdk/sli/core/sli/provider/MdsalHelperTest.java +++ b/sli/provider/src/test/java/org/onap/ccsdk/sli/core/sli/provider/MdsalHelperTest.java @@ -94,6 +94,21 @@ public class MdsalHelperTest extends TestCase { parmBuilder.setParameterName("ipaddress6-parm"); parmBuilder.setIpaddressValue(IpAddressBuilder.getDefaultInstance("ef::1")); params.add(parmBuilder.build()); + + parmBuilder.setParameterName("ipprefix-parm"); + parmBuilder.setIpaddressValue(null); + parmBuilder.setIpprefixValue(IpPrefixBuilder.getDefaultInstance("10.0.0.0/24")); + params.add(parmBuilder.build()); + + parmBuilder.setParameterName("portnumber-parm"); + parmBuilder.setIpprefixValue(null); + parmBuilder.setPortNumber(PortNumber.getDefaultInstance("8080")); + params.add(parmBuilder.build()); + + parmBuilder.setParameterName("dcsp-parm"); + parmBuilder.setPortNumber(null); + parmBuilder.setDscp(Dscp.getDefaultInstance("57")); + params.add(parmBuilder.build()); execBuilder.setMode(Mode.Sync); execBuilder.setModuleName("my-module"); -- cgit 1.2.3-korg