CSIT tests update for Synchronous VES collector 40/122040/1
authorPawel <pawel.kasperkiewicz@nokia.com>
Fri, 18 Jun 2021 13:26:31 +0000 (15:26 +0200)
committerPawel <pawel.kasperkiewicz@nokia.com>
Fri, 18 Jun 2021 13:26:31 +0000 (15:26 +0200)
-When evens belonging to different domains are reported in eventBatch
-When different stndDefinedNamespace is used if domain==stndDefined
-Error codes resulting from DMaaP-MR errors, mapped to HTTP/503

Issue-ID: DCAEGEN2-1483
Signed-off-by: Pawel <pawel.kasperkiewicz@nokia.com>
Change-Id: I4c993e4c7bfd22981030c69e126e90bbf7e48d4a

13 files changed:
tests/dcaegen2/testcases/03__stndDefined_tests.robot
tests/dcaegen2/testcases/04__backwards_compatibility_tests.robot [new file with mode: 0644]
tests/dcaegen2/testcases/assets/json_events/ves7_batch_stdnDefined_valid.json [new file with mode: 0644]
tests/dcaegen2/testcases/assets/json_events/ves7_batch_stdnDefined_withDifferentStndDefinedNamespace.json [new file with mode: 0644]
tests/dcaegen2/testcases/assets/json_events/ves7_batch_with_different_domain.json [new file with mode: 0644]
tests/dcaegen2/testcases/resources/collector_backwards_compatibility.properties [new file with mode: 0755]
tests/dcaegen2/testcases/resources/collector_basic_auth.properties
tests/dcaegen2/testcases/resources/collector_stnd_defined.properties
tests/dcaegen2/testcases/resources/collector_stnd_defined_new_schema_map.properties
tests/dcaegen2/testcases/resources/dcae_properties.robot
tests/dcaegen2/testcases/resources/robot_library/DmaapLibrary.py
tests/dcaegen2/testcases/resources/robot_library/dmaap_simulator/DMaaPHandler.py
tests/dcaegen2/testcases/resources/robot_library/dmaap_simulator/DMaaPServer.py

index 08970ef..aac0086 100644 (file)
@@ -70,6 +70,16 @@ Publish Single VES Event With Invalid Type Of Multiply StndDefined Data Fields
     [Documentation]   Post single event with invalid stndDefined data fields and return error
     Send Request And Validate Response And Error Message  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_EVENTLISTENER_V7}  ${VES_STND_DEFINED_INVALID_TYPE_DATA}  400  The following service error occurred: %1. Error code is %2
 
+Publish VES Batch Event With Different StndDefinedNamespace Parameters
+    [Tags]    DCAE-VESC-R1 DCAE-VESC-STNDDEFINED
+    [Documentation]   Post batch event with invalid data (different stndDefinedNamespace values in events) to /eventListener/v7/eventBatch endpoint, expect 400 Response Status Code and "Value of stndDefinedNamespace fields have to be same when domain is stndDefined" message
+    Send Request And Validate Response And Error Message  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_BATCH_STND_DEFINED_TWO_DIFFERENT_STND_NAMESPACE}    400   Value of stndDefinedNamespace fields have to be same when domain is stndDefined
+
+Publish Batch VES Event With Correct Data
+    [Tags]    DCAE-VESC-R1 DCAE-VESC-STNDDEFINED
+    [Documentation]   Post single event with correct stndDefined data
+    Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_BATCH_STND_DEFINED_VALID}  202
+
 
 #####################################################
 ## Section for tests with stndDefined validation OFF
