blob: 8208d1a8b218c636d48a984add020249bea264b2 [file] [log] [blame]
George Keishingeaa73b72018-07-30 09:30:16 -05001*** Settings ***
2Documentation Test Redfish interfaces supported.
3
George Keishing9cef1092018-08-06 01:06:24 -05004Resource ../lib/redfish_client.robot
5
6Test Setup Test Setup Execution
7Test Teardown Test Teardown Execution
8
George Keishingeaa73b72018-07-30 09:30:16 -05009
10** Test Cases **
11
George Keishing9cef1092018-08-06 01:06:24 -050012Test Get Redfish Session Id
13 [Documentation] Establish session to BMC and get session identifier.
14 [Tags] Test_Get_Redfish_Session_Id
15
George Keishing1552dd32018-08-06 13:14:09 -050016 # Example:
17 # {
18 # "@odata.context": "/redfish/v1/$metadata#Session.Session",
19 # "@odata.id": "/redfish/v1/SessionService/Sessions/gxgwFkuPqo",
20 # "@odata.type": "#Session.v1_0_2.Session",
21 # "Description": "Manager User Session",
22 # "Id": "gxgwFkuPqo",
23 # "Name": "User Session",
24 # "UserName": "root"
25 # }
26
George Keishing9cef1092018-08-06 01:06:24 -050027 ${session_url} =
28 ... Catenate SEPARATOR= ${REDFISH_SESSION_URI} ${test_session_id}
29 ${resp} = Redfish Get Request
George Keishing1552dd32018-08-06 13:14:09 -050030 ... ${session_url} xauth_token=${test_auth_token}
31
32 Should Be Equal As Strings
33 ... /redfish/v1/${session_url} ${resp["@odata.id"]}
34
35
36Test Invalid Redfish Token Access
37 [Documentation] Access valid session id using invalid session token.
38 [Tags] Test_Invalid_Redfish_Token_Access
39
40 ${session_url} =
41 ... Catenate SEPARATOR= ${REDFISH_SESSION_URI} ${test_session_id}
42 ${resp} = Redfish Get Request
43 ... ${session_url} xauth_token=InvalidToken response_format=${0}
44 Should Be Equal As Strings ${resp.status_code} ${HTTP_UNAUTHORIZED}
George Keishing9cef1092018-08-06 01:06:24 -050045
46
47Test Get Redfish Response Codes
George Keishingeaa73b72018-07-30 09:30:16 -050048 [Documentation] Get Redfish response codes and validate them.
George Keishing9cef1092018-08-06 01:06:24 -050049 [Tags] Test_Get_Redfish_Response_Codes
George Keishingeaa73b72018-07-30 09:30:16 -050050 [Template] Execute Get And Check Response
51
52 # Expected status URL Path
53 ${HTTP_OK} Systems
54 ${HTTP_OK} Systems/motherboard
55 ${HTTP_OK} Chassis/system
56 ${HTTP_OK} Managers/openbmc/EthernetInterfaces/eth0
57 ${HTTP_NOT_FOUND} /i/dont/exist/
58
George Keishing9cef1092018-08-06 01:06:24 -050059
George Keishingeaa73b72018-07-30 09:30:16 -050060*** Keywords ***
61
62Execute Get And Check Response
63 [Documentation] Execute "GET" request and check for expected status.
64 [Arguments] ${expected_response_code} ${url_path}
65 # Description of argument(s):
66 # expected_response_code Expected REST status codes.
67 # url_path URL path.
68
George Keishing9cef1092018-08-06 01:06:24 -050069 ${resp} = Redfish Get Request
70 ... ${url_path} xauth_token=${test_auth_token} response_format=${0}
George Keishingeaa73b72018-07-30 09:30:16 -050071 Should Be Equal As Strings ${resp.status_code} ${expected_response_code}
George Keishing9cef1092018-08-06 01:06:24 -050072
73
74Test Setup Execution
75 [Documentation] Do the test setup.
76
77 ${session_id} ${auth_token} = Redfish Login Request
78 Set Test Variable ${test_session_id} ${session_id}
79 Set Test Variable ${test_auth_token} ${auth_token}
80
81
82Test Teardown Execution
83 [Documentation] Do the test teardown.
84
85 Redfish Delete Request ${test_session_id} ${test_auth_token}