1*** Settings *** 2Documentation Test BMC using https://github.com/DMTF/Redfish-Usecase-Checkers 3... DMTF tool. 4 5Library OperatingSystem 6Library ../../lib/state.py 7Resource ../../lib/dmtf_tools_utils.robot 8Resource ../../lib/openbmc_ffdc.robot 9 10Test Setup Test Setup Execution 11Test Teardown Test Teardown Execution 12 13*** Variables *** 14 15${DEFAULT_PYTHON} python3 16 17${rsv_github_url} https://github.com/DMTF/Redfish-Usecase-Checkers.git 18${rsv_dir_path} Redfish-Usecase-Checkers 19 20${command_account} ${DEFAULT_PYTHON} ${rsv_dir_path}${/}account_management/account_management.py 21... -r ${OPENBMC_HOST} -u ${OPENBMC_USERNAME} 22... -p ${OPENBMC_PASSWORD} -S Always -d ${EXECDIR}${/}logs${/} 23 24${command_power_control} ${DEFAULT_PYTHON} ${rsv_dir_path}${/}power_control/power_control.py 25... -r ${OPENBMC_HOST} -u ${OPENBMC_USERNAME} 26... -p ${OPENBMC_PASSWORD} -S Always 27 28${power_on_timeout} 15 mins 29${power_off_timeout} 15 mins 30${state_change_timeout} 3 mins 31 32*** Test Case *** 33 34Test BMC Redfish Account Management 35 [Documentation] Check Account Management with a Redfish interface. 36 [Tags] Test_BMC_Redfish_Account_Management 37 38 ${output}= Run DMTF Tool ${rsv_dir_path} ${command_account} check_error=1 39 40 ${output}= Shell Cmd cat ${EXECDIR}${/}logs${/}results.json 41 Log ${output} 42 43 ${json}= OperatingSystem.Get File ${EXECDIR}${/}logs${/}results.json 44 45 ${object}= Evaluate json.loads('''${json}''') json 46 47 ${result_list}= Set Variable ${object["TestResults"]} 48 49 @{failed_tc_list}= Create List 50 51 FOR ${result} IN @{result_list} 52 ${rc}= evaluate 'ErrorMessages'=='${result}' 53 ${num}= Run Keyword If ${rc} == False Set Variable ${result_list["${result}"]["fail"]} 54 Run Keyword If ${num} != None and ${num} > 0 Append To List ${failed_tc_list} ${result} 55 END 56 57 Should Be Empty ${failed_tc_list} Failed test cases are ${failed_tc_list} 58 59 60Test BMC Redfish Power Control Usecase 61 [Documentation] Power Control Usecase Test. 62 [Tags] Test_BMC_Redfish_Power_Control_Usecase 63 64 DMTF Power 65 66 67*** Keywords *** 68 69Test Setup Execution 70 [Documentation] Do test case setup tasks. 71 72 Printn 73 Download DMTF Tool ${rsv_dir_path} ${rsv_github_url} 74 75 76Test Teardown Execution 77 [Documentation] Do the post-test teardown. 78 79 Printn 80 FFDC On Test Case Fail 81 82 83DMTF Power 84 [Documentation] Power the BMC machine on via DMTF tools. 85 86 Print Timen Doing "DMTF Power". 87 88 Run DMTF Tool ${rsv_dir_path} ${command_power_control} 89