diff --git a/tests/dcaegen2/testcases/04__backwards_compatibility_tests.robot b/tests/dcaegen2/testcases/04__backwards_compatibility_tests.robot
new file mode 100644 (file)
index 0000000..a1f285d
--- /dev/null
@@ -0,0 +1,60 @@
+*** Settings ***
+Resource          ./resources/dcae_keywords.robot
+*** Test Cases ***
+VES Collector HTTP Health Check
+    [Tags]    DCAE-VESC-R1  DCAE-VESC-HC
+    [Documentation]   Run healthcheck over HTTP
+    Override Collector Properties  ${VES_BACKWARDS_COMPATIBILITY_PROPERTIES}
+    Run Healthcheck  ${http_session}
+
+Publish Single VES VNF Measurement Event API V7
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with valid data to /eventListener/v7 endpoint and expect 200 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  200
+
+Publish Single VES VNF Measurement Event API V7 DmaaP response code mock as 404, expected VES response code 503
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with valid data to /eventListener/v7 endpoint and expect 503 Response Status Code
+    Set Successfull Dmaap Code  404
+    Send Request And Validate Response And Error Message  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  503  ${ERROR_MESSAGE_CODE}
+
+Publish Single VES VNF Measurement Event API V7 DmaaP response code mock as 408, expected VES response code 503
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with valid data to /eventListener/v7 endpoint and expect 503 Response Status Code
+    Set Successfull Dmaap Code  408
+    Send Request And Validate Response And Error Message  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  503  ${ERROR_MESSAGE_CODE}
+
+Publish Single VES VNF Measurement Event API V7 DmaaP response code mock as 429, expected VES response code 503
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with valid data to /eventListener/v7 endpoint and expect 503 Response Status Code
+    Set Successfull Dmaap Code  429
+    Send Request And Validate Response And Error Message  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  503  ${ERROR_MESSAGE_CODE}
+
+Publish Single VES VNF Measurement Event API V7 DmaaP response code mock as 502, expected VES response code 503
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with valid data to /eventListener/v7 endpoint and expect 503 Response Status Code
+    Set Successfull Dmaap Code  502
+    Send Request And Validate Response And Error Message  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  503  ${ERROR_MESSAGE_CODE}
+
+Publish Single VES VNF Measurement Event API V7 DmaaP response code mock as 503, expected VES response code 503
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with valid data to /eventListener/v7 endpoint and expect 503 Response Status Code
+    Set Successfull Dmaap Code  503
+    Send Request And Validate Response And Error Message  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  503  ${ERROR_MESSAGE_CODE}
+
+Publish Single VES VNF Measurement Event API V7 DmaaP response code mock as 504, expected VES response code 503
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with valid data to /eventListener/v7 endpoint and expect 503 Response Status Code
+    Set Successfull Dmaap Code  504
+    Send Request And Validate Response And Error Message  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  503  ${ERROR_MESSAGE_CODE}
+
+Publish Single VES VNF Measurement Event API V7 DmaaP response code mock as 413, expected VES response code 413
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with valid data to /eventListener/v7 endpoint and expect 413 Response Status Code
+    Set Successfull Dmaap Code  413
+    Send Request And Validate Response And Error Message  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  413  ${ERROR_MESSAGE_CODE}
+
+Publish VES Batch Event With Different Domain Parameters
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post batch event with two different domain fileds data to /eventListener/v7/eventBatch endpoint, expect 400 Response Status Code and "Different value of domain fields in Batch Event" message
+    Send Request And Validate Response And Error Message  Publish Event To VES Collector  ${http_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_BATCH_TWO_DIFFERENT_DOMAIN}   400   Different value of domain fields in Batch Event
\ No newline at end of file
diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_batch_stdnDefined_valid.json b/tests/dcaegen2/testcases/assets/json_events/ves7_batch_stdnDefined_valid.json
new file mode 100644 (file)
index 0000000..3bc68bc
--- /dev/null
@@ -0,0 +1,108 @@
+{
+  "eventList": [
+    {
+      "commonEventHeader": {
+        "version": "4.1",
+        "vesEventListenerVersion": "7.2",
+        "domain": "stndDefined",
+        "eventId": "stndDefined-gNB_Nokia000001",
+        "eventName": "stndDefined-gNB-Nokia-PowerLost",
+        "stndDefinedNamespace": "3GPP-FaultSupervision",
+        "startEpochMicrosec": 1413378172000000,
+        "lastEpochMicrosec": 1413378172000000,
+        "reportingEntityName": "ibcx0001vm002oam001",
+        "sourceName": "scfx0001vm002cap001",
+        "sequence": 1,
+        "priority": "High"
+      },
+      "stndDefinedFields": {
+        "schemaReference": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml#components/schemas/NotifyNewAlarm",
+        "data": {
+          "href": 1,
+          "uri": "1",
+          "notificationId": 1,
+          "notificationType": "notifyNewAlarm",
+          "eventTime": "xyz",
+          "systemDN": "xyz",
+          "probableCause": 1,
+          "perceivedSeverity": "INDETERMINATE",
+          "rootCauseIndicator": false,
+          "specificProblem": "xyz",
+          "correlatedNotifications": [],
+          "backedUpStatus": true,
+          "backUpObject": "xyz",
+          "trendIndication": "MORE_SEVERE",
+          "thresholdInfo": {
+            "observedMeasurement": "new",
+            "observedValue": 123
+          },
+          "stateChangeDefinition": {
+          },
+          "monitoredAttributes": {
+            "newAtt": "new"
+          },
+          "proposedRepairActions": "xyz",
+          "additionalText": "xyz",
+          "additionalInformation": {
+            "addInfo": "new"
+          },
+          "alarmId": "1",
+          "alarmType": "COMMUNICATIONS_ALARM"
+        },
+        "stndDefinedFieldsVersion": "1.0"
+      }
+    },
+    {
+      "commonEventHeader": {
+        "version": "4.1",
+        "vesEventListenerVersion": "7.2",
+        "domain": "stndDefined",
+        "eventId": "stndDefined-gNB_Nokia000001",
+        "eventName": "stndDefined-gNB-Nokia-PowerLost",
+        "stndDefinedNamespace": "3GPP-FaultSupervision",
+        "startEpochMicrosec": 1413378172000000,
+        "lastEpochMicrosec": 1413378172000000,
+        "reportingEntityName": "ibcx0001vm002oam001",
+        "sourceName": "scfx0001vm002cap001",
+        "sequence": 1,
+        "priority": "High"
+      },
+      "stndDefinedFields": {
+        "schemaReference": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml#components/schemas/NotifyNewAlarm",
+        "data": {
+          "href": 1,
+          "uri": "1",
+          "notificationId": 1,
+          "notificationType": "notifyNewAlarm",
+          "eventTime": "xyz",
+          "systemDN": "xyz",
+          "probableCause": 1,
+          "perceivedSeverity": "INDETERMINATE",
+          "rootCauseIndicator": false,
+          "specificProblem": "xyz",
+          "correlatedNotifications": [],
+          "backedUpStatus": true,
+          "backUpObject": "xyz",
+          "trendIndication": "MORE_SEVERE",
+          "thresholdInfo": {
+            "observedMeasurement": "new",
+            "observedValue": 123
+          },
+          "stateChangeDefinition": {
+          },
+          "monitoredAttributes": {
+            "newAtt": "new"
+          },
+          "proposedRepairActions": "xyz",
+          "additionalText": "xyz",
+          "additionalInformation": {
+            "addInfo": "new"
+          },
+          "alarmId": "1",
+          "alarmType": "COMMUNICATIONS_ALARM"
+        },
+        "stndDefinedFieldsVersion": "1.0"
+      }
+    }
+  ]
+}
\ No newline at end of file
diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_batch_stdnDefined_withDifferentStndDefinedNamespace.json b/tests/dcaegen2/testcases/assets/json_events/ves7_batch_stdnDefined_withDifferentStndDefinedNamespace.json
new file mode 100644 (file)
index 0000000..7a2c978
--- /dev/null
@@ -0,0 +1,108 @@
+{
+  "eventList": [
+    {
+      "commonEventHeader": {
+        "version": "4.1",
+        "vesEventListenerVersion": "7.2",
+        "domain": "stndDefined",
+        "eventId": "stndDefined-gNB_Nokia000001",
+        "eventName": "stndDefined-gNB-Nokia-PowerLost",
+        "stndDefinedNamespace": "3GPP-FaultSupervision",
+        "startEpochMicrosec": 1413378172000000,
+        "lastEpochMicrosec": 1413378172000000,
+        "reportingEntityName": "ibcx0001vm002oam001",
+        "sourceName": "scfx0001vm002cap001",
+        "sequence": 1,
+        "priority": "High"
+      },
+      "stndDefinedFields": {
+        "schemaReference": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml#components/schemas/NotifyNewAlarm",
+        "data": {
+          "href": 1,
+          "uri": "1",
+          "notificationId": 1,
+          "notificationType": "notifyNewAlarm",
+          "eventTime": "xyz",
+          "systemDN": "xyz",
+          "probableCause": 1,
+          "perceivedSeverity": "INDETERMINATE",
+          "rootCauseIndicator": false,
+          "specificProblem": "xyz",
+          "correlatedNotifications": [],
+          "backedUpStatus": true,
+          "backUpObject": "xyz",
+          "trendIndication": "MORE_SEVERE",
+          "thresholdInfo": {
+            "observedMeasurement": "new",
+            "observedValue": 123
+          },
+          "stateChangeDefinition": {
+          },
+          "monitoredAttributes": {
+            "newAtt": "new"
+          },
+          "proposedRepairActions": "xyz",
+          "additionalText": "xyz",
+          "additionalInformation": {
+            "addInfo": "new"
+          },
+          "alarmId": "1",
+          "alarmType": "COMMUNICATIONS_ALARM"
+        },
+        "stndDefinedFieldsVersion": "1.0"
+      }
+    },
+    {
+      "commonEventHeader": {
+        "version": "4.1",
+        "vesEventListenerVersion": "7.2",
+        "domain": "stndDefined",
+        "eventId": "stndDefined-gNB_Nokia000001",
+        "eventName": "stndDefined-gNB-Nokia-PowerLost",
+        "stndDefinedNamespace": "3GPP-FaultSupervision-Wrong",
+        "startEpochMicrosec": 1413378172000000,
+        "lastEpochMicrosec": 1413378172000000,
+        "reportingEntityName": "ibcx0001vm002oam001",
+        "sourceName": "scfx0001vm002cap001",
+        "sequence": 1,
+        "priority": "High"
+      },
+      "stndDefinedFields": {
+        "schemaReference": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml#components/schemas/NotifyNewAlarm",
+        "data": {
+          "href": 1,
+          "uri": "1",
+          "notificationId": 1,
+          "notificationType": "notifyNewAlarm",
+          "eventTime": "xyz",
+          "systemDN": "xyz",
+          "probableCause": 1,
+          "perceivedSeverity": "INDETERMINATE",
+          "rootCauseIndicator": false,
+          "specificProblem": "xyz",
+          "correlatedNotifications": [],
+          "backedUpStatus": true,
+          "backUpObject": "xyz",
+          "trendIndication": "MORE_SEVERE",
+          "thresholdInfo": {
+            "observedMeasurement": "new",
+            "observedValue": 123
+          },
+          "stateChangeDefinition": {
+          },
+          "monitoredAttributes": {
+            "newAtt": "new"
+          },
+          "proposedRepairActions": "xyz",
+          "additionalText": "xyz",
+          "additionalInformation": {
+            "addInfo": "new"
+          },
+          "alarmId": "1",
+          "alarmType": "COMMUNICATIONS_ALARM"
+        },
+        "stndDefinedFieldsVersion": "1.0"
+      }
+    }
+  ]
+}
\ No newline at end of file
diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_batch_with_different_domain.json b/tests/dcaegen2/testcases/assets/json_events/ves7_batch_with_different_domain.json
new file mode 100644 (file)
index 0000000..0a7d4a0
--- /dev/null
@@ -0,0 +1,67 @@
+
+{
+   "eventList": [
+      {
+         "commonEventHeader": {
+            "version": "4.0.1",
+            "vesEventListenerVersion": "7.0.1",
+            "domain": "fault",
+            "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": "other",
+            "eventName": " Fault_Vscf:Acs-Ericcson_RecordingServerUnreachable",
+            "eventId": "other0000251",
+            "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"
+         }
+      }
+   ]
+}
+
diff --git a/tests/dcaegen2/testcases/resources/collector_backwards_compatibility.properties b/tests/dcaegen2/testcases/resources/collector_backwards_compatibility.properties
new file mode 100755 (executable)
index 0000000..e62c14c
--- /dev/null
@@ -0,0 +1,83 @@
+###############################################################################
+##
+## Collector Server config
+##
+##     - Default values are shown as commented settings.
+##
+###############################################################################
+##
+## HTTP(S) service
+##
+##     Normally:
+##
+##             - 8080 is http service
+##             - https is disabled by default
+##
+##             - At this time, the server always binds to 0.0.0.0
+##
+##
+collector.service.port=8080
+
+## Authentication is only supported via secure port
+## When enabled - require valid keystore defined
+collector.service.secure.port=8443
+
+# auth.method flags:
+#
+# noAuth - default option - no security (http)
+# certBasicAuth - auth by certificate and basic auth username / password (https)
+auth.method=noAuth
+
+## Combination of userid,hashPassword encoded pwd list to be supported
+## userid and pwd comma separated; pipe delimitation between each pair
+## Password is generated by crypt-password library using BCrypt algorithm stored in dcaegen2/sdk package
+## or https://nexus.onap.org/#nexus-search;quick~crypt-password
+header.authlist=sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6
+
+## The keystore must be setup per installation when secure port is configured
+collector.keystore.file.location=etc/keystore
+collector.keystore.passwordfile=etc/passwordfile
+
+collector.cert.subject.matcher=etc/certSubjectMatcher.properties
+
+## The truststore must be setup per installation when mutual tls support is configured
+collector.truststore.file.location=etc/truststore
+collector.truststore.passwordfile=etc/trustpasswordfile
+
+## Schema Validation checkflag
+## default no validation checkflag (-1)
+## If enabled (1) - schemafile location must be specified
+collector.schema.checkflag=1
+collector.schema.file={\"v1\":\"./etc/CommonEventFormat_27.2.json\",\"v2\":\"./etc/CommonEventFormat_27.2.json\",\"v3\":\"./etc/CommonEventFormat_27.2.json\",\"v4\":\"./etc/CommonEventFormat_27.2.json\",\"v5\":\"./etc/CommonEventFormat_28.4.1.json\",\"v7\":\"./etc/CommonEventFormat_30.2.1_ONAP.json\"}
+
+## Schema StndDefinedFields Validation checkflag
+## default no validation checkflag (-1)
+## If enabled (1) - schema files locations must be specified, mapping file path must be specified, schema reference path
+## in event json must be specified, path to stndDefined data field in event json must be specified
+collector.externalSchema.checkflag=1
+collector.externalSchema.schemasLocation=./etc/externalRepo/
+collector.externalSchema.mappingFileLocation=./etc/externalRepo/schema-map.json
+event.externalSchema.schemaRefPath=$.event.stndDefinedFields.schemaReference
+event.externalSchema.stndDefinedDataPath=$.event.stndDefinedFields.data
+
+
+## List all streamid per domain to be supported. The streamid should match to channel name on dmaapfile
+collector.dmaap.streamid=fault=ves-fault,ves-other|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance
+collector.dmaapfile=./etc/ves-dmaap-config.json
+
+## Path to the file containing description of api versions
+collector.description.api.version.location=etc/api_version_description.json
+
+## Event transformation Flag - when set expects configurable transformation
+## defined under ./etc/eventTransform.json
+## Enabled by default; to disable set to 0
+event.transform.flag=1
+
+# Describes at what frequency (measured in minutes) should application try to fetch config from CBS
+collector.dynamic.config.update.frequency=5
+
+# Response compatibility (set to None to turn off ves 7.2 compatibility)
+# v7.2 response codes: 202, 500
+# None response code: 200, 413, 503
+collector.response.compatibility=None
+
index cd41763..aff4b1b 100755 (executable)
@@ -62,7 +62,7 @@ event.externalSchema.stndDefinedDataPath=/event/stndDefinedFields/data
 
 ## List all streamid per domain to be supported. The streamid should match to channel name on dmaapfile
 collector.dmaap.streamid=fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance
-collector.dmaapfile=./etc/DmaapConfig.json
+collector.dmaapfile=./etc/ves-dmaap-config.json
 
 ## Event transformation Flag - when set expects configurable transformation
 ## defined under ./etc/eventTransform.json
@@ -71,3 +71,8 @@ event.transform.flag=1
 
 # Describes at what frequency (measured in minutes) should application try to fetch config from CBS
 collector.dynamic.config.update.frequency=5
+
+# Response compatibility (set to None to turn off ves 7.2 compatibility)
+# v7.2 response codes: 202, 500
+# None response code: 200, 413, 503
+collector.response.compatibility=v7.2
index 9712dff..a5ae2b3 100644 (file)
@@ -62,7 +62,7 @@ event.externalSchema.stndDefinedDataPath=/event/stndDefinedFields/data
 
 ## List all streamid per domain to be supported. The streamid should match to channel name on dmaapfile
 collector.dmaap.streamid=fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance
-collector.dmaapfile=./etc/DmaapConfig.json
+collector.dmaapfile=./etc/ves-dmaap-config.json
 
 ## Event transformation Flag - when set expects configurable transformation
 ## defined under ./etc/eventTransform.json
@@ -71,3 +71,8 @@ event.transform.flag=1
 
 # Describes at what frequency (measured in minutes) should application try to fetch config from CBS
 collector.dynamic.config.update.frequency=5
+
+# Response compatibility (set to None to turn off ves 7.2 compatibility)
+# v7.2 response codes: 202, 500
+# None response code: 200, 413, 503
+collector.response.compatibility=v7.2
index cd41763..aff4b1b 100644 (file)
@@ -62,7 +62,7 @@ event.externalSchema.stndDefinedDataPath=/event/stndDefinedFields/data
 
 ## List all streamid per domain to be supported. The streamid should match to channel name on dmaapfile
 collector.dmaap.streamid=fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance
-collector.dmaapfile=./etc/DmaapConfig.json
+collector.dmaapfile=./etc/ves-dmaap-config.json
 
 ## Event transformation Flag - when set expects configurable transformation
 ## defined under ./etc/eventTransform.json
@@ -71,3 +71,8 @@ event.transform.flag=1
 
 # Describes at what frequency (measured in minutes) should application try to fetch config from CBS
 collector.dynamic.config.update.frequency=5
+
+# Response compatibility (set to None to turn off ves 7.2 compatibility)
+# v7.2 response codes: 202, 500
+# None response code: 200, 413, 503
+collector.response.compatibility=v7.2
index 2ae46f9..9bb16bd 100644 (file)
@@ -60,10 +60,15 @@ ${VES_STND_DEFINED_NO_VALUE}             %{WORKSPACE}/tests/dcaegen2/testcases/a
 ${VES_STND_DEFINED_INVALID_TYPE_DATA}    %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves_stdnDefined_invalid_type_data_field.json
 ${VES_CERT_BASIC_AUTH_COLLECTOR_PROPERTIES}  %{WORKSPACE}/tests/dcaegen2/testcases/resources/collector_basic_auth.properties
 ${VES_DISABLED_STNDDEFINED_COLLECTOR_PROPERTIES}  %{WORKSPACE}/tests/dcaegen2/testcases/resources/collector_stnd_defined.properties
+${VES_BACKWARDS_COMPATIBILITY_PROPERTIES}  %{WORKSPACE}/tests/dcaegen2/testcases/resources/collector_backwards_compatibility.properties
 ${VES_ADD_REFERENCE_TO_OTHER_SCHEMAS}   %{WORKSPACE}/tests/dcaegen2/testcases/resources/collector_stnd_defined_new_schema_map.properties
 ${VES_VALID_JSON_WITH_RFERENCE_TO_VALID_SCHEMA}  %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_valid_eventWithStndDefinedFields_with_valid_schema_ref.json
 ${VES_VALID_JSON_V7_STND_DEF_FIELDS_WRONG_SCHEMA_FILE_REF}   %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_valid_eventWithStndDefinedFields_to_schema_with_wrong_file_ref.json
 ${VES_VALID_JSON_V7_STND_DEF_FIELDS_WRONG_SCHEMA_INTERNAL_REF}  %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_valid_eventWithStndDefinedFields_to_schema_with_wrong_internal_ref.json
+${VES_BATCH_TWO_DIFFERENT_DOMAIN}  %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_batch_with_different_domain.json
+${VES_BATCH_STND_DEFINED_TWO_DIFFERENT_STND_NAMESPACE}  %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_batch_stdnDefined_withDifferentStndDefinedNamespace.json
+${VES_BATCH_STND_DEFINED_VALID}  %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_batch_stdnDefined_valid.json
+${ERROR_MESSAGE_CODE}  The following service error occurred: %1. Error code is %2
 
 #DCAE Health Check
 ${CONFIG_BINDING_URL}                    http://localhost:8443
index c9a0ff7..f79ba04 100644 (file)
@@ -49,6 +49,7 @@ class DmaapLibrary(object):
 
     @staticmethod
     def cleanup_ves_events():
+        DmaapLibrary.dmaap_server.reset_dmaap_succesfull_code()
         if DmaapLibrary.server_thread is not None:
             DmaapLibrary.dmaap_queue.clean_up_event()
             logger.console("DMaaP event queue is cleaned up")
@@ -77,3 +78,7 @@ class DmaapLibrary(object):
                 return 'true'
             evt_str = DmaapLibrary.dmaap_queue.deque_event()
         return 'false'
+
+    @staticmethod
+    def set_successfull_dmaap_code(code):
+        DmaapLibrary.dmaap_server.set_dmaap_successfull_code(int(code))
\ No newline at end of file
index f1c46e1..cc73c36 100644 (file)
@@ -19,9 +19,11 @@ try:
 except ImportError:
     from StringIO import StringIO
 
-
 class DMaaPHandler(BaseHTTPServer.BaseHTTPRequestHandler):
 
+    DEFAULT_SUCCES_RESPONSE_CODE=200
+    succes_response_code=DEFAULT_SUCCES_RESPONSE_CODE
+
     def __init__(self, dmaap_simulator, *args):
         self.dmaap_simulator = dmaap_simulator
         BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args)
@@ -66,7 +68,7 @@ class DMaaPHandler(BaseHTTPServer.BaseHTTPRequestHandler):
         if 'clientThrottlingState' in self.requestline:
             self.send_response(204)
         else:
-            self.send_response(200)
+            self.send_response(self.succes_response_code)
             self.send_header('Content-Type', 'application/json')
             self.end_headers()
             self.wfile.write("{'count': 1, 'serverTimeMs': 3}")
index 37499be..8b66fd4 100644 (file)
@@ -14,6 +14,12 @@ class DMaaPServer(BaseHTTPServer.HTTPServer):
         serer_address = self.socket.getsockname()
         print "Serving HTTP on", serer_address[0], "port", serer_address[1], "..."
 
+    def set_dmaap_successfull_code(self,code_number):
+        DMaaPHandler.DMaaPHandler.succes_response_code=code_number
+
+    def reset_dmaap_succesfull_code(self):
+        DMaaPHandler.DMaaPHandler.succes_response_code=DMaaPHandler.DMaaPHandler.DEFAULT_SUCCES_RESPONSE_CODE
+
 
 def create_dmaap_server(dmaap_simulator, protocol="HTTP/1.0", port=3904):
     server_address = ('', port)