diff options
-rw-r--r-- | robot/resources/usecases/5gbulkpm_interface.robot | 55 | ||||
-rw-r--r-- | robot/testsuites/usecases/5gbulkpm.robot | 99 |
2 files changed, 36 insertions, 118 deletions
diff --git a/robot/resources/usecases/5gbulkpm_interface.robot b/robot/resources/usecases/5gbulkpm_interface.robot index 3289f49f..0655e53e 100644 --- a/robot/resources/usecases/5gbulkpm_interface.robot +++ b/robot/resources/usecases/5gbulkpm_interface.robot @@ -3,7 +3,6 @@ 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} @@ -27,38 +26,10 @@ 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] ${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} + [Arguments] ${value} + ${resp}= Run MR Auth Get Request ${MR_TOPIC_URL_PATH} ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD} + Should Contain ${resp.text} ${value} Topic Validate [Arguments] ${value} @@ -80,31 +51,28 @@ Usecase Teardown Send File Ready Event to VES Collector - [Arguments] ${pm_file} ${file_format_type} ${file_format_version} + [Arguments] ${epoch} ${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":"${pm_file}","hashMap":{"location":"sftp://bulkpm:bulkpm@sftpserver:22/upload/${pm_file}","compression":"gzip","fileFormatType":"${file_format_type}","fileFormatVersion":"${file_format_version}"}}]}}} + ${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"}}]}}} ${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] ${pm_file_path} ${bulk_pm_mode} ${known_host_variable}=False + [Arguments] ${ftp_file_path} Open Connection sftpserver Login bulkpm bulkpm ${epoch}= Get Current Date result_format=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} + Set Global Variable ${epoch} + Put File ${ftp_file_path} upload/A${epoch}.xml.gz + [Return] ${epoch} 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 @@ -126,6 +94,5 @@ 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 e8d5da2a..07ea3b7b 100644 --- a/robot/testsuites/usecases/5gbulkpm.robot +++ b/robot/testsuites/usecases/5gbulkpm.robot @@ -14,13 +14,16 @@ 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 org.3GPP.32.435#measCollec V10 +Suite Setup Send File Ready Event to VES Collector test 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 @@ -43,21 +46,6 @@ ${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 @@ -129,12 +117,10 @@ 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 -Uploading PM Files to xNF SFTP Server After Services Deployed +Upload PM Files to xNF SFTP Server After Services Deployed [Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key - - ${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} + Upload PM Files to xNF SFTP Server ${FTP_FILE_PATH} + Set Global Variable ${epoch} DR Bulk PM Feed Check [Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key @@ -148,24 +134,13 @@ DR PM Mapper Subscriber Check Sending File Ready Event to VES Collector After Services Deployed [Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key - ${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} + Send File Ready Event to VES Collector ${epoch} 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 - ${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 +Setting Known_Hosts Environment Set [Tags] 5gbulkpm_checking_sftp_rsa_key ${rc}= Run and Return RC ${SET_KNOWN_HOSTS_FILE_PATH} Should Be Equal As Integers ${rc} 0 @@ -175,42 +150,25 @@ Setting KNOWN_HOSTS_FILE_PATH Environment Variable ${rc}= Run and Return RC ${COPY_RSA_KEY} Should Be Equal As Integers ${rc} 0 -Uploading PM Files to xNF SFTP Server After KNOWN_HOSTS_FILE_PATH Env Variable Added +Uploading PM Files to xNF SFTP Server After Known_Host Set [Tags] 5gbulkpm_checking_sftp_rsa_key + Upload PM Files to xNF SFTP Server ${FTP_FILE_PATH} + Set Global Variable ${epoch} - 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 +Sending File Ready Event to VES Collector After Known_Host Set [Tags] 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 KNOWN_HOSTS_FILE_PATH Env Variable Added +Verifying 3GPP Perf VES Content On PERFORMANCE_MEASUREMENTS Topic After Known_Host Set [Tags] 5gbulkpm_checking_sftp_rsa_key + Wait Until Keyword Succeeds 5 minute 5 sec xNF PM File Validate perf3gpp_RnNode-Ericsson_pmMeasResult - 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 +Checking DFC Logs After Known_Hosts Set [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 SFTP Server RSA Key +Changing RSA Key Known_Hosts [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 @@ -218,22 +176,15 @@ Changing SFTP Server RSA Key ${rc}= Run and Return RC ${COPY_RSA_KEY} Should Be Equal As Integers ${rc} 0 -Uploading PM Files to xNF SFTP Server After SFTP Server RSA Key Changed +Uploading PM Files to xNF SFTP Server After RSA Key Change [Tags] 5gbulkpm_checking_sftp_rsa_key + Upload PM Files to xNF SFTP Server ${FTP_FILE_PATH} + Set Global Variable ${epoch} - 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 +Sending File Ready Event to VES Collector After RSA Key Change [Tags] 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} - -Checking DFC Logs After SFTP Server RSA Key Changed +Checking DFC Logs After RSA Key Change [Tags] 5gbulkpm_checking_sftp_rsa_key Wait Until Keyword Succeeds 5 sec 30 sec Check Given Print In DFC LOG ${CHECK_DFC_LOGS} |