Add CSIT tests for VES event-listener endpoint

Issue-ID: DCAEGEN2-1981
Change-Id: I6f71ec8a23dd0835540869dcac445834ebee2342
Signed-off-by: Aleksandra Maciaga <aleksandra.maciaga@nokia.com>
diff --git a/tests/dcaegen2/testcases/assets/certs/outdated.crt b/tests/dcaegen2/testcases/assets/certs/outdated.crt
new file mode 100644
index 0000000..8768cff
--- /dev/null
+++ b/tests/dcaegen2/testcases/assets/certs/outdated.crt
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIIEGDCCAgACFFgwd9DMpQEwVkrCkzJPGRq6xW3EMA0GCSqGSIb3DQEBCwUAMEUx
+CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl
+cm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMTkxMTE4MTIyMzIyWhcNMTkxMTE5MTIy
+MzIyWjBMMQswCQYDVQQGEwJQTDELMAkGA1UECAwCRGwxEDAOBgNVBAcMB1dyb2Ns
+YXcxDjAMBgNVBAoMBU5va2lhMQ4wDAYDVQQLDAVOb2tpYTCCASIwDQYJKoZIhvcN
+AQEBBQADggEPADCCAQoCggEBALIx4HC0SskTvE5dzcfHcrjsvBvKJeum7NkVvpk2
+4hxhcynfmhM6wJ0VJV0x6B4mHe0ja4tJZdY5IyfRMV/5Q79hiiLmwg6hgjXX7MKn
+7JnFCX1iMj+zXlQzCLgXVpB6ruBAMImiBjGn2MlTIHKthsNGX6Qf+hDmJqEfoRuI
+jp7SwI4BvN084ijIpNWARdxAsAQ1qJjrCLhvJ9Ob8btCqclAzv3ZPAcOD6DjORx5
+JxIMMJ6bXfHgmsECy4dbGBMnieKF1O8NNdoypVCE+NuqckSmE2JQiHIkRHZ5Bul4
+ihk+wSR2WxiNOOuMN7bp+0Yan44ritMB06wpFdp4jGMvyTsCAwEAATANBgkqhkiG
+9w0BAQsFAAOCAgEAYQEi9+o6+nlMvXJlal62QPoBPOQqFKWTBd5X0Wv+L0K/5yAO
+S2Sv0woQyDLydjsglNLEJB3VJuPQsoRZDGqv9aThJ0j+/BzylbkxwcReMs7P+rl2
+DIeqjdvsato3ZB0Rtp28jBDI7HrvBfmGQQFUaeBRI7eybe3AXqy8INozkdAGeeIr
+FxMmrZ0z7eQj5T8CE/ebmsbdIDRPmI672V8Tojd6nQSZFAG9/9q6f/iK45Mx6Qls
+Qqfl+bdL3ey0aNsUR6yWNa2DBA15HW9GvUQuMxeGDNQn0bxib0KsKgxfbX4vLYVF
+RgC/c1td9LJoSMl3tURoZwRfAHFX82jDxAExtlTMvZMleMlP3O/YRB0SNieFeidE
+O3OzuCHBvEpQEcDdUMxc4XfCnV1nE6QHLsBwz3Zwt4ZnL6dS8iBE0p3NN5qHVWF7
+Vxb59ZYPCrTQbgTsKlfHyX8aB2Nk0rCgDFBbov7gVevOHjIWqmDyFhrNEJEmXO+3
+MM8UrImojbr4kn89VsujMP62jMqyXifuejGzkoHf6tBuTENiNxwmPwiX+ZD5etVE
+kh8c7aoRZi6zv+vMUu6U1RpYUEPGMTGZKBsuk+2IABhfD5UcneGR3kX2Vtb34EZE
+8i29bJY7CmzNBUlkbubqv8axklF2hxiN7w8oRLj+tH8jnVMMP47KuHaNx+8=
+-----END CERTIFICATE-----
diff --git a/tests/dcaegen2/testcases/assets/certs/outdated.key b/tests/dcaegen2/testcases/assets/certs/outdated.key
new file mode 100644
index 0000000..860b30f
--- /dev/null
+++ b/tests/dcaegen2/testcases/assets/certs/outdated.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEAsjHgcLRKyRO8Tl3Nx8dyuOy8G8ol66bs2RW+mTbiHGFzKd+a
+EzrAnRUlXTHoHiYd7SNri0ll1jkjJ9ExX/lDv2GKIubCDqGCNdfswqfsmcUJfWIy
+P7NeVDMIuBdWkHqu4EAwiaIGMafYyVMgcq2Gw0ZfpB/6EOYmoR+hG4iOntLAjgG8
+3TziKMik1YBF3ECwBDWomOsIuG8n05vxu0KpyUDO/dk8Bw4PoOM5HHknEgwwnptd
+8eCawQLLh1sYEyeJ4oXU7w012jKlUIT426pyRKYTYlCIciREdnkG6XiKGT7BJHZb
+GI0464w3tun7RhqfjiuK0wHTrCkV2niMYy/JOwIDAQABAoIBAQCSYqLsM1AUa2AQ
+SMMZ0WEPRXsqoSARvKlplJFlME8D3ZJL3eKm1WcSJCLzsmHrEokXHDfmzr8YAww8
+U3/qRc0/1RMzpLnaZxeev+lB581YbSNkm1yINAPTy7Dn+lQkkIREuLam+jF4bViL
+2vwW+TJyDMfY/mPhqhAl4OPqyH3RPhSmC23zkPsqFU2ZXJQB/7CcDP9OtXN9OLM5
+/hjDTW0/+0/xLjzBDJbrzUSsBCD03/vis+mvZJ/pN31ZK+/zXz62yzGqN++bnoSA
+mlAUL6QrkVER9dKoLwUoNncbbsmeYnNSvJqmPNgdm0BSDKVzP1u0lvX93nSsRG0c
+vrHXb56xAoGBAOk5WwOfRtqUfkbGdJoX5R+PzRq9WGb6ZAquD8ST3rOtoQhPBQDI
+Cx26UbhJyH2xKhME8ZI0rjW0llI/erJbiLK9v668HzfqgoFZIly3t7nwmstFvoo9
+1CUo9TPsppGKQLo1iJV6iJIH14kPlOtSwIbGd9ixzqp1rBCIvwEi+Fq3AoGBAMOY
+x9ZlHmy2kmXTRjojf0zNPkkBsd8KatvH9AgYoUnulQBqdfCiTJTB+4JRyZ7sE6su
+mbtKP3SM9FJTGg0bNCDO2fwjkqia5WyssI9sVITwoPw5o11mR7WEXtfM1UtgLJbo
+xEN/TaFLoltW+kNaS0GzsJBzZvp8mbcmoFbx9hGdAoGAGVHjwqnpHFPgvbhP8mbD
+tkB7aPrDfTKT5+Drz1CqbeFcyTUi+um84zZWJubDwHmacsQnodLcUvJPG5DOtkxf
+s+ALzmGYFg78qiROKbi8VpB7jbP9sq5xuLMQo9l+X/CdhFnJgUjzSL9XNAcgCMhM
+JJWpbzomkLUDwCvIaMwuIFMCgYEAwv81exAkXM1G9izC/oMVDkQvrCj8YxfHoISf
+TNMBOOuZsGhyXAvxvPwG+cz/7Gf+09IJgSZsTI2ZpdkjR52vQmX1++Ca/Wwu/UDM
+ZK/jMwWR+OKdcyfcpaHpy8pxekvPKEO2JnRruDnnCpiTt0H1dPLnO5tRNrexp13i
+y8s9PiECgYEAzCk/b/62WIpEb7BPO19I7XR8xAT36QINiTJrOHqrh6iexD9T63Zf
+0OuNsnLna2uvPRsSKnoU8a0/frEKIu45LBrUh1XqKjgRP1PMktAI6KGwRvPXTzGT
+WVgznP2uU6wCyvd6obRfcX79egDeZrGfJ0xnuesaIEeYM+5CFgxqmHo=
+-----END RSA PRIVATE KEY-----
diff --git a/tests/dcaegen2/testcases/assets/json_events/ves7_batch_valid.json b/tests/dcaegen2/testcases/assets/json_events/ves7_batch_valid.json
new file mode 100644
index 0000000..1db81ee
--- /dev/null
+++ b/tests/dcaegen2/testcases/assets/json_events/ves7_batch_valid.json
@@ -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": "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"
+         }
+      }
+   ]
+}
+
diff --git a/tests/dcaegen2/testcases/dcae_ves.robot b/tests/dcaegen2/testcases/dcae_ves.robot
index c035423..f9a97b0 100644
--- a/tests/dcaegen2/testcases/dcae_ves.robot
+++ b/tests/dcaegen2/testcases/dcae_ves.robot
@@ -1,153 +1,72 @@
 *** Settings ***
