diff options
author | lj1412 <lji@research.att.com> | 2017-02-14 15:11:01 +0000 |
---|---|---|
committer | lj1412 <lji@research.att.com> | 2017-02-14 15:11:03 +0000 |
commit | 0186ef27491b5adcbda1490c4a890a8cdea15443 (patch) | |
tree | 10f2f7c7c712084522276c5e17eb6b6f2928d242 /src/test | |
parent | 3bbdd5a4b772ff094666d8680fdf7b7576c91b52 (diff) |
Init dcae.collectors.ves
Change-Id: Ic112f107512ac263431613cfc60f848b854fa84b
Signed-off-by: lj1412 <lji@research.att.com>
Diffstat (limited to 'src/test')
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"
+}
+}
+}
|