Increase code coverage 89/78889/2
authorTimoney, Dan (dt5972) <dtimoney@att.com>
Thu, 21 Feb 2019 01:10:35 +0000 (20:10 -0500)
committerTimoney, Dan (dt5972) <dtimoney@att.com>
Thu, 21 Feb 2019 13:03:33 +0000 (08:03 -0500)
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) <dtimoney@att.com>
dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/TestDBResourceManager2.java [new file with mode: 0644]
sli/common/src/test/java/org/onap/ccsdk/sli/core/sli/PrintYangToPropTest.java
sli/model/src/main/yang/sliapi.yang
sli/provider-base/pom.xml
sli/provider/src/test/java/org/onap/ccsdk/sli/core/sli/provider/MdsalHelperTest.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 (file)
index 0000000..a3cb8d9
--- /dev/null
@@ -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());
+    }
+
+}
index d639c28..14b4dcb 100644 (file)
@@ -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<TestResult> resultList = new LinkedList<>();
+        resultBuilder.setTestIdentifier("test1");
+        List<String> 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);
+
+    }
 
 }
index 19adecc..a7d5292 100755 (executable)
@@ -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 {
index 0b6dfff..856ee23 100644 (file)
        <groupId>org.onap.ccsdk.sli.core</groupId>
        <artifactId>sli-provider-base</artifactId>
        <version>0.4.1-SNAPSHOT</version>
+    
+    <properties>
+    
+        <sonar.jacoco.reportPaths>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</sonar.jacoco.reportPaths>
+    </properties>
 
        <dependencyManagement>
                <dependencies>
@@ -30,7 +35,6 @@
                        <version>${project.version}</version>
                        <scope>compile</scope>
                </dependency>
-
                <dependency>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
@@ -56,4 +60,5 @@
 
        </dependencies>
 
+
 </project>
index 9397775..56d0369 100755 (executable)
@@ -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");