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