diff options
Diffstat (limited to 'robot/resources')
-rw-r--r-- | robot/resources/usecases/5gbulkpm_interface.robot | 55 |
1 files changed, 44 insertions, 11 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} + |