blob: 38127971bd4d86970b7becb01493580fc53eb8fe [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
59*** Keywords ***
60
61Execute Get And Check Response
62 [Documentation] Execute "GET" request and check for expected status.
63 [Arguments] ${expected_response_code} ${url_path}
64 # Description of argument(s):
65 # expected_response_code Expected REST status codes.
66 # url_path URL path.
67
George Keishing9cef1092018-08-06 01:06:24 -050068 ${resp} = Redfish Get Request
69 ... ${url_path} xauth_token=${test_auth_token} response_format=${0}
George Keishingeaa73b72018-07-30 09:30:16 -050070 Should Be Equal As Strings ${resp.status_code} ${expected_response_code}
George Keishing9cef1092018-08-06 01:06:24 -050071
72
73Test Setup Execution
74 [Documentation] Do the test setup.
75
76 ${session_id} ${auth_token} = Redfish Login Request
77 Set Test Variable ${test_session_id} ${session_id}
78 Set Test Variable ${test_auth_token} ${auth_token}
79
80
81Test Teardown Execution
82 [Documentation] Do the test teardown.
83
George Keishing138f9d32018-08-08 10:50:05 -050084 ${session_uri} =
85 ... Catenate SEPARATOR= ${REDFISH_SESSION_URI} ${test_session_id}
86
87 Redfish Delete Request ${session_uri} ${test_auth_token}