|  | *** Settings *** | 
|  |  | 
|  | Documentation     Redfish request library which provide keywords for creating session, | 
|  | ...               sending POST, PUT, DELETE, PATCH, GET etc. request using redfish_request.py | 
|  | ...               library file. It also contain other keywords which uses redfish_request.py | 
|  | ...               library infrastructure. | 
|  |  | 
|  | Resource          openbmc_ffdc.robot | 
|  | Resource          bmc_redfish_resource.robot | 
|  | Resource          rest_response_code.robot | 
|  | Library           redfish_request.py | 
|  |  | 
|  | *** Keywords *** | 
|  |  | 
|  | Redfish Generic Login Request | 
|  | [Documentation]  Do Redfish login request. | 
|  | [Arguments]  ${user_name}  ${password} | 
|  |  | 
|  | # Description of argument(s): | 
|  | # user_name   User name of BMC. | 
|  | # password    Password of BMC. | 
|  |  | 
|  | ${client_id}=  Create Dictionary  ClientID=None | 
|  | ${oem_data}=  Create Dictionary  OpenBMC=${client_id} | 
|  | ${data}=  Create Dictionary  UserName=${user_name}  Password=${password}  Oem=${oem_data} | 
|  |  | 
|  | Set Test Variable  ${uri}  /redfish/v1/SessionService/Sessions | 
|  | ${resp}=  Request_Login  headers=None  url=${uri}  credential=${data} | 
|  | Should Be Equal As Strings  ${resp.status_code}  ${HTTP_CREATED} | 
|  |  | 
|  | RETURN  ${resp} | 
|  |  | 
|  |  | 
|  | Redfish Generic Session Request | 
|  | [Documentation]  Do Redfish login request and store the session details. | 
|  | [Arguments]  ${user_name}  ${password} | 
|  |  | 
|  | # Description of argument(s): | 
|  | # user_name   User name of BMC. | 
|  | # password    Password of BMC. | 
|  |  | 
|  | ${session_dict}=   Create Dictionary | 
|  | ${session_resp}=   Redfish Generic Login Request  ${user_name}  ${password} | 
|  |  | 
|  | ${auth_token}=  Create Dictionary  X-Auth-Token  ${session_resp.headers['X-Auth-Token']} | 
|  |  | 
|  | Set To Dictionary  ${session_dict}  headers  ${auth_token} | 
|  | Set To Dictionary  ${session_dict}  Location  ${session_resp.headers['Location']} | 
|  |  | 
|  |  | 
|  | Set To Dictionary  ${session_dict}  Content  ${session_resp.content} | 
|  |  | 
|  | Set Global Variable  ${active_session_info}  ${session_dict} | 
|  | Append To List  ${session_dict_list}  ${session_dict} | 
|  |  | 
|  | RETURN  ${session_dict} |