blob: 3b1c89804d1eafbfcef28f5a963664599f5ee083 [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
George Keishingd61775f2018-08-09 01:02:30 -050036Test Delete Redfish Session With Invalid Token
37 [Documentation] Delete valid session with invalid token.
38
39 ${session_uri} =
40 ... Catenate SEPARATOR= ${REDFISH_SESSION_URI} ${test_session_id}
41
42 ${resp} = Redfish Delete Request
43 ... ${session_uri} xauth_token=InvalidToken resp_check=${0}
44 Should Be Equal As Strings ${resp.status_code} ${HTTP_UNAUTHORIZED}
45
46
George Keishing884d7d42018-08-09 12:43:13 -050047Test Delete Redfish Response Codes
48 [Documentation] Get Redfish response codes and validate them.
49 [Tags] Test_Delete_Redfish_Response_Codes
50
51 ${resp} = Redfish Delete Request
52 ... Systems/motherboard xauth_token=${test_auth_token} resp_check=${0}
53 Should Be Equal As Strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
54
55
George Keishing1552dd32018-08-06 13:14:09 -050056Test Invalid Redfish Token Access
57 [Documentation] Access valid session id using invalid session token.
58 [Tags] Test_Invalid_Redfish_Token_Access
59
60 ${session_url} =
61 ... Catenate SEPARATOR= ${REDFISH_SESSION_URI} ${test_session_id}
62 ${resp} = Redfish Get Request
George Keishing884d7d42018-08-09 12:43:13 -050063 ... ${session_url} xauth_token=InvalidToken resp_check=${0}
George Keishing1552dd32018-08-06 13:14:09 -050064 Should Be Equal As Strings ${resp.status_code} ${HTTP_UNAUTHORIZED}
George Keishing9cef1092018-08-06 01:06:24 -050065
66
67Test Get Redfish Response Codes
George Keishingeaa73b72018-07-30 09:30:16 -050068 [Documentation] Get Redfish response codes and validate them.
George Keishing9cef1092018-08-06 01:06:24 -050069 [Tags] Test_Get_Redfish_Response_Codes
George Keishingeaa73b72018-07-30 09:30:16 -050070 [Template] Execute Get And Check Response
71
72 # Expected status URL Path
George Keishing884d7d42018-08-09 12:43:13 -050073 ${HTTP_OK} ${EMPTY}
George Keishing0378f882018-08-28 09:29:13 -050074 ${HTTP_OK} SessionService
George Keishingeaa73b72018-07-30 09:30:16 -050075 ${HTTP_OK} Systems
George Keishing0378f882018-08-28 09:29:13 -050076 ${HTTP_OK} Chassis
77 ${HTTP_OK} Managers
78 ${HTTP_OK} AccountService
George Keishingeaa73b72018-07-30 09:30:16 -050079 ${HTTP_OK} Managers/openbmc/EthernetInterfaces/eth0
80 ${HTTP_NOT_FOUND} /i/dont/exist/
81
82*** Keywords ***
83
84Execute Get And Check Response
85 [Documentation] Execute "GET" request and check for expected status.
86 [Arguments] ${expected_response_code} ${url_path}
87 # Description of argument(s):
88 # expected_response_code Expected REST status codes.
89 # url_path URL path.
90
George Keishing9cef1092018-08-06 01:06:24 -050091 ${resp} = Redfish Get Request
George Keishing884d7d42018-08-09 12:43:13 -050092 ... ${url_path} xauth_token=${test_auth_token} resp_check=${0}
George Keishingeaa73b72018-07-30 09:30:16 -050093 Should Be Equal As Strings ${resp.status_code} ${expected_response_code}
George Keishing9cef1092018-08-06 01:06:24 -050094
95
96Test Setup Execution
97 [Documentation] Do the test setup.
98
99 ${session_id} ${auth_token} = Redfish Login Request
100 Set Test Variable ${test_session_id} ${session_id}
101 Set Test Variable ${test_auth_token} ${auth_token}
102
103
104Test Teardown Execution
105 [Documentation] Do the test teardown.
106
George Keishing138f9d32018-08-08 10:50:05 -0500107 ${session_uri} =
108 ... Catenate SEPARATOR= ${REDFISH_SESSION_URI} ${test_session_id}
109
110 Redfish Delete Request ${session_uri} ${test_auth_token}