-Documentation	  Testing DCAE VES Listener with various event feeds from VoLTE, vDNS, vFW and cCPE use scenarios
-Library     RequestsLibrary
+Documentation     Run healthchecks for DCAE VES
+...               Testing /eventListener/v7 and /eventListener/v7/eventBatch endpoints for DCEA VES v7.
+...               Testing /eventListener/v5 and /eventListener/v5/eventBatch for DCEA VES v5 with various event feeds from VoLTE, vFW and PNF
+Library           RequestsLibrary
 Library           OperatingSystem
 Library           Collections
 Library           DcaeLibrary
-Resource          resources/dcae_keywords.robot
-Resource          ../../common.robot
-Resource          resources/dcae_properties.robot
-Test Setup        Cleanup VES Events
+Resource          ./resources/dcae_keywords.robot
+Test Teardown     Cleanup VES Events
 Suite Setup       Run keywords  VES Collector Suite Setup DMaaP  Create sessions  Create header
-Suite Teardown    VES Collector Suite Shutdown DMaaP    
-
-*** Variables ***
-${VESC_URL_HTTPS}                        https://%{VESC_IP}:8443
-${VESC_URL}                              http://%{VESC_IP}:8080
-${VES_ANY_EVENT_PATH}                    /eventListener/v5
-${VES_BATCH_EVENT_PATH}             	 /eventListener/v5/eventBatch
-${VES_THROTTLE_STATE_EVENT_PATH}         /eventListener/v5/clientThrottlingState
-${VES_ENDPOINT}                          /eventListener/v7
-${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
-${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
-
-#DCAE Health Check
-${CONFIG_BINDING_URL}                    http://localhost:8443
-${CB_HEALTHCHECK_PATH}                   /healthcheck
-${CB_SERVICE_COMPONENT_PATH}             /service_component/
-${VES_Service_Name1}                     dcae-controller-ves-collector
-${VES_Service_Name2}                     ves-collector-not-exist
+Suite Teardown    VES Collector Suite Shutdown DMaaP
 
 *** Test Cases ***
 
-#No authorization tests
+#No authentication tests
 
 VES Collector HTTP Health Check
     [Tags]    DCAE-VESC-R1
-    [Documentation]   Ves Collector Health Check
-    ${uuid}=    Generate UUID
-    ${headers}=  Create Dictionary     Accept=*/*     X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}= 	Get Request 	${suite_dcae_vesc_url_session} 	/healthcheck        headers=${headers}
-    Should Be Equal As Strings 	${resp.status_code} 	200
+    [Documentation]   Run healthcheck
+    Run Healthcheck
 
 Publish Single VES VNF Measurement Event API V7
     [Tags]    DCAE-VESC-R1
-    [Documentation]   Post single event and expect 202 Response
-    ${evtdata}=   Get Data From File   ${VES_VALID_JSON_V7}
-    ${resp}=  Publish Event To VES Collector No Auth    ${VES_ENDPOINT}  ${evtdata}
-    Log    Receive HTTP Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	202
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-    ${ret}=  DMaaP Message Receive    ab305d54-85b4-a31b-7db2-fb6b9e546015
-    Should Be Equal As Strings    ${ret}    true
-
+    [Documentation]   Post single event with valid data to /eventListener/v7 endpoint and expect 202 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  202  ab305d54-85b4-a31b-7db2-fb6b9e546015
 
 Publish Single VES VNF Measurement Event with wrong JSON
     [Tags]    DCAE-VESC-R1
-    [Documentation]   Post single event and expect 400 Response
-    ${evtdata}=   Get Data From File   ${VES_INVALID_JSON_V7}
-    ${resp}=  Publish Event To VES Collector No Auth  ${VES_ENDPOINT}  ${evtdata}
-    Log    Receive HTTP Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	400
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.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 No Auth over HTTPS
     [Tags]    DCAE-VESC-R1
-    [Documentation]   Post single event and expect ConnectionError
-    ${evtdata}=   Get Data From File   ${VES_VALID_JSON_V7}
-    ${err_msg}=  Run Keyword And Expect Error  ConnectionError:*   Publish Event To VES Collector   ${VES_ENDPOINT}  ${evtdata}
-    Should Contain  ${err_msg}  Errno 111
-    Log  Recieved error message ${err_msg}
+    [Documentation]   Post single event over HTTPS with authentication disabled and expect ConnectionError
+    @{err_content}  Create List  Errno 111
+    Send Request And Expect Error  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  ConnectionError:*  @{err_content}
 
 Publish Single VES VoLTE Fault Event
     [Tags]    DCAE-VESC-R1
-    [Documentation]   Post single event and expect 202 Response
-    ${evtdata}=   Get Data From File   ${EVENT_DATA_FILE}
-    ${resp}=  Publish Event To VES Collector No Auth    ${VES_ANY_EVENT_PATH}  ${evtdata}
-    Log    Receive HTTP Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	202
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-    ${ret}=  DMaaP Message Receive    ab305d54-85b4-a31b-7db2-fb6b9e546015
-    Should Be Equal As Strings    ${ret}    true
+    [Documentation]   Post single event with valid data to /eventListener/v5 endpoint and expect 202 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_DATA_FILE}  202  ab305d54-85b4-a31b-7db2-fb6b9e546015
 
 Publish Single VES VNF Measurement Event API V5
     [Tags]    DCAE-VESC-R1
-    [Documentation]   Post single event and expect 202 Response
-    ${evtdata}=   Get Data From File   ${EVENT_MEASURE_FILE}
-    ${resp}=  Publish Event To VES Collector No Auth    ${VES_ANY_EVENT_PATH}  ${evtdata}
-    Log    Receive HTTP Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	202
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-    ${ret}=  DMaaP Message Receive    0b2b5790-3673-480a-a4bd-5a00b88e5af6
-    Should Be Equal As Strings    ${ret}    true
+    [Documentation]   Post single measurement event with valid data to /eventListener/v5 endpoint and expect 202 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_MEASURE_FILE}  202  0b2b5790-3673-480a-a4bd-5a00b88e5af6
 
 Publish VES VoLTE Fault Batch Events
     [Tags]    DCAE-VESC-R1
-    [Documentation]   Post batched events and expect 202 Response
-    ${evtdata}=   Get Data From File   ${EVENT_BATCH_DATA_FILE}
-    ${resp}=  Publish Event To VES Collector No Auth    ${VES_BATCH_EVENT_PATH}  ${evtdata}
-    Log    Receive HTTP Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	202
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-    ${ret}=  DMaaP Message Receive    ab305d54-85b4-a31b-7db2-fb6b9e546025
-    Should Be Equal As Strings    ${ret}    true
-
+    [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 Event With Invalid Method
     [Tags]    DCAE-VESC-R1
-    [Documentation]    Use invalid Put instead of Post method to expect 405 response
-    ${evtdata}=   Get Data From File   ${EVENT_DATA_FILE}
+    [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
-    ${resp}=  Publish Event To VES Collector With Put Method No Auth  ${VES_ANY_EVENT_PATH}  ${evtdata}
-    Log    Receive HTTP Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	405
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
+    Send Request And Validate Response  Publish Event To VES Collector With Put Method  ${http_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_DATA_FILE}  405
 
 Publish VES Event With Invalid URL Path
     [Tags]    DCAE-VESC-R1
-    [Documentation]    Use invalid url path to expect 404 response
-    ${evtdata}=   Get Data From File   ${EVENT_DATA_FILE}
+    [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
-    ${resp}=  Publish Event To VES Collector No Auth    /listener/v5/  ${evtdata}
-    Log    Receive HTTP Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	404
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  /listener/v5/  ${EVENT_DATA_FILE}  404
 
 Publish PNF Registration Event
     [Tags]    DCAE-VESC-R1
-    [Documentation]   Post PNF registration event and expect 200 Response
-    ${evtdata}=   Get Data From File   ${EVENT_PNF_REGISTRATION}
-    ${resp}=  Publish Event To VES Collector No Auth    ${VES_ANY_EVENT_PATH}  ${evtdata}
-    Log    Receive HTTP Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	202
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-    ${ret}=  DMaaP Message Receive    QTFCOC540002E-reg
-    Should Be Equal As Strings    ${ret}    true
-
+    [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
 
 # Auth by certificate and basic auth username / password
 
@@ -155,130 +74,110 @@
     [Tags]    DCAE-VESC-R1
     [Documentation]  Enable VESC Https and Authentication and Run Health Check
     Enable VESC with certBasicAuth
+    Run Healthcheck
+
+Healthcheck with Outdated Cert
+    [Tags]    DCAE-VESC-R1
+    [Documentation]  Run healthcheck with outdated cert
     ${uuid}=    Generate UUID
     ${headers}=  Create Dictionary     Accept=*/*     X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}= 	Get Request 	${suite_dcae_vesc_url_session} 	/healthcheck        headers=${headers}
-    Should Be Equal As Strings 	${resp.status_code} 	200
-
-
-Publish Single VES Fault Event Over HTTPS
-    [Tags]    DCAE-VESC-R1
-    [Documentation]   Post single event and expect 202 Response
-    ${evtdata}=   Get Data From File   ${EVENT_DATA_FILE}
-    Log  Login User=${VESC_HTTPS_USER}, Pd=${VESC_HTTPS_PD}
-    ${resp}=  Publish Event To VES Collector    ${VES_ANY_EVENT_PATH}  ${evtdata}
-    Log    Receive HTTPS Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	202
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-    ${ret}=  DMaaP Message Receive    ab305d54-85b4-a31b-7db2-fb6b9e546015
-    Should Be Equal As Strings    ${ret}    true
-
-Publish Single VES Measurement Event Over HTTPS
-    [Tags]    DCAE-VESC-R1
-    [Documentation]   Post single event and expect 202 Response
-    ${evtdata}=   Get Data From File   ${EVENT_MEASURE_FILE}
-    ${resp}=  Publish Event To VES Collector  ${VES_ANY_EVENT_PATH}  ${evtdata}
-    Log    Receive HTTPS Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	202
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-    ${ret}=  DMaaP Message Receive    0b2b5790-3673-480a-a4bd-5a00b88e5af6
-    Should Be Equal As Strings    ${ret}    true
-
-Publish VES Fault Batch Events Over HTTPS
-    [Tags]    DCAE-VESC-R1
-    [Documentation]   Post batched events and expect 202 Response
-    ${evtdata}=   Get Data From File   ${EVENT_BATCH_DATA_FILE}
-    ${resp}=  Publish Event To VES Collector  ${VES_BATCH_EVENT_PATH}  ${evtdata}
-    Should Be Equal As Strings 	${resp.status_code} 	202
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-    ${ret}=  DMaaP Message Receive    ab305d54-85b4-a31b-7db2-fb6b9e546025
-    Should Be Equal As Strings    ${ret}    true
-
-
-Publish VES Event With Invalid URL Path HTTPS
-    [Tags]    DCAE-VESC-R1
-    [Documentation]    Use invalid url path to expect 404 response
-    ${evtdata}=   Get Data From File   ${EVENT_DATA_FILE}
-    Log   Send HTTP Request with invalid /eventlistener/v5/ instead of /eventListener/v5 path
-    ${resp}=  Publish Event To VES Collector  /eventlistener/v5  ${evtdata}
-    Log    Receive HTTPS Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	404
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-
-Publish Single VES VNF Measurement Event over HTTP
-    [Tags]    DCAE-VESC-R1
-    [Documentation]   Post single event over HTTP and expect 400 Response
-    ${evtdata}=   Get Data From File   ${VES_VALID_JSON_V7}
-    ${resp}=  Publish Event To VES Collector No Auth    ${VES_ENDPOINT}  ${evtdata}
-    Log    Receive HTTP Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	400
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-
-
-Publish Single VES VNF Measurement Event with certBasicAuth over HTTPS
-    [Tags]    DCAE-VESC-R1
-    [Documentation]   Post single event and expect 202 Response
-    ${evtdata}=   Get Data From File   ${VES_VALID_JSON_V7}
-    ${resp}=  Publish Event To VES Collector   ${VES_ENDPOINT}  ${evtdata}
-    Log    Receive HTTPS Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	202
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-    ${ret}=  DMaaP Message Receive    ab305d54-85b4-a31b-7db2-fb6b9e546015
-    Should Be Equal As Strings    ${ret}    true
-
-Publish Single VES VNF Measurement Event over HTTPS with wrong JSON
-    [Tags]    DCAE-VESC-R1
-    [Documentation]   Post single event and expect 400 Response
-    ${evtdata}=   Get Data From File   ${VES_INVALID_JSON_V7}
-    ${resp}=  Publish Event To VES Collector   ${VES_ENDPOINT}  ${evtdata}
-    Log    Receive HTTPS Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	400
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-
-Publish Single VES VNF Measurement Event With Wrong Auth
-    [Tags]  DCAE-VESC-R1
-    [Documentation]  Post single event and expect 401 response
-    ${evtdata}=  Get Data From File  ${VES_VALID_JSON_V7}
-    ${resp}=  Publish Event To VES Collector With Wrong Auth   ${VES_ENDPOINT}  ${evtdata}
-    Log    Receive HTTPS Status code ${resp.status_code}
-    Should Be Equal As Strings  ${resp.status_code}  401
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-
-Publish Single VES VNF Measurement Event With Cert
-    [Tags]  DCAE-VESC-R1
-    [Documentation]  Post single event and expect 202 response
-    ${evtdata}=  Get Data From File  ${VES_VALID_JSON_V7}
-    ${resp}=  Publish Event To VES Collector With Cert  ${VES_ENDPOINT}  ${evtdata}
-    Log    Receive HTTPS Status code ${resp.status_code}
-    Should Be Equal As Strings 	${resp.status_code} 	202
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
-    ${ret}=  DMaaP Message Receive    ab305d54-85b4-a31b-7db2-fb6b9e546015
-    Should Be Equal As Strings    ${ret}    true
-
-Publish Single VES VNF Measurement Event With Wrong Cert
-    [Tags]  DCAE-VESC-R1
-    [Documentation]  Post single event and expect SSLError with bad handshake
-    ${evtdata}=  Get Data From File  ${VES_VALID_JSON_V7}
-    ${err_msg}=  Run Keyword And Expect Error  SSLError:*  Publish Event To VES Collector With Wrong Cert  ${VES_ENDPOINT}  ${evtdata}
+    ${err_msg}=  Run Keyword And Expect Error  SSLError:*  Get Request 	${https_outdated_cert_session} 	/healthcheck  headers=${headers}
     Should Contain  ${err_msg}  bad handshake
     Should Contain  ${err_msg}  certificate unknown
     Log  Recieved error message ${err_msg}
 
+Publish Single VES Fault Event Over HTTPS
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with valid data to /eventListener/v5 endpoint over HTTPS and expect 202 Response Status Code
+    Log  Login User=${VESC_HTTPS_USER}, Pd=${VESC_HTTPS_PD}
+    Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_DATA_FILE}  202  ab305d54-85b4-a31b-7db2-fb6b9e546015
+
+Publish Single VES Measurement Event Over HTTPS
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single measurement event with valid data to /eventListener/v5 endpoint over HTTPS and expect 202 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_ANY_EVENT_PATH}  ${EVENT_MEASURE_FILE}  202  0b2b5790-3673-480a-a4bd-5a00b88e5af6
+
+Publish VES Fault Batch Events Over HTTPS
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with valid data to /eventListener/v5/eventBatch endpoint over HTTPS and expect 202 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_BATCH_EVENT_PATH}  ${EVENT_BATCH_DATA_FILE}  202  ab305d54-85b4-a31b-7db2-fb6b9e546025
+
+Publish VES Event With Invalid URL Path HTTPS
+    [Tags]    DCAE-VESC-R1
+    [Documentation]    Post single event to invalid url path over HTTPS and expect 404 response Status Code
+    Log   Send HTTP Request with invalid /eventlistener/v5/ instead of /eventListener/v5 path
+    Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  /eventlistener/v5  ${EVENT_DATA_FILE}  404
+
+Publish Single VES VNF Measurement Event over HTTP
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event over HTTP with authentication enabled and expect 400 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${http_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  400
+
+Publish Single VES VNF Measurement Event with certBasicAuth over HTTPS
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with valid data and valid username/password to /eventListener/v7 endpoint over HTTPS and expect 202 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  202  ab305d54-85b4-a31b-7db2-fb6b9e546015
+
+Publish Single VES VNF Measurement Event over HTTPS with wrong JSON
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with invalid data and valid username/password to /eventListener/v7 endpoint over HTTPS and expect 400 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_EVENTLISTENER_V7}  ${VES_INVALID_JSON_V7}  400
+
+Publish Single VES VNF Measurement Event With Wrong Auth
+    [Tags]  DCAE-VESC-R1
+    [Documentation]  Post single event with valid data and invalid username/password to /eventListener/v7 endpoint over HTTPS and expect 401 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${https_wrong_auth_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  401
+
+Publish Single VES VNF Measurement Event With Cert
+    [Tags]  DCAE-VESC-R1
+    [Documentation]  Post single event with valid data and valid certificate to /eventListener/v7 endpoint over HTTPS and expect 202 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${https_valid_cert_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  202  ab305d54-85b4-a31b-7db2-fb6b9e546015
+
+Publish Single VES VNF Measurement Event With Wrong Cert
+    [Tags]  DCAE-VESC-R1
+    [Documentation]  Post single event with valid data and invalid certificate to /eventListener/v7 endpoint over HTTPS and expect SSLError with bad handshake
+    @{err_content}  Create List  bad handshake  certificate unknown
+    Send Request And Expect Error  Publish Event To VES Collector  ${https_invalid_cert_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  SSLError:*  @{err_content}
+
+Publish Single VES VNF Measurement Event With Outdated Cert
+    [Tags]  DCAE-VESC-R1
+    [Documentation]  Post single event with valid data and outdated certificate to /eventListener/v7 endpoint over HTTPS and expect SSLError with bad handshake
+    @{err_content}  Create List  bad handshake  certificate unknown
+    Send Request And Expect Error  Publish Event To VES Collector  ${https_outdated_cert_session}  ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  SSLError:*  @{err_content}
+
 Publish Single VES VNF Measurement Event Without Auth And Cert
     [Tags]  DCAE-VESC-R1
-    [Documentation]  Post single event and expect 401 response
-    ${evtdata}=  Get Data From File  ${VES_VALID_JSON_V7}
-    ${resp}=  Publish Event To VES Collector Without Auth And Cert  ${VES_ENDPOINT}  ${evtdata}
-    Log    Receive HTTPS Status code ${resp.status_code}
-    Should Be Equal As Strings  ${resp.status_code}  401
-    ${isEmpty}=   Is Json Empty    ${resp}
-    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
+    [Documentation]  Post single event with valid data and without certificate or username/password to /eventListener/v7 endpoint over HTTPS and expect 401 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${https_no_cert_no_auth_session}   ${VES_EVENTLISTENER_V7}  ${VES_VALID_JSON_V7}  401
+
+Publish V7 Batch Event with certBasicAuth over HTTPS
+    [Tags]    DCAE-VESC-R1
+    [Documentation]   Post single event with valid data and valid username/password to /eventListener/v7/eventBatch endpoint over HTTPS and expect 202 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${https_basic_auth_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_VALID_BATCH_JSON_V7}  202  Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion
+
+Publish V7 Batch Event With Wrong Auth
+    [Tags]  DCAE-VESC-R1
+    [Documentation]  Post single event with valid data and invalid username/password to /eventListener/v7/eventBatch endpoint over HTTPS and expect 401 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector   ${https_wrong_auth_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_VALID_BATCH_JSON_V7}  401
+
+Publish V7 Batch Event With Cert
+    [Tags]  DCAE-VESC-R1
+    [Documentation]  Post single event with valid data and valid certificate to /eventListener/v7/eventBatch endpoint over HTTPS and expect 202 Response
+    Send Request And Validate Response  Publish Event To VES Collector  ${https_valid_cert_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_VALID_BATCH_JSON_V7}  202  Fault_Vscf:Acs-Ericcson_PilotNumberPoolExhaustion
+
+Publish V7 Batch With Wrong Cert
+    [Tags]  DCAE-VESC-R1
+    [Documentation]  Post single event with valid data and invalid certificate to /eventListener/v7/eventBatch endpoint over HTTPS and expect SSLError with bad handshake
+    @{err_content}  Create List  bad handshake  certificate unknown
+    Send Request And Expect Error  Publish Event To VES Collector   ${https_invalid_cert_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_VALID_BATCH_JSON_V7}  SSLError:*  @{err_content}
+
+Publish V7 Batch Event With Outdated Cert
+    [Tags]  DCAE-VESC-R1
+    [Documentation]  Post single event with valid data and outdated certificate to /eventListener/v7/eventBatch endpoint over HTTPS and expect SSLError with bad handshake
+    @{err_content}  Create List  bad handshake  certificate unknown
+    Send Request And Expect Error  Publish Event To VES Collector   ${https_outdated_cert_session}  ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_VALID_BATCH_JSON_V7}  SSLError:*  @{err_content}
+
+Publish V7 Batch Event Without Auth And Cert
+    [Tags]  DCAE-VESC-R1
+    [Documentation]  Post single event with valid data and without certificate or username/password to /eventListener/v7/eventBatch endpoint over HTTPS and expect 401 Response Status Code
+    Send Request And Validate Response  Publish Event To VES Collector  ${https_no_cert_no_auth_session}   ${VES_BATCH_EVENT_ENDPOINT_V7}  ${VES_VALID_BATCH_JSON_V7}  401
diff --git a/tests/dcaegen2/testcases/resources/dcae_keywords.robot b/tests/dcaegen2/testcases/resources/dcae_keywords.robot
index c4cdbb9..16a8a8a 100644
--- a/tests/dcaegen2/testcases/resources/dcae_keywords.robot
+++ b/tests/dcaegen2/testcases/resources/dcae_keywords.robot
@@ -5,31 +5,31 @@
 Library           OperatingSystem
 Library           Collections
 Variables         ../resources/DcaeVariables.py
+Resource          ../../../common.robot
 Resource          ../resources/dcae_properties.robot
 
-*** Variables ***
-${DCAE_HEALTH_CHECK_BODY}    %{WORKSPACE}/tests/dcae/testcases/assets/json_events/dcae_healthcheck.json
-
-
 *** Keywords ***
 Create sessions
     [Documentation]  Create all required sessions
-    Create Session    dcae_vesc_url    ${VESC_URL}
-    Set Suite Variable    ${suite_dcae_vesc_url_session}    dcae_vesc_url
     ${auth}=  Create List  ${VESC_HTTPS_USER}   ${VESC_HTTPS_PD}
-    Create Session    dcae_vesc_url_https    ${VESC_URL_HTTPS}  auth=${auth}  disable_warnings=1
-    Set Suite Variable    ${suite_dcae_vesc_url_https_session}    dcae_vesc_url_https
     ${wrong_auth}=  Create List  ${VESC_HTTPS_WRONG_USER}  ${VESC_HTTPS_WRONG_PD}
-    Create Session  dcae_vesc_url_https_wrong_auth  ${VESC_URL_HTTPS}  auth=${wrong_auth}  disable_warnings=1
-    Set Suite Variable  ${suite_dcae_vesc_url_https_wrong_auth_session}  dcae_vesc_url_https_wrong_auth
     ${certs}=  Create List  ${VESC_ROOTCA_CERT}  ${VESC_ROOTCA_KEY}
-    Create Client Cert Session  dcae_vesc_url_https_cert  ${VESC_URL_HTTPS}  client_certs=${certs}  disable_warnings=1
-    Set Suite Variable  ${suite_dcae_vesc_url_https_cert_session}  dcae_vesc_url_https_cert
     ${wrong_certs}=  Create List  ${VESC_WRONG_CERT}  ${VESC_WRONG_KEY}
+    ${outdated_certs}=  Create List  ${VESC_OUTDATED_CERT}  ${VESC_OUTDATED_KEY}
+    Create Session    dcae_vesc_url    ${VESC_URL}
+    Set Suite Variable    ${http_session}    dcae_vesc_url
+    Create Session    dcae_vesc_url_https    ${VESC_URL_HTTPS}  auth=${auth}  disable_warnings=1
+    Set Suite Variable    ${https_basic_auth_session}    dcae_vesc_url_https
+    Create Session  dcae_vesc_url_https_wrong_auth  ${VESC_URL_HTTPS}  auth=${wrong_auth}  disable_warnings=1
+    Set Suite Variable  ${https_wrong_auth_session}  dcae_vesc_url_https_wrong_auth
+    Create Client Cert Session  dcae_vesc_url_https_cert  ${VESC_URL_HTTPS}  client_certs=${certs}  disable_warnings=1
+    Set Suite Variable  ${https_valid_cert_session}  dcae_vesc_url_https_cert
     Create Client Cert Session  dcae_vesc_url_https_wrong_cert  ${VESC_URL_HTTPS}  client_certs=${wrong_certs}  disable_warnings=1  verify=${False}
-    Set Suite Variable  ${suite_dcae_vesc_url_https_wrong_cert_session}  dcae_vesc_url_https_wrong_cert
+    Set Suite Variable  ${https_invalid_cert_session}  dcae_vesc_url_https_wrong_cert
+    Create Client Cert Session  dcae_vesc_url_https_outdated_cert  ${VESC_URL_HTTPS}  client_certs=${outdated_certs}  disable_warnings=1  verify=${False}
+    Set Suite Variable  ${https_outdated_cert_session}  dcae_vesc_url_https_outdated_cert
     Create Session  dcae_vesc_url_https_wo_auth  ${VESC_URL_HTTPS}  disable_warnings=1
-    Set Suite Variable  ${suite_dcae_vesc_url_https_wo_auth_session}  dcae_vesc_url_https_wo_auth
+    Set Suite Variable  ${https_no_cert_no_auth_session}  dcae_vesc_url_https_wo_auth
 
 Create header
     ${headers}=    Create Dictionary    Content-Type=application/json
@@ -37,7 +37,6 @@
 
 Get DCAE Nodes
     [Documentation]    Get DCAE Nodes from Consul Catalog
-    #Log    Creating session   ${GLOBAL_DCAE_CONSUL_URL}
     ${session}=    Create Session 	dcae 	${GLOBAL_DCAE_CONSUL_URL}
     ${uuid}=    Generate UUID
     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json  X-Consul-Token=abcd1234  X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
@@ -64,7 +63,6 @@
     ${len}=  Get Length  ${StatusList}
     Should Not Be Equal As Integers   ${len}   0
     DCAE Check Health Status    ${NodeName}   ${StatusList[0]}    Serf Health Status
-    #Run Keyword if  ${len} > 1  DCAE Check Health Status  ${NodeName}  ${StatusList[1]}  Serf Health Status
 
 DCAE Check Health Status
     [Arguments]    ${NodeName}    ${ItemStatus}   ${CheckType}
@@ -128,50 +126,47 @@
     ${resp}= 	Get Request 	dcae-service-component 	${urlpath}
     [Return]    ${resp}
 
-Publish Event To VES Collector No Auth
-    [Documentation]    Send an event to VES Collector
-    [Arguments]     ${evtpath}   ${evtdata}
-    ${resp}= 	Post Request 	${suite_dcae_vesc_url_session} 	${evtpath}     data=${evtdata}   headers=${suite_headers}
-    [Return] 	${resp}
-
 Publish Event To VES Collector
     [Documentation]    Send an event to VES Collector
-    [Arguments]     ${evtpath}   ${evtdata}
-    ${resp}= 	Post Request 	${suite_dcae_vesc_url_https_session}  	${evtpath}     data=${evtdata}   headers=${suite_headers}
+    [Arguments]     ${session}  ${evtpath}   ${evtdata}
+    ${resp}= 	Post Request 	${session}  	${evtpath}     data=${evtdata}   headers=${suite_headers}
     [Return] 	${resp}
 
 Publish Event To VES Collector With Put Method
     [Documentation]    Send an event to VES Collector
-    [Arguments]     ${evtpath}   ${evtdata}
-    ${resp}= 	Put Request 	${suite_dcae_vesc_url_https_session}  	${evtpath}     data=${evtdata}   headers=${suite_headers}
+    [Arguments]     ${session}  ${evtpath}   ${evtdata}
+    ${resp}= 	Put Request 	${session}  	${evtpath}     data=${evtdata}   headers=${suite_headers}
     [Return] 	${resp}
 
-Publish Event To VES Collector With Put Method No Auth
-    [Documentation]    Send an event to VES Collector
-    [Arguments]     ${evtpath}   ${evtdata}
-    ${resp}= 	Put Request 	${suite_dcae_vesc_url_session} 	${evtpath}     data=${evtdata}   headers=${suite_headers}
-    [Return] 	${resp}
+Send Request And Validate Response
+    [Documentation]  Post singel event to passed url with passed data and validate received response
+    [Arguments]  ${keyword}  ${session}  ${evtpath}  ${evtjson}  ${resp_code}  ${msg_code}=None
+    ${evtdata}=  Get Data From File  ${evtjson}
+    ${resp}=  Run Keyword  ${keyword}  ${session}  ${evtpath}  ${evtdata}
+    Log    Receive HTTPS Status code ${resp.status_code}
+    Should Be Equal As Strings 	${resp.status_code} 	${resp_code}
+    ${isEmpty}=   Is Json Empty    ${resp}
+    Run Keyword If   '${isEmpty}' == False   Log  ${resp.json()}
+    Run Keyword If  '${msg_code}' != 'None'  Check Whether Message Received  ${msg_code}
 
-Publish Event To VES Collector With Wrong Auth
-    [Documentation]   Send an event to VES Collector by session with wrong auth
-    [Arguments]   ${evtpath}  ${evtdata}
-    ${resp}=  Post Request  ${suite_dcae_vesc_url_https_wrong_auth_session}  ${evtpath}  data=${evtdata}  headers=${suite_headers}
-    [Return]   ${resp}
+Check Whether Message Received
+    [Documentation]  Validare if message has been received
+    [Arguments]  ${msg_code}
+    ${ret}=  DMaaP Message Receive  ${msg_code}
+    Should Be Equal As Strings    ${ret}    true
 
-Publish Event To VES Collector With Cert
-    [Documentation]   Send an event to VES Collector by session with certs
-    [Arguments]   ${evtpath}  ${evtdata}
-    ${resp}=  Post Request  ${suite_dcae_vesc_url_https_cert_session}  ${evtpath}  data=${evtdata}  headers=${suite_headers}
-    [Return]   ${resp}
+Send Request And Expect Error
+    [Documentation]  Post singel event to passed url with passed data and expect error
+    [Arguments]  ${keyword}  ${session}  ${evtpath}  ${evtjson}  ${error_type}  @{error_content}
+    ${evtdata}=  Get Data From File  ${evtjson}
+    ${err_msg}=  Run Keyword And Expect Error  ${error_type}  ${keyword}  ${session}  ${evtpath}  ${evtdata}
+    :FOR    ${content}    IN    @{error_content}
+    \    Should Contain   ${err_msg}  ${content}
+    Log  Recieved error message ${err_msg}
 
-Publish Event To VES Collector With Wrong Cert
-    [Documentation]   Send an event to VES Collector by session with wrong certs
-    [Arguments]   ${evtpath}  ${evtdata}
-    ${resp}=  Post Request  ${suite_dcae_vesc_url_https_wrong_cert_session}  ${evtpath}  data=${evtdata}  headers=${suite_headers}
-    [Return]   ${resp}
-
-Publish Event To VES Collector Without Auth And Cert
-    [Documentation]   Send an event to VES Collector by session without Auth and Cert
-    [Arguments]   ${evtpath}  ${evtdata}
-    ${resp}=  Post Request  ${suite_dcae_vesc_url_https_wo_auth_session}  ${evtpath}  data=${evtdata}  headers=${suite_headers}
-    [Return]   ${resp}
+Run Healthcheck
+    [Documentation]  Run Healthcheck
+    ${uuid}=    Generate UUID
+    ${headers}=  Create Dictionary     Accept=*/*     X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
+    ${resp}= 	Get Request 	${http_session} 	/healthcheck        headers=${headers}
+    Should Be Equal As Strings 	${resp.status_code} 	200
diff --git a/tests/dcaegen2/testcases/resources/dcae_properties.robot b/tests/dcaegen2/testcases/resources/dcae_properties.robot
index 7505fab..de5519e 100644
--- a/tests/dcaegen2/testcases/resources/dcae_properties.robot
+++ b/tests/dcaegen2/testcases/resources/dcae_properties.robot
@@ -4,17 +4,44 @@
 ...                   make sure you prepend them with GLOBAL so that other files can easily see it is from this file.
 
 *** Variables ***
-${GLOBAL_APPLICATION_ID}           robot-dcaegen2
-${GLOBAL_DCAE_CONSUL_URL}          http://135.205.228.129:8500
-${GLOBAL_DCAE_CONSUL_URL1}         http://135.205.228.170:8500
-${GLOBAL_DCAE_VES_URL}             http://localhost:8443/eventlistener/v5
-${GLOBAL_DCAE_USERNAME}            console
-${GLOBAL_DCAE_PASSWORD}            ZjJkYjllMjljMTI2M2Iz
-${VESC_HTTPS_USER}                 sample1
-${VESC_HTTPS_PD}                   sample1
-${VESC_HTTPS_WRONG_PD}             sample
-${VESC_HTTPS_WRONG_USER}           sample
-${VESC_ROOTCA_CERT}                %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/rootCA.crt
-${VESC_ROOTCA_KEY}                 %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/rootCAdec.key
-${VESC_WRONG_CERT}                 %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/wrong.crt
-${VESC_WRONG_KEY}                  %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/wrong.key
\ No newline at end of file
+${GLOBAL_APPLICATION_ID}                 robot-dcaegen2
+${GLOBAL_DCAE_CONSUL_URL}                http://135.205.228.129:8500
+${GLOBAL_DCAE_CONSUL_URL1}               http://135.205.228.170:8500
+${GLOBAL_DCAE_VES_URL}                   http://localhost:8443/eventlistener/v5
+${GLOBAL_DCAE_USERNAME}                  console
+${GLOBAL_DCAE_PASSWORD}                  ZjJkYjllMjljMTI2M2Iz
+${VESC_HTTPS_USER}                       sample1
+${VESC_HTTPS_PD}                         sample1
+${VESC_HTTPS_WRONG_PD}                   sample
+${VESC_HTTPS_WRONG_USER}                 sample
+${VESC_ROOTCA_CERT}                      %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/rootCA.crt
+${VESC_ROOTCA_KEY}                       %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/rootCAdec.key
+${VESC_WRONG_CERT}                       %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/wrong.crt
+${VESC_WRONG_KEY}                        %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/wrong.key
+${VESC_OUTDATED_CERT}                    %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/outdated.crt
+${VESC_OUTDATED_KEY}                     %{WORKSPACE}/tests/dcaegen2/testcases/assets/certs/outdated.key
+
+${VESC_URL_HTTPS}                        https://%{VESC_IP}:8443
+${VESC_URL}                              http://%{VESC_IP}:8080
+${VES_ANY_EVENT_PATH}                    /eventListener/v5
+${VES_BATCH_EVENT_PATH}             	 /eventListener/v5/eventBatch
+${VES_THROTTLE_STATE_EVENT_PATH}         /eventListener/v5/clientThrottlingState
+${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_VALID_BATCH_JSON_V7}               %{WORKSPACE}/tests/dcaegen2/testcases/assets/json_events/ves7_batch_valid.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
+${DCAE_HEALTH_CHECK_BODY}                %{WORKSPACE}/tests/dcae/testcases/assets/json_events/dcae_healthcheck.json
+
+#DCAE Health Check
+${CONFIG_BINDING_URL}                    http://localhost:8443
+${CB_HEALTHCHECK_PATH}                   /healthcheck
+${CB_SERVICE_COMPONENT_PATH}             /service_component/
+${VES_Service_Name1}                     dcae-controller-ves-collector
+${VES_Service_Name2}                     ves-collector-not-exist
\ No newline at end of file