Merge changes Idc5fec61,Idb4fe6fb,I8bb2604a,I3e3a23e5,I4918b978, ...
authorBartek Grzybowski <b.grzybowski@partner.samsung.com>
Wed, 26 Feb 2020 08:24:56 +0000 (08:24 +0000)
committerGerrit Code Review <gerrit@onap.org>
Wed, 26 Feb 2020 08:24:56 +0000 (08:24 +0000)
* changes:
  Add Test cases which are missing for API's V7
  Add Test case for parameter out of schema send to VES eventBatch API
  Add Test case for missing param in one of the events send to VES eventBatch API
  Add Test case for empty json send to VES eventBatch API
  Add Test case for parameter out of schema send to VES eventListener API
  Add test case for empty json body send to vesListener API

tests/dcaegen2/testcases/assets/json_events/ves7_batch_missing_mandatory_parameter.json [new file with mode: 0644]
tests/dcaegen2/testcases/assets/json_events/ves7_batch_parameter_out_of_schema.json [new file with mode: 0644]
tests/dcaegen2/testcases/assets/json_events/ves7_missing_mandatory_parameter.json [moved from tests/dcaegen2/testcases/assets/json_events/ves7_missing_mandatory_domain.json with 96% similarity]
tests/dcaegen2/testcases/assets/json_events/ves7_parameter_out_of_schema.json [new file with mode: 0644]
tests/dcaegen2/testcases/assets/json_events/ves7_pnf_registration_event.json [new file with mode: 0644]
tests/dcaegen2/testcases/assets/json_events/ves_empty_json.json [new file with mode: 0644]
tests/dcaegen2/testcases/dcae_ves.robot
tests/dcaegen2/testcases/resources/dcae_properties.robot

diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_batch_missing_mandatory_parameter.json b/tests/dcaegen2/testcases/assets/json_events/ves7_batch_missing_mandatory_parameter.json
new file mode 100644 (file)
index 0000000..48e97d0
--- /dev/null
@@ -0,0 +1,64 @@
+{
+   "eventList": [
+      {
+         "commonEventHeader": {
+            "version": "4.0.1",
+            "vesEventListenerVersion": "7.0.1",
+            "eventName": "Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion",
+            "eventId": "fault0000250",
+            "sequence": 1,
+            "priority": "High",
+            "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234",
+            "reportingEntityName": "ibcx0001vm002oam0011234",
+            "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014",
+            "sourceName": "scfx0001vm002cap001",
+            "nfVendorName": "Ericsson",
+            "nfNamingCode": "scfx",
+            "nfcNamingCode": "ssc",
+            "startEpochMicrosec": 1413378172000000,
+            "lastEpochMicrosec": 1413378172000000,
+            "timeZoneOffset": "UTC-05:30"
+         },
+         "faultFields": {
+            "faultFieldsVersion": "4.0",
+            "alarmCondition": "PilotNumberPoolExhaustion",
+            "eventSourceType": "other",
+            "specificProblem": "Calls cannot complete - pilot numbers are unavailable",
+            "eventSeverity": "CRITICAL",
+            "vfStatus": "Active",
+            "alarmAdditionalInformation": {
+               "PilotNumberPoolSize": "1000"
+            }
+         }
+      },
+      {
+         "commonEventHeader": {
+            "version": "4.0.1",
+            "vesEventListenerVersion": "7.0.1",
+            "domain": "fault",
+            "eventName": " Fault_Vscf:Acs-Ericcson_RecordingServerUnreachable",
+            "eventId": "fault0000251",
+            "sequence": 0,
+            "priority": "High",
+            "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234",
+            "reportingEntityName": "ibcx0001vm002oam0011234",
+            "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014",
+            "sourceName": "scfx0001vm002cap001",
+            "nfVendorName": "Ericsson",
+            "nfNamingCode": "scfx",
+            "nfcNamingCode": "ssc",
+            "startEpochMicrosec": 1413378172000010,
+            "lastEpochMicrosec": 1413378172000010,
+            "timeZoneOffset": "UTC-05:30"
+         },
+         "faultFields": {
+            "faultFieldsVersion": "4.0",
+            "alarmCondition": "RecordingServerUnreachable",
+            "eventSourceType": "other",
+            "specificProblem": "Recording server unreachable",
+            "eventSeverity": "CRITICAL",
+            "vfStatus": "Active"
+         }
+      }
+   ]
+}
\ No newline at end of file
diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_batch_parameter_out_of_schema.json b/tests/dcaegen2/testcases/assets/json_events/ves7_batch_parameter_out_of_schema.json
new file mode 100644 (file)
index 0000000..5245fea
--- /dev/null
@@ -0,0 +1,66 @@
+{
+   "eventList": [
+      {
+         "commonEventHeader": {
+            "version": "4.0.1",
+            "vesEventListenerVersion": "7.0.1",
+            "domain": "fault",
+            "dummy": "dummy_value",
+            "eventName": "Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion",
+            "eventId": "fault0000250",
+            "sequence": 1,
+            "priority": "High",
+            "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234",
+            "reportingEntityName": "ibcx0001vm002oam0011234",
+            "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014",
+            "sourceName": "scfx0001vm002cap001",
+            "nfVendorName": "Ericsson",
+            "nfNamingCode": "scfx",
+            "nfcNamingCode": "ssc",
+            "startEpochMicrosec": 1413378172000000,
+            "lastEpochMicrosec": 1413378172000000,
+            "timeZoneOffset": "UTC-05:30"
+         },
+         "faultFields": {
+            "faultFieldsVersion": "4.0",
+            "alarmCondition": "PilotNumberPoolExhaustion",
+            "eventSourceType": "other",
+            "specificProblem": "Calls cannot complete - pilot numbers are unavailable",
+            "eventSeverity": "CRITICAL",
+            "vfStatus": "Active",
+            "alarmAdditionalInformation": {
+                "PilotNumberPoolSize": "1000"
+            }
+         }
+      },
+      {
+         "commonEventHeader": {
+            "version": "4.0.1",
+            "vesEventListenerVersion": "7.0.1",
+            "domain": "fault",
+            "eventName": " Fault_Vscf:Acs-Ericcson_RecordingServerUnreachable",
+            "eventId": "fault0000251",
+            "sequence": 0,
+            "priority": "High",
+            "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234",
+            "reportingEntityName": "ibcx0001vm002oam0011234",
+            "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014",
+            "sourceName": "scfx0001vm002cap001",
+            "nfVendorName": "Ericsson",
+            "nfNamingCode": "scfx",
+            "nfcNamingCode": "ssc",
+            "startEpochMicrosec": 1413378172000010,
+            "lastEpochMicrosec": 1413378172000010,
+            "timeZoneOffset": "UTC-05:30"
+         },
+         "faultFields": {
+            "faultFieldsVersion": "4.0",
+            "alarmCondition": "RecordingServerUnreachable",
+            "eventSourceType": "other",
+            "specificProblem": "Recording server unreachable",
+            "eventSeverity": "CRITICAL",
+            "vfStatus": "Active"
+         }
+      }
+   ]
+}
\ No newline at end of file
@@ -26,8 +26,8 @@
             "eventSeverity": "CRITICAL",
             "vfStatus": "Active",
             "alarmAdditionalInformation": {
-                "PilotNumberPoolSize": "1000"
+               "PilotNumberPoolSize": "1000"
             }
         }
     }
