| *** Settings *** | 
 | Documentation      Test BMC using https://github.com/DMTF/Redfish-Service-Validator. | 
 | ...                DMTF tool. | 
 |  | 
 | Library            OperatingSystem | 
 | Library            ../../lib/gen_robot_print.py | 
 | Resource           ../../lib/dmtf_tools_utils.robot | 
 | Resource           ../../lib/bmc_redfish_resource.robot | 
 | Resource           ../../lib/bmc_redfish_utils.robot | 
 |  | 
 | *** Variables *** | 
 |  | 
 | ${DEFAULT_PYTHON}  python3 | 
 | ${rsv_dir_path}    Redfish-Service-Validator | 
 | ${rsv_github_url}  https://github.com/DMTF/Redfish-Service-Validator.git | 
 | ${cmd_str_master}  ${DEFAULT_PYTHON} ${rsv_dir_path}${/}RedfishServiceValidator.py | 
 | ...                --ip https://${OPENBMC_HOST}:${HTTPS_PORT} --authtype=Session -u ${OPENBMC_USERNAME} | 
 | ...                -p ${OPENBMC_PASSWORD} --logdir ${EXECDIR}${/}logs${/} --debugging | 
 | ${branch_name}    main | 
 |  | 
 | *** Test Cases *** | 
 |  | 
 | Test BMC Redfish Using Redfish Service Validator | 
 |     [Documentation]  Check conformance with a Redfish service interface. | 
 |     [Tags]  Test_BMC_Redfish_Using_Redfish_Service_Validator | 
 |  | 
 |     Download DMTF Tool  ${rsv_dir_path}  ${rsv_github_url}  ${branch_name} | 
 |  | 
 |     ${rc}  ${output}=  Run DMTF Tool  ${rsv_dir_path}  ${cmd_str_master}  check_error=1 | 
 |  | 
 |     Redfish Service Validator Result  ${output} | 
 |     IF  ${rc} != 0  Fail  Redfish-Service-Validator Failed. | 
 |  | 
 |  | 
 | Run Redfish Service Validator With Additional Roles | 
 |     [Documentation]  Check Redfish conformance using the Redfish Service Validator. | 
 |     ...  Run the validator as additional non-admin user roles. | 
 |     [Tags]  Run_Redfish_Service_Validator_With_Additional_Roles | 
 |     [Template]  Create User And Run Service Validator | 
 |  | 
 |     #username      password       role        enabled | 
 |     operator_user  0penBmc123     Operator    ${True} | 
 |     readonly_user  0penBmc123     ReadOnly    ${True} | 
 |  | 
 | *** Keywords *** | 
 |  | 
 | Create User And Run Service Validator | 
 |     [Documentation]  Create user and run validator. | 
 |     [Arguments]   ${username}  ${password}  ${role}  ${enabled} | 
 |     [Teardown]  Delete User Created  ${username} | 
 |  | 
 |     # Description of argument(s): | 
 |     # username            The username to be created. | 
 |     # password            The password to be assigned. | 
 |     # role                The role of the user to be created | 
 |     #                     (e.g. "Administrator", "Operator", etc.). | 
 |     # enabled             Indicates whether the username being created | 
 |     #                     should be enabled (${True}, ${False}). | 
 |  | 
 |     Redfish.Login | 
 |     Redfish Create User  ${username}  ${password}  ${role}  ${enabled} | 
 |     Redfish.Logout | 
 |  | 
 |     Download DMTF Tool  ${rsv_dir_path}  ${rsv_github_url}  ${branch_name} | 
 |  | 
 |     ${cmd}=  Catenate  ${DEFAULT_PYTHON} ${rsv_dir_path}${/}RedfishServiceValidator.py | 
 |     ...  --ip https://${OPENBMC_HOST}:${HTTPS_PORT} --authtype=Session -u ${username} | 
 |     ...  -p ${password} --logdir ${EXECDIR}${/}logs_${username}${/} --debugging | 
 |  | 
 |     Rprint Vars  cmd | 
 |  | 
 |     ${rc}  ${output}=  Run DMTF Tool  ${rsv_dir_path}  ${cmd}  check_error=1 | 
 |  | 
 |     Redfish Service Validator Result  ${output} | 
 |     IF  ${rc} != 0  Fail | 
 |  | 
 |  | 
 | Delete User Created | 
 |     [Documentation]  Delete user. | 
 |     [Arguments]   ${username} | 
 |  | 
 |     # Description of argument(s): | 
 |     # username            The username to be deleted. | 
 |  | 
 |     Redfish.Login | 
 |     Redfish.Delete  /redfish/v1/AccountService/Accounts/${username} | 
 |     Redfish.Logout |