aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKatarzyna Wasiel <katarzyna.wasiel@nokia.com>2020-12-07 15:50:59 +0100
committerBartek Grzybowski <b.grzybowski@partner.samsung.com>2021-01-19 07:31:59 +0000
commit58e078cbd8774898cff5cc62ae470c9ccbc658d1 (patch)
tree2e189e0cada05e53659e9cf6db836b5b5261a607
parent309e87ce8d9c333671ad68b9851544803bde554c (diff)
Extend 5g bulk pm test suite in order to have possibility to test custom PM FILES
Issue-ID: INT-1801 Signed-off-by: Katarzyna Wasiel <katarzyna.wasiel@nokia.com> Change-Id: I2d892f8737e34d84792bbc88d63ab5ae9a71e5e3
-rw-r--r--robot/resources/usecases/5gbulkpm_interface.robot55
-rw-r--r--robot/testsuites/usecases/5gbulkpm.robot99
2 files changed, 118 insertions, 36 deletions
diff --git a/robot/resources/usecases/5gbulkpm_interface.robot b/robot/resources/usecases/5gbulkpm_interface.robot
index 0655e53e..3289f49f 100644
--- a/robot/resources/usecases/5gbulkpm_interface.robot
+++ b/robot/resources/usecases/5gbulkpm_interface.robot
@@ -3,6 +3,7 @@ Documentation The main interface for interacting with 5G Bulkpm.
Library RequestsLibrary
Library OperatingSystem
Library String
+Library JSONLibrary
*** Variables ***
${INVENTORY_SERVER} ${GLOBAL_INVENTORY_SERVER_PROTOCOL}://${GLOBAL_INVENTORY_SERVER_NAME}:${GLOBAL_INVENTORY_SERVER_PORT}
@@ -26,10 +27,38 @@ Deployment Status
${status} Set Variable ${resp.json().get('status')}
Should Be Equal As Strings ${status} succeeded
+
+Validate Json Event From Topic
+ [Arguments] ${expected_event_json_path} ${expected_pm_str} ${known_host_variable}=False
+ ${PmEventRespFiles} = Run Keyword If "${known_host_variable}" == "False" OperatingSystem.List Files In Directory ${expected_event_json_path} 5gbulkpm-*.json absolute=True
+ ... ELSE OperatingSystem.List Files In Directory ${expected_event_json_path} 5gbulkpm_checking_sftp_rsa_key-*.json absolute=True
+ Set Test Variable ${pmResultFound} False
+ FOR ${filePath} IN @{PmEventRespFiles}
+ Set Log Level NONE
+ ${pmData} = OperatingSystem.Get File ${filePath}
+ Set Log Level INFO
+ ${statusOfPmResult}= Run Keyword And Return Status Should Contain ${pmData} ${expected_pm_str}
+ Run Keyword If '${statusOfPmResult}' == 'True' Run Keywords Set Test Variable ${pmResultFound} True
+ ... AND Exit For Loop
+ END
+
+ Should Be Equal ${pmResultFound} True
+
+Get Event From Topic
+ [Arguments] ${expected_event_json_path} ${known_host_variable}=False
+ Wait Until Keyword Succeeds 2 min 5 s xNF PM File Validate none ${expected_event_json_path} ${known_host_variable}
+
xNF PM File Validate
- [Arguments] ${value}
- ${resp}= Run MR Auth Get Request ${MR_TOPIC_URL_PATH} ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD}
- Should Contain ${resp.text} ${value}
+ [Arguments] ${expected_pm_str} ${expected_event_json_path} ${known_host_variable}=False
+ #Run Keyword If '${expected_event_json_path}' != 'none' Set Log Level NONE
+ ${timestamp}= Get Time epoch
+ ${resp}= Run MR Auth Get Request ${MR_TOPIC_URL_PATH} ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD}
+ Run keyword If ${resp.text} == @{EMPTY} Fail msg=Event is empty!
+ ${pmEventJson}= Run Keyword If '${expected_event_json_path}' != 'none' To Json ${resp.text} pretty_print=True
+ Run Keyword If '${expected_event_json_path}' != 'none' and '${known_host_variable}' == 'False' Create File ${expected_event_json_path}/5gbulkpm-pm_event-${timestamp}.json ${pmEventJson}
+ ... ELSE IF '${expected_event_json_path}' != 'none' and '${known_host_variable}' == 'True' Create File ${expected_event_json_path}/5gbulkpm_checking_sftp_rsa_key-pm_event-${timestamp}.json ${pmEventJson}
+ #Run Keyword If '${expected_event_json_path}' != 'none' Set Log Level INFO
+ Run Keyword If '${expected_event_json_path}' == 'none' Should Contain ${resp.text} ${expected_pm_str}
Topic Validate
[Arguments] ${value}
@@ -51,28 +80,31 @@ Usecase Teardown
Send File Ready Event to VES Collector
- [Arguments] ${epoch}
+ [Arguments] ${pm_file} ${file_format_type} ${file_format_version}
${headers}= Create Dictionary content-type=application/json
${fileready}= OperatingSystem.Get File ${JSON_DATA_FILE}
${auth}= Create List ${GLOBAL_DCAE_VES_USERNAME} ${GLOBAL_DCAE_VES_PASSWORD}
${session}= Create Session ves ${VES_HEALTH_CHECK_PATH} auth=${auth}
${resp}= Post Request ves ${VES_LISTENER_PATH} data=${fileready} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 202
- ${VES_FILE_READY_NOTIFICATION} Set Variable {"event":{"commonEventHeader":{"version":"4.0.1","vesEventListenerVersion":"7.0.1","domain":"notification","eventName":"Noti_RnNode-Ericsson_FileReady","eventId":"FileReady_1797490e-10ae-4d48-9ea7-3d7d790b25e1","lastEpochMicrosec":8745745764578,"priority":"Normal","reportingEntityName":"otenb5309","sequence":0,"sourceName":"oteNB5309","startEpochMicrosec":8745745764578,"timeZoneOffset":"UTC+05.30"},"notificationFields":{"changeIdentifier":"PM_MEAS_FILES","changeType":"FileReady","notificationFieldsVersion":"2.0","arrayOfNamedHashMap":[{"name":"A${epoch}.xml.gz","hashMap":{"location":"sftp://bulkpm:bulkpm@sftpserver:22/upload/A${epoch}.xml.gz","compression":"gzip","fileFormatType":"org.3GPP.32.435#measCollec","fileFormatVersion":"V10"}}]}}}
+ ${VES_FILE_READY_NOTIFICATION} Set Variable {"event":{"commonEventHeader":{"version":"4.0.1","vesEventListenerVersion":"7.0.1","domain":"notification","eventName":"Noti_RnNode-Ericsson_FileReady","eventId":"FileReady_1797490e-10ae-4d48-9ea7-3d7d790b25e1","lastEpochMicrosec":8745745764578,"priority":"Normal","reportingEntityName":"otenb5309","sequence":0,"sourceName":"oteNB5309","startEpochMicrosec":8745745764578,"timeZoneOffset":"UTC+05.30"},"notificationFields":{"changeIdentifier":"PM_MEAS_FILES","changeType":"FileReady","notificationFieldsVersion":"2.0","arrayOfNamedHashMap":[{"name":"${pm_file}","hashMap":{"location":"sftp://bulkpm:bulkpm@sftpserver:22/upload/${pm_file}","compression":"gzip","fileFormatType":"${file_format_type}","fileFormatVersion":"${file_format_version}"}}]}}}
${resp}= Post Request ves ${VES_LISTENER_PATH} data=${VES_FILE_READY_NOTIFICATION} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 202
Upload PM Files to xNF SFTP Server
- [Arguments] ${ftp_file_path}
+ [Arguments] ${pm_file_path} ${bulk_pm_mode} ${known_host_variable}=False
Open Connection sftpserver
Login bulkpm bulkpm
${epoch}= Get Current Date result_format=epoch
- Set Global Variable ${epoch}
- Put File ${ftp_file_path} upload/A${epoch}.xml.gz
- [Return] ${epoch}
+ ${pm_file} = Run Keyword If "${bulk_pm_mode}" == "custom" and "${known_host_variable}" == "False" Fetch From Right ${pm_file_path} marker=/
+ ... ELSE IF "${bulk_pm_mode}" == "custom" and "${known_host_variable}" == "True" Set Variable PM${epoch}.xml.gz
+ ... ELSE Set Variable A${epoch}.xml.gz
+
+ Put File ${pm_file_path} upload/${pm_file}
+ [Return] ${pm_file}
Check Given Print In DFC Log
- [Arguments] ${CHECK_DFC_LOGS}
+ [Arguments] ${check_dfc_logs}
${dfc_logs}= Run Given Command On DFC Container ${CHECK_DFC_LOGS}
Should Contain ${dfc_logs} HostKey has been changed
@@ -94,5 +126,6 @@ Check Known Hosts In Env
Should Be Equal As Integers ${check[0]} 0
${env} = Set Variable ${check[1]}
${string_matches} = Get Lines Containing String ${env} KNOWN_HOSTS_FILE_PATH=/home/datafile/.ssh/known_host case_insensitive=True
- ${output} = Should Not Be Empty ${string_matches}
+ ${output} = Should Not Be Empty ${string_matches}
[Return] ${output}
+
diff --git a/robot/testsuites/usecases/5gbulkpm.robot b/robot/testsuites/usecases/5gbulkpm.robot
index 07ea3b7b..e8d5da2a 100644
--- a/robot/testsuites/usecases/5gbulkpm.robot
+++ b/robot/testsuites/usecases/5gbulkpm.robot
@@ -14,16 +14,13 @@ Library ONAPLibrary.Utilities
Resource ../../resources/usecases/5gbulkpm_interface.robot
Resource ../../resources/mr_interface.robot
Resource ../../resources/dr_interface.robot
-Suite Setup Send File Ready Event to VES Collector test
+Suite Setup Send File Ready Event to VES Collector test org.3GPP.32.435#measCollec V10
Suite Teardown Usecase Teardown
-
-
*** Variables ***
${INVENTORY_ENDPOINT} /dcae-service-types
${XNF_SFTP_BLUEPRINT_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm/k8s-sftp.yaml
${BLUEPRINT_TEMPLATE_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm/blueprintTemplate.json
-${FTP_FILE_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm/pmfiles/A20181002.0000-1000-0015-1000_5G.xml.gz
${DEPLOYMENT_ENDPOINT} dcae-deployments
${MR_TOPIC_CHECK_PATH} /topics
${DR_SUB_CHECK_PATH} /internal/prov
@@ -46,6 +43,21 @@ ${EXPECTED_PRINT} StrictHostKeyChecking is enabled but environ
*** Test Cases ***
+Setting Global Variables
+ [Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
+ ${env_variables} = Get Environment Variables
+ Set Global Variable ${ENV_VARIABLES} ${env_variables}
+ Log Environment Variables: ${ENV_VARIABLES}
+ ${default_env_variables} = Create Dictionary
+ Set To Dictionary ${default_env_variables} FILE_FORMAT_TYPE=org.3GPP.32.435#measCollec
+ ... FILE_FORMAT_VERSION=V10
+ ... PM_FILE_PATH=${EXECDIR}/robot/assets/usecases/5gbulkpm/pmfiles/A20181002.0000-1000-0015-1000_5G.xml.gz
+ ... EXPECTED_PM_STR=perf3gpp_RnNode-Ericsson_pmMeasResult
+ Set Global Variable ${DEFAULT_ENV_VARIABLES} ${default_env_variables}
+
+ ${bulk_pm_mode}= Get Variable Value ${ENV_VARIABLES["BULK_PM_MODE"]} default
+ Set Global Variable ${BULK_PM_MODE} ${bulk_pm_mode}
+
Deploying Data File Collector
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
${headers}= Create Dictionary content-type=application/json
@@ -117,10 +129,12 @@ Checking PERFORMANCE_MEASUREMENTS Topic In Message Router
${resp}= Run MR Auth Get Request ${MR_TOPIC_URL_PATH} ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD}
Should Be Equal As Strings ${resp.status_code} 200
-Upload PM Files to xNF SFTP Server After Services Deployed
+Uploading PM Files to xNF SFTP Server After Services Deployed
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
- Upload PM Files to xNF SFTP Server ${FTP_FILE_PATH}
- Set Global Variable ${epoch}
+
+ ${pm_file_path}= Set Variable If "${BULK_PM_MODE}" == "custom" ${ENV_VARIABLES["PM_FILE_PATH"]} ${DEFAULT_ENV_VARIABLES["PM_FILE_PATH"]}
+ ${pm_file}= Upload PM Files to xNF SFTP Server ${pm_file_path} ${BULK_PM_MODE}
+ Set Global Variable ${PM_FILE} ${pm_file}
DR Bulk PM Feed Check
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
@@ -134,13 +148,24 @@ DR PM Mapper Subscriber Check
Sending File Ready Event to VES Collector After Services Deployed
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
- Send File Ready Event to VES Collector ${epoch}
+ ${file_format_type} ${file_format_version}= Run Keyword If "${BULK_PM_MODE}" == "custom" Set Variable ${ENV_VARIABLES["FILE_FORMAT_TYPE"]} ${ENV_VARIABLES["FILE_FORMAT_VERSION"]}
+ ... ELSE Set Variable ${DEFAULT_ENV_VARIABLES["FILE_FORMAT_TYPE"]} ${DEFAULT_ENV_VARIABLES["FILE_FORMAT_VERSION"]}
+ Send File Ready Event to VES Collector ${PM_FILE} ${file_format_type} ${file_format_version}
Verifying 3GPP Perf VES Content On PERFORMANCE_MEASUREMENTS Topic After Services Deployed
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
- Wait Until Keyword Succeeds 5 minute 5 sec xNF PM File Validate perf3gpp_RnNode-Ericsson_pmMeasResult
-Setting Known_Hosts Environment Set
+ ${expected_pm_str} ${expected_event_json_path}= Run Keyword If "${BULK_PM_MODE}" == "custom" Set Variable ${ENV_VARIABLES["EXPECTED_PM_STR"]} ${ENV_VARIABLES["EXPECTED_EVENT_JSON_PATH"]}
+ ... ELSE Set Variable ${DEFAULT_ENV_VARIABLES["EXPECTED_PM_STR"]} none
+
+
+ Run Keyword If "${BULK_PM_MODE}" == "custom" Wait Until Keyword Succeeds 3x 3 min Run Keyword And Expect Error * Get Event From Topic ${expected_event_json_path}
+ ... ELSE Wait Until Keyword Succeeds 3 min 5 s xNF PM File Validate ${expected_pm_str}
+
+ Run Keyword If "${BULK_PM_MODE}" == "custom" Validate Json Event From Topic ${expected_event_json_path} ${expected_pm_str}
+
+
+Setting KNOWN_HOSTS_FILE_PATH Environment Variable
[Tags] 5gbulkpm_checking_sftp_rsa_key
${rc}= Run and Return RC ${SET_KNOWN_HOSTS_FILE_PATH}
Should Be Equal As Integers ${rc} 0
@@ -150,25 +175,42 @@ Setting Known_Hosts Environment Set
${rc}= Run and Return RC ${COPY_RSA_KEY}
Should Be Equal As Integers ${rc} 0
-Uploading PM Files to xNF SFTP Server After Known_Host Set
+Uploading PM Files to xNF SFTP Server After KNOWN_HOSTS_FILE_PATH Env Variable Added
[Tags] 5gbulkpm_checking_sftp_rsa_key
- Upload PM Files to xNF SFTP Server ${FTP_FILE_PATH}
- Set Global Variable ${epoch}
-Sending File Ready Event to VES Collector After Known_Host Set
+ Set Test Variable ${KNOWN_HOST_VARIABLE} True
+ ${pm_file_path}= Set Variable If "${BULK_PM_MODE}" == "custom" ${ENV_VARIABLES["PM_FILE_PATH"]} ${DEFAULT_ENV_VARIABLES["PM_FILE_PATH"]}
+ ${pm_file}= Upload PM Files to xNF SFTP Server ${pm_file_path} ${BULK_PM_MODE} ${KNOWN_HOST_VARIABLE}
+ Set Global Variable ${PM_FILE} ${pm_file}
+ Set Test Variable ${KNOWN_HOST_VARIABLE} False
+
+Sending File Ready Event to VES Collector After KNOWN_HOSTS_FILE_PATH Env Variable Added
[Tags] 5gbulkpm_checking_sftp_rsa_key
- Send File Ready Event to VES Collector ${epoch}
-Verifying 3GPP Perf VES Content On PERFORMANCE_MEASUREMENTS Topic After Known_Host Set
+ ${file_format_type} ${file_format_version}= Run Keyword If "${BULK_PM_MODE}" == "custom" Set Variable ${ENV_VARIABLES["FILE_FORMAT_TYPE"]} ${ENV_VARIABLES["FILE_FORMAT_VERSION"]}
+ ... ELSE Set Variable ${DEFAULT_ENV_VARIABLES["FILE_FORMAT_TYPE"]} ${DEFAULT_ENV_VARIABLES["FILE_FORMAT_VERSION"]}
+ Send File Ready Event to VES Collector ${PM_FILE} ${file_format_type} ${file_format_version}
+
+Verifying 3GPP Perf VES Content On PERFORMANCE_MEASUREMENTS Topic After KNOWN_HOSTS_FILE_PATH Env Variable Added
[Tags] 5gbulkpm_checking_sftp_rsa_key
- Wait Until Keyword Succeeds 5 minute 5 sec xNF PM File Validate perf3gpp_RnNode-Ericsson_pmMeasResult
-Checking DFC Logs After Known_Hosts Set
+ Set Test Variable ${KNOWN_HOST_VARIABLE} True
+ ${expected_pm_str} ${expected_event_json_path}= Run Keyword If "${BULK_PM_MODE}" == "custom" Set Variable ${ENV_VARIABLES["EXPECTED_PM_STR"]} ${ENV_VARIABLES["EXPECTED_EVENT_JSON_PATH"]}
+ ... ELSE Set Variable ${DEFAULT_ENV_VARIABLES["EXPECTED_PM_STR"]} none
+
+
+ Run Keyword If "${BULK_PM_MODE}" == "custom" Wait Until Keyword Succeeds 3x 3 min Run Keyword And Expect Error * Get Event From Topic ${expected_event_json_path} ${KNOWN_HOST_VARIABLE}
+ ... ELSE Wait Until Keyword Succeeds 3 min 5 s xNF PM File Validate ${expected_pm_str} ${expected_event_json_path}
+
+ Run Keyword If "${BULK_PM_MODE}" == "custom" Validate Json Event From Topic ${expected_event_json_path} ${expected_pm_str} ${KNOWN_HOST_VARIABLE}
+ Set Test Variable ${KNOWN_HOST_VARIABLE} False
+
+Checking DFC Logs After KNOWN_HOSTS_FILE_PATH Env Variable Added
[Tags] 5gbulkpm_checking_sftp_rsa_key
${dfc_logs}= Run Given Command On DFC Container ${CHECK_DFC_LOGS}
Should Not Contain ${dfc_logs} ${EXPECTED_PRINT}
-Changing RSA Key Known_Hosts
+Changing SFTP Server RSA Key
[Tags] 5gbulkpm_checking_sftp_rsa_key
${get_known_hosts_file}= OperatingSystem.Get File /tmp/known_hosts
${change_rsa_key}= Replace String ${get_known_hosts_file} A a
@@ -176,15 +218,22 @@ Changing RSA Key Known_Hosts
${rc}= Run and Return RC ${COPY_RSA_KEY}
Should Be Equal As Integers ${rc} 0
-Uploading PM Files to xNF SFTP Server After RSA Key Change
+Uploading PM Files to xNF SFTP Server After SFTP Server RSA Key Changed
[Tags] 5gbulkpm_checking_sftp_rsa_key
- Upload PM Files to xNF SFTP Server ${FTP_FILE_PATH}
- Set Global Variable ${epoch}
-Sending File Ready Event to VES Collector After RSA Key Change
+ Set Test Variable ${KNOWN_HOST_VARIABLE} True
+ ${pm_file_path}= Set Variable If "${BULK_PM_MODE}" == "custom" ${ENV_VARIABLES["PM_FILE_PATH"]} ${DEFAULT_ENV_VARIABLES["PM_FILE_PATH"]}
+ ${pm_file}= Upload PM Files to xNF SFTP Server ${pm_file_path} ${BULK_PM_MODE} ${KNOWN_HOST_VARIABLE}
+ Set Global Variable ${PM_FILE} ${pm_file}
+ Set Test Variable ${KNOWN_HOST_VARIABLE} False
+
+Sending File Ready Event to VES Collector After SFTP Server RSA Key Changed
[Tags] 5gbulkpm_checking_sftp_rsa_key
- Send File Ready Event to VES Collector ${epoch}
-Checking DFC Logs After RSA Key Change
+ ${file_format_type} ${file_format_version}= Run Keyword If "${BULK_PM_MODE}" == "custom" Set Variable ${ENV_VARIABLES["FILE_FORMAT_TYPE"]} ${ENV_VARIABLES["FILE_FORMAT_VERSION"]}
+ ... ELSE Set Variable ${DEFAULT_ENV_VARIABLES["FILE_FORMAT_TYPE"]} ${DEFAULT_ENV_VARIABLES["FILE_FORMAT_VERSION"]}
+ Send File Ready Event to VES Collector ${PM_FILE} ${file_format_type} ${file_format_version}
+
+Checking DFC Logs After SFTP Server RSA Key Changed
[Tags] 5gbulkpm_checking_sftp_rsa_key
Wait Until Keyword Succeeds 5 sec 30 sec Check Given Print In DFC LOG ${CHECK_DFC_LOGS}