-}
+}
\ No newline at end of file
diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_parameter_out_of_schema.json b/tests/dcaegen2/testcases/assets/json_events/ves7_parameter_out_of_schema.json
new file mode 100644 (file)
index 0000000..1e86758
--- /dev/null
@@ -0,0 +1,35 @@
+{
+    "event": {
+        "commonEventHeader": {
+            "version": "4.0.1",
+            "dummy": "dummy_value",
+            "vesEventListenerVersion": "7.0.1",
+            "domain": "fault",
+            "eventName": "Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion",
+            "eventId": "ab305d54-85b4-a31b-7db2-fb6b9e546015",
+            "sequence": 1,
+            "priority": "High",
+            "reportingEntityId": "cc305d54-75b4-431b-adb2-eb6b9e541234",
+            "reportingEntityName": "ibcx0001vm002oam001",
+            "sourceId": "de305d54-75b4-431b-adb2-eb6b9e546014",
+            "sourceName": "scfx0001vm002cap001",
+            "nfVendorName": "Ericsson",
+            "nfNamingCode": "scfx",
+            "nfcNamingCode": "ssc",
+            "startEpochMicrosec": 1413378172000000,
+            "lastEpochMicrosec": 1413378172000000,
+            "timeZoneOffset": "UTC-05:30"
+        },
+        "faultFields": {
+            "faultFieldsVersion": "4.0",
+            "alarmCondition": "PilotNumberPoolExhaustion",
+            "eventSourceType": "other",
+            "specificProblem": "Calls cannot complete - pilot numbers are unavailable",
+            "eventSeverity": "CRITICAL",
+            "vfStatus": "Active",
+            "alarmAdditionalInformation": {
+                "PilotNumberPoolSize": "1000"
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_pnf_registration_event.json b/tests/dcaegen2/testcases/assets/json_events/ves7_pnf_registration_event.json
new file mode 100644 (file)
index 0000000..dcd3aa5
--- /dev/null
@@ -0,0 +1,35 @@
+{
+  "event": {
+    "commonEventHeader": {
+      "startEpochMicrosec": 1538407540940,
+      "sourceId": "val13",
+      "eventId": "registration_38407540",
+      "nfcNamingCode": "oam",
+      "internalHeaderFields": {},
+      "eventType": "pnfRegistration",
+      "priority": "Normal",
+      "version": "4.0.1",
+      "reportingEntityName": "NOK6061ZW3",
+      "sequence": 0,
+      "domain": "pnfRegistration",
+      "lastEpochMicrosec": 1538407540940,
+      "eventName": "test_PNF_PNF",
+      "vesEventListenerVersion": "7.0.1",
+      "sourceName": "nok201911",
+      "nfNamingCode": "gNB"
+    },
+    "pnfRegistrationFields": {
+      "unitType": "val8",
+      "serialNumber": "6061ZW3",
+      "pnfRegistrationFieldsVersion": "2.0",
+      "manufactureDate": "1538407540942",
+      "modelNumber": "val6",
+      "lastServiceDate": "1538407540942",
+      "unitFamily": "BBU",
+      "vendorName": "Nokia",
+      "oamV4IpAddress": "10.11.12.13",
+      "oamV6IpAddress": "1::::9",
+      "softwareVersion": "val7"
+    }
+  }
+}
diff --git a/tests/dcaegen2/testcases/assets/json_events/ves_empty_json.json b/tests/dcaegen2/testcases/assets/json_events/ves_empty_json.json
new file mode 100644 (file)
index 0000000..9e26dfe
--- /dev/null
@@ -0,0 +1 @@
+{}
\ No newline at end of file
index e12097e..80e90ed 100644 (file)
@@ -31,10 +31,20 @@ Publish Single VES VNF Measurement Event with wrong JSON
     [Documentation]   Post single event with invalid data to /eventListener/v7 endpoint and expect 400 Response Status Code
     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_INVALID_JSON_V7}  400
 
-Publish Single VES VNF Measurement Event with missing mandatory parameter domain
+Publish Single VES VNF Measurement Event with missing mandatory parameter
     [Tags]    DCAE-VESC-R1
     [Documentation]   Post single event with lack of one of the mandatory parameters "domain" to /eventListener/v7 endpoint and expect 400 Response Status Code
-    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_MISSING_MANDATORY_DOMAIN_V7}  400
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_MISSING_MANDATORY_PARAMETER_V7}  400
+
+Publish Single VES VNF Measurement Event with empty json
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with empty json to /eventListener/v7 endpoint and expect 400 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_EMPTY_JSON}  400
+
+Publish Single VES VNF Measurement Event with parameter out of schema
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with parameter which is not defined in schema and send to /eventListener/v7 endpoint. Expected 400 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_PARAMETER_OUT_OF_SCHEMA_V7}  400
 
 Publish Single VES VNF Measurement Event with No Auth over HTTPS
     [Tags]    DCAE-VESC-R1
