aboutsummaryrefslogtreecommitdiffstats
path: root/tests/dcaegen2/testcases/dcae_ves.robot
diff options
context:
space:
mode:
Diffstat (limited to 'tests/dcaegen2/testcases/dcae_ves.robot')
-rw-r--r--tests/dcaegen2/testcases/dcae_ves.robot227
1 files changed, 170 insertions, 57 deletions
diff --git a/tests/dcaegen2/testcases/dcae_ves.robot b/tests/dcaegen2/testcases/dcae_ves.robot
index f457f2ce..c035423d 100644
--- a/tests/dcaegen2/testcases/dcae_ves.robot
+++ b/tests/dcaegen2/testcases/dcae_ves.robot
@@ -1,21 +1,25 @@
*** Settings ***
Documentation Testing DCAE VES Listener with various event feeds from VoLTE, vDNS, vFW and cCPE use scenarios
-Library RequestsLibrary
+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
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
+${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
@@ -31,33 +35,67 @@ ${VES_Service_Name1} dcae-controller-ves-collector
${VES_Service_Name2} ves-collector-not-exist
*** Test Cases ***
-VES Collector Health Check
+
+#No authorization 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
+ Should Be Equal As Strings ${resp.status_code} 200
+
+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
+
+
+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()}
+
+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}
Publish Single VES VoLTE Fault Event
[Tags] DCAE-VESC-R1
- [Documentation] Post single event and expect 200 Response
+ [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} 200
+ 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
+Publish Single VES VNF Measurement Event API V5
[Tags] DCAE-VESC-R1
- [Documentation] Post single event and expect 200 Response
+ [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} 200
+ 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
@@ -65,25 +103,17 @@ Publish Single VES VNF Measurement Event
Publish VES VoLTE Fault Batch Events
[Tags] DCAE-VESC-R1
- [Documentation] Post batched events and expect 200 Response
+ [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}
- Should Be Equal As Strings ${resp.status_code} 200
- #${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546016
- ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546025
- Should Be Equal As Strings ${ret} true
-
-Publish Single VES VoLTE Fault Event With Bad Data
- [Tags] DCAE-VESC-R1
- [Documentation] Run with JSON Envent with missing comma to expect 400 response
- ${evtdata}= Get Data From File ${EVENT_DATA_FILE_BAD}
- Log Send HTTP Request with invalid Json Event Data
- ${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} 400
+ 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 Method
[Tags] DCAE-VESC-R1
[Documentation] Use invalid Put instead of Post method to expect 405 response
@@ -91,8 +121,10 @@ Publish VES Event With Invalid Method
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} 404
-
+ Should Be Equal As Strings ${resp.status_code} 405
+ ${isEmpty}= Is Json Empty ${resp}
+ Run Keyword If '${isEmpty}' == False Log ${resp.json()}
+
Publish VES Event With Invalid URL Path
[Tags] DCAE-VESC-R1
[Documentation] Use invalid url path to expect 404 response
@@ -100,39 +132,55 @@ Publish VES Event With Invalid URL Path
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
-
-#Enable VESC HTTPS And Basic Auth
- #[Tags] DCAE-VESC-R1
- #[Documentation] Enable VESC Https and Authentication, Disable Http and Run Health Check
- #Enable VESC Https Auth
- #
- #${auth}= Create List ${VESC_HTTPS_USER} ${VESC_HTTPS_PD}
- #${session}= Create Session dcaegen2-r1 ${VESC_URL_HTTPS} auth=${auth} disable_warnings=1
- #${headers}= Create Dictionary Accept=*/* X-FromAppId=${GLOBAL_APPLICATION_ID}
- #${resp}= Get Request dcaegen2-r1 /healthcheck headers=${headers}
- #Should Be Equal As Strings ${resp.status_code} 200
+ Should Be Equal As Strings ${resp.status_code} 404
+ ${isEmpty}= Is Json Empty ${resp}
+ Run Keyword If '${isEmpty}' == False Log ${resp.json()}
+
+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
+
+
+# Auth by certificate and basic auth username / password
+
+Enable VESC HTTPS with certBasicAuth
+ [Tags] DCAE-VESC-R1
+ [Documentation] Enable VESC Https and Authentication and Run Health Check
+ Enable VESC with certBasicAuth
+ ${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 200 Response
+ [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 HTTP Status code ${resp.status_code}
- Should Be Equal As Strings ${resp.status_code} 200
+ 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
-
+ Should Be Equal As Strings ${ret} true
+
Publish Single VES Measurement Event Over HTTPS
[Tags] DCAE-VESC-R1
- [Documentation] Post single event and expect 200 Response
+ [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 HTTP Status code ${resp.status_code}
- Should Be Equal As Strings ${resp.status_code} 200
+ 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
@@ -140,32 +188,97 @@ Publish Single VES Measurement Event Over HTTPS
Publish VES Fault Batch Events Over HTTPS
[Tags] DCAE-VESC-R1
- [Documentation] Post batched events and expect 202 Response
+ [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} 200
- #${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546016
+ 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 HTTP Status code ${resp.status_code}
+ Log Receive HTTPS Status code ${resp.status_code}
Should Be Equal As Strings ${resp.status_code} 404
-
-Publish PNF Registration Event
+ ${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 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}
+ [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} 200
+ Should Be Equal As Strings ${resp.status_code} 400
${isEmpty}= Is Json Empty ${resp}
Run Keyword If '${isEmpty}' == False Log ${resp.json()}
- ${ret}= DMaaP Message Receive QTFCOC540002E-reg
+
+
+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
- \ No newline at end of file
+
+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}
+ Should Contain ${err_msg} bad handshake
+ Should Contain ${err_msg} certificate unknown
+ Log Recieved error message ${err_msg}
+
+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()}