1192d10a2SSteven Sombar*** Settings *** 2192d10a2SSteven SombarDocumentation Test BMC using https://github.com/DMTF/Redfish-Service-Validator. 3192d10a2SSteven Sombar... DMTF tool. 4192d10a2SSteven Sombar 5192d10a2SSteven SombarLibrary OperatingSystem 6*4a95aeffSGeorge KeishingLibrary ../../lib/gen_robot_print.py 7192d10a2SSteven SombarResource ../../lib/dmtf_tools_utils.robot 8*4a95aeffSGeorge KeishingResource ../../lib/bmc_redfish_resource.robot 9*4a95aeffSGeorge KeishingResource ../../lib/bmc_redfish_utils.robot 10192d10a2SSteven Sombar 11192d10a2SSteven Sombar*** Variables *** 12192d10a2SSteven Sombar 13192d10a2SSteven Sombar${DEFAULT_PYTHON} python3 14192d10a2SSteven Sombar${rsv_dir_path} Redfish-Service-Validator 15192d10a2SSteven Sombar${rsv_github_url} https://github.com/DMTF/Redfish-Service-Validator.git 16192d10a2SSteven Sombar${command_string} ${DEFAULT_PYTHON} ${rsv_dir_path}${/}RedfishServiceValidator.py 17192d10a2SSteven Sombar... --ip ${OPENBMC_HOST} --nochkcert --forceauth -u ${OPENBMC_USERNAME} 18192d10a2SSteven Sombar... -p ${OPENBMC_PASSWORD} --logdir ${EXECDIR}${/}logs${/} --debug_logging 19192d10a2SSteven Sombar 20192d10a2SSteven Sombar*** Test Case *** 21192d10a2SSteven Sombar 22192d10a2SSteven SombarTest BMC Redfish Using Redfish Service Validator 23192d10a2SSteven Sombar [Documentation] Check conformance with a Redfish service interface. 24192d10a2SSteven Sombar [Tags] Test_BMC_Redfish_Using_Redfish_Service_Validator 25192d10a2SSteven Sombar 26192d10a2SSteven Sombar Download DMTF Tool ${rsv_dir_path} ${rsv_github_url} 27192d10a2SSteven Sombar 28192d10a2SSteven Sombar ${output}= Run DMTF Tool ${rsv_dir_path} ${command_string} 29192d10a2SSteven Sombar 30192d10a2SSteven Sombar Redfish Service Validator Result ${output} 31*4a95aeffSGeorge Keishing 32*4a95aeffSGeorge Keishing 33*4a95aeffSGeorge KeishingRun Redfish Service Validator With Additional Roles 34*4a95aeffSGeorge Keishing [Documentation] Check Redfish conformance using the Redfish Service Validator. 35*4a95aeffSGeorge Keishing ... Run the validator as additional non-admin user roles. 36*4a95aeffSGeorge Keishing [Tags] Run_Redfish_Service_Validator_With_Additional_Roles 37*4a95aeffSGeorge Keishing [Template] Create User And Run Service Validator 38*4a95aeffSGeorge Keishing 39*4a95aeffSGeorge Keishing #username password role enabled 40*4a95aeffSGeorge Keishing operator_user ${OPENBMC_PASSWORD} Operator ${True} 41*4a95aeffSGeorge Keishing readonly_user ${OPENBMC_PASSWORD} ReadOnly ${True} 42*4a95aeffSGeorge Keishing 43*4a95aeffSGeorge Keishing 44*4a95aeffSGeorge Keishing*** Keywords *** 45*4a95aeffSGeorge Keishing 46*4a95aeffSGeorge KeishingCreate User And Run Service Validator 47*4a95aeffSGeorge Keishing [Documentation] Create user and run validator. 48*4a95aeffSGeorge Keishing [Arguments] ${username} ${password} ${role} ${enabled} 49*4a95aeffSGeorge Keishing [Teardown] Delete User Created ${username} 50*4a95aeffSGeorge Keishing 51*4a95aeffSGeorge Keishing # Description of argument(s): 52*4a95aeffSGeorge Keishing # username The username to be created. 53*4a95aeffSGeorge Keishing # password The password to be assigned. 54*4a95aeffSGeorge Keishing # role The role of the user to be created 55*4a95aeffSGeorge Keishing # (e.g. "Administrator", "Operator", etc.). 56*4a95aeffSGeorge Keishing # enabled Indicates whether the username being created 57*4a95aeffSGeorge Keishing # should be enabled (${True}, ${False}). 58*4a95aeffSGeorge Keishing 59*4a95aeffSGeorge Keishing Redfish.Login 60*4a95aeffSGeorge Keishing Redfish Create User ${username} ${password} ${role} ${enabled} 61*4a95aeffSGeorge Keishing Redfish.Logout 62*4a95aeffSGeorge Keishing 63*4a95aeffSGeorge Keishing Download DMTF Tool ${rsv_dir_path} ${rsv_github_url} 64*4a95aeffSGeorge Keishing 65*4a95aeffSGeorge Keishing ${cmd}= Catenate ${DEFAULT_PYTHON} ${rsv_dir_path}${/}RedfishServiceValidator.py 66*4a95aeffSGeorge Keishing ... --ip ${OPENBMC_HOST} --nochkcert --authtype=Session -u ${username} 67*4a95aeffSGeorge Keishing ... -p ${password} --logdir ${EXECDIR}${/}logs_${username}${/} --debug_logging 68*4a95aeffSGeorge Keishing 69*4a95aeffSGeorge Keishing Rprint Vars cmd 70*4a95aeffSGeorge Keishing 71*4a95aeffSGeorge Keishing ${output}= Run DMTF Tool ${rsv_dir_path} ${cmd} 72*4a95aeffSGeorge Keishing 73*4a95aeffSGeorge Keishing Redfish Service Validator Result ${output} 74*4a95aeffSGeorge Keishing 75*4a95aeffSGeorge Keishing 76*4a95aeffSGeorge KeishingDelete User Created 77*4a95aeffSGeorge Keishing [Documentation] Delete user. 78*4a95aeffSGeorge Keishing [Arguments] ${username} 79*4a95aeffSGeorge Keishing 80*4a95aeffSGeorge Keishing # Description of argument(s): 81*4a95aeffSGeorge Keishing # username The username to be deleted. 82*4a95aeffSGeorge Keishing 83*4a95aeffSGeorge Keishing Redfish.Login 84*4a95aeffSGeorge Keishing Redfish.Delete /redfish/v1/AccountService/Accounts/${username} 85*4a95aeffSGeorge Keishing Redfish.Logout 86