1*** Settings *** 2Documentation Test BMC using https://github.com/DMTF/Redfish-Service-Validator. 3... DMTF tool. 4 5Library OperatingSystem 6Library ../../lib/gen_robot_print.py 7Resource ../../lib/dmtf_tools_utils.robot 8Resource ../../lib/bmc_redfish_resource.robot 9Resource ../../lib/bmc_redfish_utils.robot 10 11*** Variables *** 12 13${DEFAULT_PYTHON} python3 14${rsv_dir_path} Redfish-Service-Validator 15${rsv_github_url} https://github.com/DMTF/Redfish-Service-Validator.git 16${cmd_str_master} ${DEFAULT_PYTHON} ${rsv_dir_path}${/}RedfishServiceValidator.py 17... --ip https://${OPENBMC_HOST}:${HTTPS_PORT} --authtype=Session -u ${OPENBMC_USERNAME} 18... -p ${OPENBMC_PASSWORD} --logdir ${EXECDIR}${/}logs${/} --debugging 19${branch_name} main 20 21*** Test Case *** 22 23Test BMC Redfish Using Redfish Service Validator 24 [Documentation] Check conformance with a Redfish service interface. 25 [Tags] Test_BMC_Redfish_Using_Redfish_Service_Validator 26 27 Download DMTF Tool ${rsv_dir_path} ${rsv_github_url} ${branch_name} 28 29 ${rc} ${output}= Run DMTF Tool ${rsv_dir_path} ${cmd_str_master} check_error=1 30 31 Redfish Service Validator Result ${output} 32 Run Keyword If ${rc} != 0 Fail Redfish-Service-Validator Failed. 33 34 35Run Redfish Service Validator With Additional Roles 36 [Documentation] Check Redfish conformance using the Redfish Service Validator. 37 ... Run the validator as additional non-admin user roles. 38 [Tags] Run_Redfish_Service_Validator_With_Additional_Roles 39 [Template] Create User And Run Service Validator 40 41 #username password role enabled 42 operator_user ${OPENBMC_PASSWORD} Operator ${True} 43 readonly_user ${OPENBMC_PASSWORD} ReadOnly ${True} 44 45 46*** Keywords *** 47 48Create User And Run Service Validator 49 [Documentation] Create user and run validator. 50 [Arguments] ${username} ${password} ${role} ${enabled} 51 [Teardown] Delete User Created ${username} 52 53 # Description of argument(s): 54 # username The username to be created. 55 # password The password to be assigned. 56 # role The role of the user to be created 57 # (e.g. "Administrator", "Operator", etc.). 58 # enabled Indicates whether the username being created 59 # should be enabled (${True}, ${False}). 60 61 Redfish.Login 62 Redfish Create User ${username} ${password} ${role} ${enabled} 63 Redfish.Logout 64 65 Download DMTF Tool ${rsv_dir_path} ${rsv_github_url} ${branch_name} 66 67 ${cmd}= Catenate ${DEFAULT_PYTHON} ${rsv_dir_path}${/}RedfishServiceValidator.py 68 ... --ip https://${OPENBMC_HOST}:${HTTPS_PORT} --authtype=Session -u ${username} 69 ... -p ${password} --logdir ${EXECDIR}${/}logs_${username}${/} --debugging 70 71 Rprint Vars cmd 72 73 ${rc} ${output}= Run DMTF Tool ${rsv_dir_path} ${cmd} check_error=1 74 75 Redfish Service Validator Result ${output} 76 Run Keyword If ${rc} != 0 Fail 77 78 79Delete User Created 80 [Documentation] Delete user. 81 [Arguments] ${username} 82 83 # Description of argument(s): 84 # username The username to be deleted. 85 86 Redfish.Login 87 Redfish.Delete /redfish/v1/AccountService/Accounts/${username} 88 Redfish.Logout 89