@@ -57,6 +67,21 @@ Publish VES VoLTE Fault Batch Events
     [Documentation]   Post single event with valid data to /eventListener/v5/eventBatch endpoint and expect 202 Response Status Code
     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_BATCH_EVENT_PATH}  ${EVENT_BATCH_DATA_FILE}  202  ab305d54-85b4-a31b-7db2-fb6b9e546025
 
+Publish VES Batch Events with empty json
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post empty json to /eventListener/v7/eventBatch endpoint and expect 400 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_EMPTY_JSON}  400
+
+Publish VES Batch Events with missing mandatory parameter
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post event list where one of the events doesn't have mandatory domain param, to /eventListener/v7/eventBatch endpoint and expect 400 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_BATCH_MISSING_MANDATORY_PARAM_V7}  400
+
+Publish VES Batch Events wih parameter out of schema
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post event list where one of the events have additional dummy param, to /eventListener/v7/eventBatch endpoint and expect 400 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_BATCH_PARAM_OUT_OF_SCHEMA_V7}  400
+
 Publish VES Event With Invalid Method
     [Tags]    DCAE-VESC-R1
     [Documentation]    Use invalid Put instead of Post method to expect 405 Response Status Code
@@ -74,6 +99,23 @@ Publish PNF Registration Event
     [Documentation]   Post PNF registration event and expect 200 Response Status Code
     Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_PNF_REGISTRATION}  202  QTFCOC540002E-reg
 
+Publish VES Event With Invalid Method V7
+    [Tags]    DCAE-VESC-R1
+    [Documentation]    Use invalid Put instead of Post method to expect 405 Response Status Code
+    Log   Send HTTP Request with invalid method Put instead of Post
+    Send Request And Validate Response  Publish Event To VES Collector With Put Method  ${http_session}  ${VES_EVENTLISTENER_V7}  ${EVENT_DATA_FILE}  405
+
+Publish VES Event With Invalid URL Path V7
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event to invalid url path and expect 404 Response  Status Code
+    Log   Send HTTP Request with invalid /listener/v5/ instead of /eventListener/v5 path
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  /listener/v7/  ${EVENT_DATA_FILE}  404
+
+Publish PNF Registration Event V7
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post PNF registration event and expect 200 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${EVENT_PNF_REGISTRATION_V7}  202  registration_38407540
+
 # Auth by certificate and basic auth username / password
 
 Enable VESC HTTPS with certBasicAuth
index 5262330..961bb46 100644 (file)
@@ -31,14 +31,19 @@ ${VES_EVENTLISTENER_V7}                  /eventListener/v7
 ${VES_BATCH_EVENT_ENDPOINT_V7}           /eventListener/v7/eventBatch
 ${VES_VALID_JSON_V7}                     %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_valid.json
 ${VES_INVALID_JSON_V7}                   %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_invalid.json
-${VES_MISSING_MANDATORY_DOMAIN_V7}       %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_missing_mandatory_domain.json
+${VES_PARAMETER_OUT_OF_SCHEMA_V7}        %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_parameter_out_of_schema.json
+${VES_MISSING_MANDATORY_PARAMETER_V7}    %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_missing_mandatory_parameter.json
+${VES_EMPTY_JSON}                        %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_empty_json.json
 ${VES_VALID_BATCH_JSON_V7}               %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_batch_valid.json
+${VES_BATCH_MISSING_MANDATORY_PARAM_V7}  %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_batch_missing_mandatory_parameter.json
+${VES_BATCH_PARAM_OUT_OF_SCHEMA_V7}      %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_batch_parameter_out_of_schema.json
 ${EVENT_DATA_FILE}                       %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event.json
 ${EVENT_MEASURE_FILE}                    %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_vfirewall_measurement.json
 ${EVENT_DATA_FILE_BAD}                   %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event_bad.json
 ${EVENT_BATCH_DATA_FILE}                 %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_eventlist_batch.json
 ${EVENT_THROTTLING_STATE_DATA_FILE}      %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_provide_throttle_state.json
 ${EVENT_PNF_REGISTRATION}                %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_pnf_registration_event.json
+${EVENT_PNF_REGISTRATION_V7}             %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_pnf_registration_event.json
 ${DCAE_HEALTH_CHECK_BODY}                %{WORKSPACE}/tests/dcae/testcases/assets/json_events/dcae_healthcheck.json
 
 #DCAE Health Check