1*** Settings *** 2 3Documentation Redfish request library which provide keywords for creating session, 4... sending POST, PUT, DELETE, PATCH, GET etc. request using redfish_request.py 5... library file. It also contain other keywords which uses redfish_request.py 6... libarary infrastructure. 7 8Resource openbmc_ffdc.robot 9Resource bmc_redfish_resource.robot 10Resource rest_response_code.robot 11Library redfish_request.py 12 13*** Keywords *** 14 15Redfish Generic Login Request 16 [Documentation] Do Redfish login request. 17 [Arguments] ${user_name} ${password} 18 19 # Description of argument(s): 20 # user_name User name of BMC. 21 # password Password of BMC. 22 23 ${client_id}= Create Dictionary ClientID=None 24 ${oem_data}= Create Dictionary OpenBMC=${client_id} 25 ${data}= Create Dictionary UserName=${user_name} Password=${password} Oem=${oem_data} 26 27 Set Test Variable ${uri} /redfish/v1/SessionService/Sessions 28 ${resp}= Request_Login headers=None url=${uri} credential=${data} 29 Should Be Equal As Strings ${resp.status_code} ${HTTP_CREATED} 30 31 [Return] ${resp} 32 33 34Redfish Generic Session Request 35 [Documentation] Do Redfish login request and store the session details. 36 [Arguments] ${user_name} ${password} 37 38 # Description of argument(s): 39 # user_name User name of BMC. 40 # password Password of BMC. 41 42 ${session_dict}= Create Dictionary 43 ${session_resp}= Redfish Generic Login Request ${user_name} ${password} 44 45 ${auth_token}= Create Dictionary X-Auth-Token ${session_resp.headers['X-Auth-Token']} 46 47 Set To Dictionary ${session_dict} headers ${auth_token} 48 Set To Dictionary ${session_dict} Location ${session_resp.headers['Location']} 49 50 ${content}= To JSON ${session_resp.content} 51 52 Set To Dictionary ${session_dict} Content ${content} 53 54 Set Global Variable ${active_session_info} ${session_dict} 55 Append To List ${session_dict_list} ${session_dict} 56 57 [Return] ${session_dict} 58