add junit for ves functions 61/12961/2
authorVijay <vv770d@att.com>
Mon, 18 Sep 2017 04:01:24 +0000 (04:01 +0000)
committerVijay <vv770d@att.com>
Mon, 18 Sep 2017 04:09:30 +0000 (04:09 +0000)
Issue-ID:DCAEGEN2-82
Change-Id: Id416ce87a833b9dcc8ab471ebc4611059c2978c1
Signed-off-by: Vijay <vv770d@att.com>
src/main/java/org/onap/dcae/commonFunction/DmaapPropertyReader.java
src/main/scripts/VESrestfulCollector.sh
src/test/java/org/onap/dcae/vestest/TestCommonStartup.java [new file with mode: 0644]
src/test/java/org/onap/dcae/vestest/TestDmaapPropertyReader.java [new file with mode: 0644]
src/test/java/org/onap/dcae/vestest/TestSchemaValidation.java [new file with mode: 0644]
src/test/resources/testDmaapConfig.json [new file with mode: 0644]

index ff2a3ba..971d61a 100644 (file)
@@ -51,7 +51,7 @@ public class DmaapPropertyReader {
 
     public HashMap<String, String> dmaap_hash = new HashMap<String, String>();
 
-    private DmaapPropertyReader(String cambriaConfigFile) {
+    public DmaapPropertyReader(String cambriaConfigFile) {
 
         FileReader fr = null;
         try {
index 2f71bf7..fc6cd22 100644 (file)
@@ -28,30 +28,34 @@ usage() {
 }
 
 
+#BASEDIR=/opt/app/d1gfp1m7/extra/VES/VESCollector-1.1.4-SNAPSHOT/
+BASEDIR=/opt/app/VESCollector/
+
 collector_start() {
-        echo `date +"%Y%m%d.%H%M%S%3N"` - collector_start | tee -a /opt/app/VESCollector/logs/console.txt
+        echo `date +"%Y%m%d.%H%M%S%3N"` - collector_start | tee -a ${BASEDIR}/logs/console.txt
         collectorPid=`pgrep -f org.onap.dcae.commonFunction`
 
         if [ ! -z "$collectorPid" ]; then
-                echo  "WARNING: VES Restful Collector already running as PID $collectorPid" | tee -a /opt/app/VESCollector/logs/console.txt
-                echo  "Startup Aborted!!!" | tee -a /opt/app/VESCollector/logs/console.txt
+                echo  "WARNING: VES Restful Collector already running as PID $collectorPid" | tee -a ${BASEDIR}/logs/console.txt
+                echo  "Startup Aborted!!!" | tee -a ${BASEDIR}/logs/console.txt
                 exit 1
-        fi 
+        fi
 
 
         # run java. The classpath is the etc dir for config files, and the lib dir
         # for all the jars.
-        cd /opt/app/VESCollector/
+        #cd /opt/app/VESCollector/
+        cd ${BASEDIR}
         nohup $JAVA -cp "etc${PATHSEP}lib/*" $JAVA_OPTS -Dhttps.protocols=TLSv1.1,TLSv1.2 $MAINCLASS $* &
         if [ $? -ne 0 ]; then
-                echo "VES Restful Collector has been started!!!" | tee -a /opt/app/VESCollector/logs/console.txt
+                echo "VES Restful Collector has been started!!!" | tee -a ${BASEDIR}/logs/console.txt
         fi
 
 
 }
 
 collector_stop() {
-         echo `date +"%Y%m%d.%H%M%S%3N"` - collector_stop 
+         echo `date +"%Y%m%d.%H%M%S%3N"` - collector_stop
          collectorPid=`pgrep -f org.onap.dcae.commonFunction`
          if [ ! -z "$collectorPid" ]; then
                 echo "Stopping PID $collectorPid"
@@ -80,7 +84,7 @@ collector_configupdate() {
 
             echo "INFO: DYNAMIC CONFIG INTERFACE SUPPORTED"
             # move into base directory
-            
+
             #BASEDIR=`dirname $0`
             #cd $BASEDIR/..
             cd /opt/app/VESCollector
@@ -156,11 +160,11 @@ esac
 
 case $1 in
         "start")
-                collector_configupdate | tee -a /opt/app/VESCollector/logs/console.txt
-                collector_start 
+                collector_configupdate | tee -a ${BASEDIR}/logs/console.txt
+                collector_start
                 ;;
         "stop")
-                collector_stop | tee -a /opt/app/VESCollector/logs/console.txt
+                collector_stop | tee -a ${BASEDIR}/logs/console.txt
                 ;;
         *)
                 usage
diff --git a/src/test/java/org/onap/dcae/vestest/TestCommonStartup.java b/src/test/java/org/onap/dcae/vestest/TestCommonStartup.java
new file mode 100644 (file)
index 0000000..486789d
--- /dev/null
@@ -0,0 +1,72 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * PROJECT
+ * ================================================================================
+ * 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.dcae.vestest;
+
+import java.net.URL;
+import java.util.Map;
+
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.dcae.commonFunction.CommonStartup;
+
+import com.att.nsa.cmdLine.NsaCommandLineUtil;
+import com.att.nsa.drumlin.service.framework.DrumlinServlet;
+import com.att.nsa.drumlin.till.nv.rrNvReadable.loadException;
+import com.att.nsa.drumlin.till.nv.impl.nvPropertiesFile;
+import com.att.nsa.drumlin.till.nv.impl.nvReadableStack;
+import com.att.nsa.drumlin.till.nv.impl.nvReadableTable;
+
+public class TestCommonStartup {
+
+       @Before
+       public void setUp() throws Exception {
+
+               // process command line arguments
+
+       }
+
+       @After
+       public void tearDown() throws Exception {
+
+       }
+
+       @Test
+       public void testCommonStartupload() {
+
+               String args[] = { "junittest" };
+               final Map<String, String> argMap = NsaCommandLineUtil.processCmdLine(args, true);
+               final String config = NsaCommandLineUtil.getSetting(argMap, "c", "collector.properties");
+               final URL settingStream = DrumlinServlet.findStream(config, CommonStartup.class);
+
+               final nvReadableStack settings = new nvReadableStack();
+               try {
+                       settings.push(new nvPropertiesFile(settingStream));
+               } catch (loadException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+               settings.push(new nvReadableTable(argMap));
+               Assert.assertEquals("true", "true");
+       }
+
+}
+
diff --git a/src/test/java/org/onap/dcae/vestest/TestDmaapPropertyReader.java b/src/test/java/org/onap/dcae/vestest/TestDmaapPropertyReader.java
new file mode 100644 (file)
index 0000000..e54b4cb
--- /dev/null
@@ -0,0 +1,58 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * PROJECT
+ * ================================================================================
+ * 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.dcae.vestest;
+
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.onap.dcae.commonFunction.DmaapPropertyReader;
+
+public class TestDmaapPropertyReader {
+
+       DmaapPropertyReader dr;
+       String testinput = "src/test/resources/testDmaapConfig.json";
+       Boolean flag = false;
+
+       @Before
+       public void setUp() throws Exception {
+
+               // process command line arguments
+
+               dr = new DmaapPropertyReader(testinput);
+
+       }
+
+       @After
+       public void tearDown() throws Exception {
+
+       }
+
+       @Test
+       public void testDmaapPropertyReader() {
+
+               Boolean test = true;
+               flag = !dr.dmaap_hash.isEmpty();
+               Assert.assertEquals(test, flag);
+       }
+
+}
+
diff --git a/src/test/java/org/onap/dcae/vestest/TestSchemaValidation.java b/src/test/java/org/onap/dcae/vestest/TestSchemaValidation.java
new file mode 100644 (file)
index 0000000..fabcc6d
--- /dev/null
@@ -0,0 +1,75 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * PROJECT
+ * ================================================================================
+ * 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.dcae.vestest;
+
+import static org.junit.Assert.*;
+
+import java.io.FileReader;
+import java.net.URL;
+import java.util.Map;
+
+import org.json.simple.JSONObject;
+
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.dcae.commonFunction.CommonStartup;
+
+import com.google.gson.JsonParser;
+
+public class TestSchemaValidation {
+
+       CommonStartup cl;
+       String schema = null;
+       String payload = null;
+       String payloadinvalid = null;
+
+       @Before
+       public void setUp() throws Exception {
+
+               schema = new JsonParser().parse(new FileReader("etc/CommonEventFormat_27.2.json")).toString();
+               payload = new JsonParser().parse(new FileReader("src/test/resources/VES_valid.txt")).toString();
+               payloadinvalid = new JsonParser().parse(new FileReader("src/test/resources/VES_invalid.txt")).toString();
+
+       }
+
+       @After
+       public void tearDown() throws Exception {
+       }
+
+       @Test
+       public void testsuccessfulschemavalidation() {
+
+               String valresult = CommonStartup.schemavalidate(payload, schema);
+               System.out.println("testsuccessfulschemavalidation:" + valresult);
+               Assert.assertEquals(valresult, "true");
+       }
+
+       @Test
+       public void testunsuccessfulschemavalidation() {
+               String valresult = null;
+               valresult = CommonStartup.schemavalidate(payloadinvalid, schema);
+               System.out.println("testunsuccessfulschemavalidation:" + valresult);
+               Assert.assertFalse(valresult.equals("true"));
+
+       }
+}
+
diff --git a/src/test/resources/testDmaapConfig.json b/src/test/resources/testDmaapConfig.json
new file mode 100644 (file)
index 0000000..247db78
--- /dev/null
@@ -0,0 +1,12 @@
+{
+
+       "channels": [{
+                       "name": "sec_fault_ueb",
+                       "type": "out",
+                       "class": "HpCambriaOutputStream",
+                       "cambria.hosts": "uebsb91kcdc.it.att.com,uebsb92kcdc.it.att.com,uebsb93kcdc.it.att.com",
+                       "cambria.topic": "DCAE-SE-COLLECTOR-EVENTS-DEV",
+                       "stripHpId": "true"
+               }
+       ]
+}