aboutsummaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/openecomp/dcae/sectest/InputJsonValidation.java169
-rw-r--r--src/test/java/org/openecomp/dcae/sectest/VESCollectorJunitTest.java109
-rw-r--r--src/test/java/org/openecomp/dcae/sectest/VESCollectorJunitTestRunner.java52
-rw-r--r--src/test/resources/VES_invalid.txt46
-rw-r--r--src/test/resources/VES_valid.txt46
5 files changed, 422 insertions, 0 deletions
diff --git a/src/test/java/org/openecomp/dcae/sectest/InputJsonValidation.java b/src/test/java/org/openecomp/dcae/sectest/InputJsonValidation.java
new file mode 100644
index 0000000..73ee612
--- /dev/null
+++ b/src/test/java/org/openecomp/dcae/sectest/InputJsonValidation.java
@@ -0,0 +1,169 @@
+/*-
+ * ============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.openecomp.dcae.sectest;
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.junit.Test;
+import org.openecomp.dcae.commonFunction.CommonStartup;
+
+import com.google.gson.JsonIOException;
+import com.google.gson.JsonParser;
+import com.google.gson.JsonSyntaxException;
+
+
+public class InputJsonValidation {
+
+
+ static String valresult = null;
+
+
+ @Test
+ public void nonvalidJSONValidation(){
+
+ JSONObject jsonObject = null;
+ JSONParser parser=new JSONParser();
+ Object obj=null;
+ //String jsonfilepath="C:/Users/vv770d/git/restfulcollector/src/test/resources/fujistu_non_valid_json.txt";
+ String jsonfilepath="src/test/resources/VES_invalid.txt";
+ String retValue="false";
+ try{
+
+ obj=parser.parse(new FileReader(jsonfilepath));
+
+ }
+ catch(Exception e){
+
+ System.out.println("Exception while opening the file");
+
+ }
+ jsonObject=(JSONObject) obj;
+
+ String schema=null;
+ try {
+ schema = new JsonParser().parse(new FileReader(VESCollectorJunitTest.schemaFile)).toString();
+ //System.out.println("Schema value: " + schema.toString());
+ } catch (JsonIOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (JsonSyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (FileNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ if (schema!=null){
+ retValue=CommonStartup.schemavalidate(jsonObject.toString(), schema);
+ }
+ //return retValue;
+ VESCollectorJunitTest.output = retValue;
+ }
+
+
+ // The below test case meant for verifying json schema on provided json file
+ @Test
+ public void validJSONValidation(){
+
+ JSONObject jsonObject = null;
+ JSONParser parser=new JSONParser();
+ Object obj=null;
+
+ String jsonfilepath="src/test/resources/VES_valid.txt";
+ String retValue="false";
+ try{
+
+ obj=parser.parse(new FileReader(jsonfilepath));
+
+
+ }
+ catch(Exception e){
+ System.out.println("Exception while opening the file");
+
+ }
+ jsonObject=(JSONObject) obj;
+ String schema=null;
+ try {
+
+ schema = new JsonParser().parse(new FileReader(VESCollectorJunitTest.schemaFile)).toString();
+ } catch (JsonIOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (JsonSyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (FileNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ if (schema!=null){
+ retValue=CommonStartup.schemavalidate(jsonObject.toString(), schema);
+ }
+ VESCollectorJunitTest.output = retValue;
+ //return retValue;
+ }
+
+
+
+ //validating valid json reception and its posting to DMAP.
+ @Test
+ public void eventReception(){
+
+
+ String testCurlCommand = "curl -i -X POST -d @C:/Users/vv770d/git/restfulcollector/src/test/resources/fujistu-3.txt --header \"Content-Type: application/json\" http://localhost:8080/eventListener/v1";
+
+ //final Process terminal = curlCommand.start();
+ try {
+ Process p = Runtime.getRuntime().exec(testCurlCommand);
+ BufferedReader stdInput = new BufferedReader(new
+ InputStreamReader(p.getInputStream()));
+
+ BufferedReader stdError = new BufferedReader(new
+ InputStreamReader(p.getErrorStream()));
+
+ // read the output from the command
+
+ String s = null;
+ while ((s = stdInput.readLine()) != null) {
+ if (s.contains("HTTP/1.1 200 OK")){
+
+ //return "true";
+ VESCollectorJunitTest.output = "true";
+ }
+
+ }
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+
+
+ e.printStackTrace();
+ }
+
+ //return "false";
+ }
+
+}
diff --git a/src/test/java/org/openecomp/dcae/sectest/VESCollectorJunitTest.java b/src/test/java/org/openecomp/dcae/sectest/VESCollectorJunitTest.java
new file mode 100644
index 0000000..e95b099
--- /dev/null
+++ b/src/test/java/org/openecomp/dcae/sectest/VESCollectorJunitTest.java
@@ -0,0 +1,109 @@
+/*-
+ * ============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=========================================================
+ */
+
+/*
+ *
+ * Purpose: CommonCollectorJunitTest is the wrapper class to invoke all prescribed Junit test cases.
+ *
+ */
+package org.openecomp.dcae.sectest;
+import static org.junit.Assert.assertEquals;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.junit.Test;
+
+public class VESCollectorJunitTest {
+ public static String schemaFile=null;
+ public static String output;
+
+
+
+ String message = "true";
+ InputJsonValidation messageUtil = new InputJsonValidation();
+
+ @Test
+ public void validJSONValidation() {
+
+ Properties prop = new Properties();
+ InputStream input = null;
+ output = "true";
+ try {
+ input = new FileInputStream("etc/collector.properties");
+ try {
+ prop.load(input);
+ schemaFile=prop.getProperty("collector.schema.file");
+
+ System.out.println( "Schema file location: "+ schemaFile);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ } catch (FileNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ assertEquals(message,output);
+ }
+
+
+ @Test
+ public void nonvalidJSONValidation() {
+ output = "false";
+ Properties prop = new Properties();
+ InputStream input = null;
+ try {
+ input = new FileInputStream("etc/collector.properties");
+ try {
+ prop.load(input);
+ schemaFile=prop.getProperty("collector.schema.file");
+
+ System.out.println( "Schema file location: "+ schemaFile);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ } catch (FileNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ //assertEquals("false",messageUtil.nonvalidJSONValidation());
+ assertEquals("false",output);
+ }
+
+
+ //The test case requires common collector running in the environment prior to start execution of JUNIT test cases
+ /*
+ @Test
+ public void testValidJSONObjectReception() {
+
+
+ assertEquals("true",messageUtil.eventReception());
+ assertEquals("true",output);
+ }*/
+
+
+
+}
diff --git a/src/test/java/org/openecomp/dcae/sectest/VESCollectorJunitTestRunner.java b/src/test/java/org/openecomp/dcae/sectest/VESCollectorJunitTestRunner.java
new file mode 100644
index 0000000..b5e8715
--- /dev/null
+++ b/src/test/java/org/openecomp/dcae/sectest/VESCollectorJunitTestRunner.java
@@ -0,0 +1,52 @@
+/*-
+ * ============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=========================================================
+ */
+
+/*
+ * Purpose: CommonCollectorJunitTestRunner is the main class where test suit execution starts its test cases execution
+ * the common collector test suit has been written in order to incorporate functional and logical testing of collector features
+ *
+ */
+
+package org.openecomp.dcae.sectest;
+import org.junit.runner.JUnitCore;
+import org.junit.runner.Result;
+import org.junit.runner.RunWith;
+import org.junit.runner.notification.Failure;
+import org.openecomp.dcae.commonFunction.CommonStartup;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class VESCollectorJunitTestRunner {
+
+ public static void main(String[] args) {
+
+ System.out.println("STARTING TEST SUITE EXECUTION.....");
+
+ Result result = JUnitCore.runClasses(VESCollectorJunitTest.class);
+
+ for (Failure failure : result.getFailures()) {
+ System.out.println(failure.toString());
+ }
+
+
+ System.out.println("Execution Final result : "+result.wasSuccessful());
+ }
+
+}
diff --git a/src/test/resources/VES_invalid.txt b/src/test/resources/VES_invalid.txt
new file mode 100644
index 0000000..48bffd3
--- /dev/null
+++ b/src/test/resources/VES_invalid.txt
@@ -0,0 +1,46 @@
+{
+"event": {
+"commonEventHeader": {
+"sourceId": "owb-rdm-003",
+"startEpochMicrosec": 1469528413000,
+"eventId": "owb-rdm-003 1",
+"reportingEntityId": "127.0.1.1",
+"eventType": "fault_owb-rdm-003_lossOfSignal",
+"priority": "High",
+"version": 1.0,
+"reportingEntityName": "agilevm",
+"sequence": 0,
+"domain": "fault",
+"functionalRole": "rdm",
+"lastEpochMicrosec": 1469528413000,
+"test": "Dummy"
+},
+"faultFields": {
+"eventSeverity": "CRITICAL",
+"alarmCondition": "lossOfSignal",
+"faultFieldsVersion": 1.0,
+"specificProblem": "lossOfSignal",
+"alarmInterfaceA": "1/0/0 E1",
+"alarmAdditionalInformation": [
+{
+"name": "DIR",
+"value": "tx"
+},
+{
+"name": "LOC",
+"value": "NEND"
+},
+{
+"name": "TYPE",
+"value": "communication"
+},
+{
+"name": "CKTID",
+"value": "circuit-1"
+}
+],
+"eventSourceType": "port",
+"vfStatus": "Active"
+}
+}
+}
diff --git a/src/test/resources/VES_valid.txt b/src/test/resources/VES_valid.txt
new file mode 100644
index 0000000..6473937
--- /dev/null
+++ b/src/test/resources/VES_valid.txt
@@ -0,0 +1,46 @@
+{
+"event": {
+"commonEventHeader": {
+"sourceId": "owb-rdm-003",
+"startEpochMicrosec": 1469528413000,
+"eventId": "owb-rdm-003 1",
+"reportingEntityId": "127.0.1.1",
+"eventType": "fault_owb-rdm-003_lossOfSignal",
+"priority": "High",
+"version": 1.0,
+"reportingEntityName": "agilevm",
+"sequence": 0,
+"domain": "fault",
+"functionalRole": "rdm",
+"lastEpochMicrosec": 1469528413000,
+"sourceName": "owb-rdm-003"
+},
+"faultFields": {
+"eventSeverity": "CRITICAL",
+"alarmCondition": "lossOfSignal",
+"faultFieldsVersion": 1.0,
+"specificProblem": "lossOfSignal",
+"alarmInterfaceA": "1/0/0 E1",
+"alarmAdditionalInformation": [
+{
+"name": "DIR",
+"value": "tx"
+},
+{
+"name": "LOC",
+"value": "NEND"
+},
+{
+"name": "TYPE",
+"value": "communication"
+},
+{
+"name": "CKTID",
+"value": "circuit-1"
+}
+],
+"eventSourceType": "port",
+"vfStatus": "Active"
+}
+}
+}