diff options
author | pswang <pshaobow@gmail.com> | 2017-09-27 12:45:03 -0500 |
---|---|---|
committer | Lusheng Ji <lji@research.att.com> | 2017-09-27 18:36:22 +0000 |
commit | 212b7d92072668c732b8356b6912e7e7462fcfff (patch) | |
tree | 8190baa49c7ec5d02941c01bb38c77d8bf170e1f /test/csit/tests/dcaegen2/testcases/dcae_ves.robot | |
parent | 0bf24a8901a5a2b7c5b861f9b281321c251fe618 (diff) |
Add dcaegen2 test cases for HTTPS
Change-Id: Iaa2cf237015906a151b399b330ac71dd1e48fa0c
Signed-off-by: pswang <pshaobow@gmail.com>
IssueId: DCAEGEN2-111
Diffstat (limited to 'test/csit/tests/dcaegen2/testcases/dcae_ves.robot')
-rw-r--r-- | test/csit/tests/dcaegen2/testcases/dcae_ves.robot | 387 |
1 files changed, 199 insertions, 188 deletions
diff --git a/test/csit/tests/dcaegen2/testcases/dcae_ves.robot b/test/csit/tests/dcaegen2/testcases/dcae_ves.robot index 00c58071b..eee6ea569 100644 --- a/test/csit/tests/dcaegen2/testcases/dcae_ves.robot +++ b/test/csit/tests/dcaegen2/testcases/dcae_ves.robot @@ -1,188 +1,199 @@ -*** Settings ***
-Documentation Testing DCAE VES Listener with various event feeds from VoLTE, vDNS, vFW and cCPE use scenarios
-
-Library RequestsLibrary
-Library OperatingSystem
-Library Collections
-Library DcaeLibrary
-Resource resources/dcae_keywords.robot
-Test Setup Cleanup VES Events
-Suite Setup VES Collector Suite Setup DMaaP
-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
-${HEADER_STRING} content-type=application/json
-${EVENT_DATA_FILE} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event.json
-${EVENT_MEASURE_FILE} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_vfirewall_measurement.json
-${EVENT_DATA_FILE_BAD} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event_bad.json
-${EVENT_BATCH_DATA_FILE} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_eventlist_batch.json
-${EVENT_THROTTLING_STATE_DATA_FILE} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_provide_throttle_state.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
-
-*** Comment out from R1 release ***
-DCAE Health Check
- [Tags] DCAE-HealthCheck
- [Documentation] Get DCAE Overall Status
- ${auth}= Create List ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD}
- ${session}= Create Session dcae-health-check ${CONFIG_BINDING_URL} auth=${auth}
- ${resp}= Get Request dcae-health-check ${CB_HEALTHCHECK_PATH}
- Should Be Equal As Strings ${resp.status_code} 200
-
-
-Get VES Collector Service Status
- [Tags] DCAE-HealthCheck
- [Documentation] Get the status of a VES Collector Service Component based on service name
- ${urlpath}= Catenate SEPARATOR= ${CB_SERVICE_COMPONENT_PATH} ${VES_Service_Name1}
- Log Service component name for status query: ${urlpath}
- ${resp}= Get DCAE Service Component Status ${CONFIG_BINDING_URL} ${CB_SERVICE_COMPONENT_PATH} ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD}
- Log Receive HTTP Status code ${resp.status_code}
- Should Be Equal As Strings ${resp.status_code} 200
- ${isEmpty}= Is Json Empty ${resp}
- Run Keyword If '${isEmpty}' == False Log ${resp.json()}
-
-
-
-#*** Comment out from R1 release ***
-Publish VES VoLTE Fault Provide Throttling State
- [Tags] DCAE-D1
- ${evtdata}= Get Event Data From File ${EVENT_THROTTLING_STATE_DATA_FILE}
- ${headers}= Create Header From String ${HEADER_STRING}
- ${resp}= Publish Event To VES Collector ${VES_VOLTE_URL} ${VES_THROTTLE_STATE_EVENT_PATH} ${headers} ${evtdata} ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD}
- Should Be Equal As Strings ${resp.status_code} 204
-
-Publish VES Event With Invalid Method
- [Tags] DCAE-D1
- [Documentation] Use invalid Put instead of Post method to expect 405 response
- ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE}
- ${headers}= Create Header From String ${HEADER_STRING}
- Log Send HTTP Request with invalid method Put instead of Post
- ${resp}= Publish Event To VES Collector With Put Method ${VES_VOLTE_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD}
- Log Receive HTTP Status code ${resp.status_code}
- Should Be Equal As Strings ${resp.status_code} 405
-
-
-Publish VES Event With Invalid URL Path
- [Tags] DCAE-D1
- [Documentation] Use invalid url path to expect 404 response
- ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE}
- ${headers}= Create Header From String ${HEADER_STRING}
- Log Send HTTP Request with invalid /listener/v5/ instead of /eventlistener/v5 path
- ${resp}= Publish Event To VES Collector ${VES_VOLTE_URL} /listener/v5/ ${headers} ${evtdata} ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD}
- Log Receive HTTP Status code ${resp.status_code}
- Should Be Equal As Strings ${resp.status_code} 404
-
-Publish VES Event With Invalid Login
- [Tags] DCAE-D1
- [Documentation] Use invalid user or password to expect 401 response
- ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE}
- ${headers}= Create Header From String ${HEADER_STRING}
- Log Send HTTP Request with invalid User: BadUserName
- ${resp}= Publish Event To VES Collector ${VES_VOLTE_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} BadUserName ${GLOBAL_DCAE_PASSWORD}
- Log Receive HTTP Status code ${resp.status_code}
- Should Be Equal As Strings ${resp.status_code} 401
-
-*** Test Cases ***
-VES Collector Health Check
- [Tags] DCAE-VESC-R1
- [Documentation] Ves Collector Health Check
- ${uuid}= Generate UUID
- ${session}= Create Session dcae ${VESC_URL}
- ${headers}= Create Dictionary Accept=*/* X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
- ${resp}= Get Request dcae /healthcheck headers=${headers}
- Should Be Equal As Strings ${resp.status_code} 200
-
-
-Publish Single VES VoLTE Fault Event
- [Tags] DCAE-VESC-R1
- [Documentation] Post single event and expect 200 Response
- ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE}
- ${headers}= Create Header From String ${HEADER_STRING}
- ${resp}= Publish Event To VES Collector No Auth ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata}
- Log Receive HTTP Status code ${resp.status_code}
- Should Be Equal As Strings ${resp.status_code} 200
- ${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
- [Tags] DCAE-VESC-R1
- [Documentation] Post single event and expect 200 Response
- ${evtdata}= Get Event Data From File ${EVENT_MEASURE_FILE}
- ${headers}= Create Header From String ${HEADER_STRING}
- ${resp}= Publish Event To VES Collector No Auth ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata}
- Log Receive HTTP Status code ${resp.status_code}
- Should Be Equal As Strings ${resp.status_code} 200
- ${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 VoLTE Fault Batch Events
- [Tags] DCAE-VESC-R1
- [Documentation] Post batched events and expect 202 Response
- ${evtdata}= Get Event Data From File ${EVENT_BATCH_DATA_FILE}
- ${headers}= Create Header From String ${HEADER_STRING}
- ${resp}= Publish Event To VES Collector No Auth ${VESC_URL} ${VES_BATCH_EVENT_PATH} ${headers} ${evtdata}
- Should Be Equal As Strings ${resp.status_code} 200
- ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546016
- 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 Event Data From File ${EVENT_DATA_FILE_BAD}
- ${headers}= Create Header From String ${HEADER_STRING}
- Log Send HTTP Request with invalid Json Event Data
- ${resp}= Publish Event To VES Collector No Auth ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${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 VES Event With Invalid Method
- [Tags] DCAE-VESC-R1
- [Documentation] Use invalid Put instead of Post method to expect 405 response
- ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE}
- ${headers}= Create Header From String ${HEADER_STRING}
- Log Send HTTP Request with invalid method Put instead of Post
- ${resp}= Publish Event To VES Collector With Put Method No Auth ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata}
- Log Receive HTTP Status code ${resp.status_code}
- Should Be Equal As Strings ${resp.status_code} 404
-
-
-Publish VES Event With Invalid URL Path
- [Tags] DCAE-VESC-R1
- [Documentation] Use invalid url path to expect 404 response
- ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE}
- ${headers}= Create Header From String ${HEADER_STRING}
- Log Send HTTP Request with invalid /listener/v5/ instead of /eventListener/v5 path
- ${resp}= Publish Event To VES Collector No Auth ${VESC_URL} /listener/v5/ ${headers} ${evtdata}
- Log Receive HTTP Status code ${resp.status_code}
- Should Be Equal As Strings ${resp.status_code} 404
-
-
-
-
-
-
-
-
-
-
+*** Settings *** +Documentation Testing DCAE VES Listener with various event feeds from VoLTE, vDNS, vFW and cCPE use scenarios + +Library RequestsLibrary +Library OperatingSystem +Library Collections +Library DcaeLibrary +Resource resources/dcae_keywords.robot +Test Setup Cleanup VES Events +Suite Setup VES Collector Suite Setup DMaaP +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 +${HEADER_STRING} content-type=application/json +${EVENT_DATA_FILE} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event.json +${EVENT_MEASURE_FILE} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_vfirewall_measurement.json +${EVENT_DATA_FILE_BAD} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event_bad.json +${EVENT_BATCH_DATA_FILE} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_eventlist_batch.json +${EVENT_THROTTLING_STATE_DATA_FILE} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_provide_throttle_state.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 + + +*** Test Cases *** + +VES Collector Health Check + [Tags] DCAE-VESC-R1 + [Documentation] Ves Collector Health Check + ${uuid}= Generate UUID + ${session}= Create Session dcae ${VESC_URL} + ${headers}= Create Dictionary Accept=*/* X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} + ${resp}= Get Request dcae /healthcheck headers=${headers} + Should Be Equal As Strings ${resp.status_code} 200 + + +Publish Single VES VoLTE Fault Event + [Tags] DCAE-VESC-R1 + [Documentation] Post single event and expect 200 Response + ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE} + ${headers}= Create Header From String ${HEADER_STRING} + ${resp}= Publish Event To VES Collector No Auth ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} + Log Receive HTTP Status code ${resp.status_code} + Should Be Equal As Strings ${resp.status_code} 200 + ${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 + [Tags] DCAE-VESC-R1 + [Documentation] Post single event and expect 200 Response + ${evtdata}= Get Event Data From File ${EVENT_MEASURE_FILE} + ${headers}= Create Header From String ${HEADER_STRING} + ${resp}= Publish Event To VES Collector No Auth ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} + Log Receive HTTP Status code ${resp.status_code} + Should Be Equal As Strings ${resp.status_code} 200 + ${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 VoLTE Fault Batch Events + [Tags] DCAE-VESC-R1 + [Documentation] Post batched events and expect 202 Response + ${evtdata}= Get Event Data From File ${EVENT_BATCH_DATA_FILE} + ${headers}= Create Header From String ${HEADER_STRING} + ${resp}= Publish Event To VES Collector No Auth ${VESC_URL} ${VES_BATCH_EVENT_PATH} ${headers} ${evtdata} + Should Be Equal As Strings ${resp.status_code} 200 + ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546016 + 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 Event Data From File ${EVENT_DATA_FILE_BAD} + ${headers}= Create Header From String ${HEADER_STRING} + Log Send HTTP Request with invalid Json Event Data + ${resp}= Publish Event To VES Collector No Auth ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${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 VES Event With Invalid Method + [Tags] DCAE-VESC-R1 + [Documentation] Use invalid Put instead of Post method to expect 405 response + ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE} + ${headers}= Create Header From String ${HEADER_STRING} + Log Send HTTP Request with invalid method Put instead of Post + ${resp}= Publish Event To VES Collector With Put Method No Auth ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} + Log Receive HTTP Status code ${resp.status_code} + Should Be Equal As Strings ${resp.status_code} 404 + + +Publish VES Event With Invalid URL Path + [Tags] DCAE-VESC-R1 + [Documentation] Use invalid url path to expect 404 response + ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE} + ${headers}= Create Header From String ${HEADER_STRING} + Log Send HTTP Request with invalid /listener/v5/ instead of /eventListener/v5 path + ${resp}= Publish Event To VES Collector No Auth ${VESC_URL} /listener/v5/ ${headers} ${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 + +Publish Single VES Fault Event Over HTTPS + [Tags] DCAE-VESC-R1 + [Documentation] Post single event and expect 200 Response + ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE} + ${headers}= Create Header From String ${HEADER_STRING} + Log Login User=${VESC_HTTPS_USER}, Pd=${VESC_HTTPS_PD} + ${resp}= Publish Event To VES Collector ${VESC_URL_HTTPS} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} sample1 sample1 + Log Receive HTTP Status code ${resp.status_code} + Should Be Equal As Strings ${resp.status_code} 200 + ${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 200 Response + ${evtdata}= Get Event Data From File ${EVENT_MEASURE_FILE} + ${headers}= Create Header From String ${HEADER_STRING} + ${resp}= Publish Event To VES Collector ${VESC_URL_HTTPS} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} ${VESC_HTTPS_USER} ${VESC_HTTPS_PD} + Log Receive HTTP Status code ${resp.status_code} + Should Be Equal As Strings ${resp.status_code} 200 + ${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 Event Data From File ${EVENT_BATCH_DATA_FILE} + ${headers}= Create Header From String ${HEADER_STRING} + ${resp}= Publish Event To VES Collector ${VESC_URL_HTTPS} ${VES_BATCH_EVENT_PATH} ${headers} ${evtdata} ${VESC_HTTPS_USER} ${VESC_HTTPS_PD} + Should Be Equal As Strings ${resp.status_code} 200 + ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546016 + 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 Event Data From File ${EVENT_DATA_FILE} + ${headers}= Create Header From String ${HEADER_STRING} + Log Send HTTP Request with invalid /eventlistener/v5/ instead of /eventListener/v5 path + ${resp}= Publish Event To VES Collector ${VESC_URL_HTTPS} /eventlistener/v5 ${headers} ${evtdata} ${VESC_HTTPS_USER} ${VESC_HTTPS_PD} + Log Receive HTTP Status code ${resp.status_code} + Should Be Equal As Strings ${resp.status_code} 404 + + + + + + + + + + + + + + + + + + + + |