blob: 5a6dfb6992b5716e81b0ee83a10ab07822d2877e [file] [log] [blame]
Chris Austenb29d2e82016-06-07 12:25:35 -05001*** Settings ***
George Keishing97651c72016-10-04 00:44:15 -05002Documentation This suite will verifiy all OpenBMC rest interfaces
3... Details of valid interfaces can be found here...
4... https://github.com/openbmc/docs/blob/master/rest-api.md
Chris Austenb29d2e82016-06-07 12:25:35 -05005
George Keishing97651c72016-10-04 00:44:15 -05006Resource ../lib/rest_client.robot
George Keishingd55a4be2016-08-26 03:28:17 -05007Resource ../lib/openbmc_ffdc.robot
Gunnar Millseac1af22016-11-14 15:30:09 -06008Test Teardown FFDC On Test Case Fail
Chris Austenb29d2e82016-06-07 12:25:35 -05009
10
11*** Variables ***
12
13
14*** Test Cases ***
15Good connection for testing
George Keishing97651c72016-10-04 00:44:15 -050016 [Tags] CI Good_connection_for_testing
Chris Austenb29d2e82016-06-07 12:25:35 -050017 ${content}= Read Properties /
18 ${c}= get from List ${content} 0
19 Should Be Equal ${c} /org
20
Gunnar Mills56b32892016-11-14 13:56:17 -060021Get an object with no properties
Chris Austenb29d2e82016-06-07 12:25:35 -050022 ${content}= Read Properties /org/openbmc/inventory
23 Should Be Empty ${content}
24
25Get a Property
Rahul Maheshwaribb20f732016-10-24 06:27:14 -050026 [Tags] Get_a_Property
Chris Austenb29d2e82016-06-07 12:25:35 -050027 ${resp}= Read Attribute /org/openbmc/inventory/system/chassis/motherboard/cpu0 is_fru
28 Should Be Equal ${resp} ${1}
29
30Get a null Property
Gunnar Mills1cd544d2016-12-06 11:19:22 -060031 ${resp}= OpenBMC Get Request /org/openbmc/inventory/attr/is_fru
Chris Austenb29d2e82016-06-07 12:25:35 -050032 Should Be Equal As Strings ${resp.status_code} ${HTTP_NOT_FOUND}
33 ${jsondata}= To Json ${resp.content}
34 Should Be Equal ${jsondata['data']['description']} The specified property cannot be found: ''is_fru''
35
36get directory listing /
George Keishing97651c72016-10-04 00:44:15 -050037 [Tags] CI get_directory_listing
Gunnar Mills1cd544d2016-12-06 11:19:22 -060038 ${resp}= openbmc get request /
Chris Austenb29d2e82016-06-07 12:25:35 -050039 should be equal as strings ${resp.status_code} ${HTTP_OK}
Gunnar Mills1cd544d2016-12-06 11:19:22 -060040 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -050041 list should contain value ${json['data']} /org
42 should be equal as strings ${json['status']} ok
43
44get directory listing /org/
Chris Austen859be602016-07-07 16:46:31 -050045 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -060046 ${resp}= openbmc get request /org/
Chris Austenb29d2e82016-06-07 12:25:35 -050047 should be equal as strings ${resp.status_code} ${HTTP_OK}
Gunnar Mills1cd544d2016-12-06 11:19:22 -060048 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -050049 list should contain value ${json['data']} /org/openbmc
50 should be equal as strings ${json['status']} ok
51
52get invalid directory listing /i/dont/exist/
Chris Austen859be602016-07-07 16:46:31 -050053 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -060054 ${resp}= openbmc get request /i/dont/exist/
Chris Austenb29d2e82016-06-07 12:25:35 -050055 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -060056 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -050057 should be equal as strings ${json['status']} error
58
59put directory listing /
Chris Austen859be602016-07-07 16:46:31 -050060 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -060061 ${resp}= openbmc put request /
Gunnar Mills56b32892016-11-14 13:56:17 -060062 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -060063 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -050064 should be equal as strings ${json['status']} error
65
66put directory listing /org/
Chris Austen859be602016-07-07 16:46:31 -050067 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -060068 ${resp}= openbmc put request /org/
Gunnar Mills56b32892016-11-14 13:56:17 -060069 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -060070 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -050071 should be equal as strings ${json['status']} error
72
73put invalid directory listing /i/dont/exist/
Chris Austen859be602016-07-07 16:46:31 -050074 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -060075 ${resp}= openbmc put request /i/dont/exist/
Chris Austenb29d2e82016-06-07 12:25:35 -050076 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -060077 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -050078 should be equal as strings ${json['status']} error
79
80post directory listing /
Chris Austen859be602016-07-07 16:46:31 -050081 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -060082 ${resp}= openbmc post request /
Gunnar Mills56b32892016-11-14 13:56:17 -060083 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -060084 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -050085 should be equal as strings ${json['status']} error
86
87post directory listing /org/
Chris Austen859be602016-07-07 16:46:31 -050088 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -060089 ${resp}= openbmc post request /org/
Gunnar Mills56b32892016-11-14 13:56:17 -060090 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -060091 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -050092 should be equal as strings ${json['status']} error
93
94post invalid directory listing /i/dont/exist/
Chris Austen859be602016-07-07 16:46:31 -050095 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -060096 ${resp}= openbmc post request /i/dont/exist/
Chris Austenb29d2e82016-06-07 12:25:35 -050097 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -060098 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -050099 should be equal as strings ${json['status']} error
100
101delete directory listing /
Chris Austen859be602016-07-07 16:46:31 -0500102 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600103 ${resp}= openbmc delete request /
Gunnar Mills56b32892016-11-14 13:56:17 -0600104 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600105 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500106 should be equal as strings ${json['status']} error
107
108delete directory listing /org/
Chris Austen859be602016-07-07 16:46:31 -0500109 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600110 ${resp}= openbmc delete request /
Gunnar Mills56b32892016-11-14 13:56:17 -0600111 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600112 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500113 should be equal as strings ${json['status']} error
114
115delete invalid directory listing /org/nothere/
Chris Austen859be602016-07-07 16:46:31 -0500116 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600117 ${resp}= openbmc delete request /org/nothere/
Chris Austenb29d2e82016-06-07 12:25:35 -0500118 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600119 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500120 should be equal as strings ${json['status']} error
121
122get list names /
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600123 ${resp}= openbmc get request /list
Chris Austenb29d2e82016-06-07 12:25:35 -0500124 should be equal as strings ${resp.status_code} ${HTTP_OK}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600125 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500126 list should contain value ${json['data']} /org/openbmc/inventory
127 should be equal as strings ${json['status']} ok
128
129get list names /org/
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600130 ${resp}= openbmc get request /org/list
Chris Austenb29d2e82016-06-07 12:25:35 -0500131 should be equal as strings ${resp.status_code} ${HTTP_OK}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600132 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500133 list should contain value ${json['data']} /org/openbmc/inventory
134 should be equal as strings ${json['status']} ok
135
136get invalid list names /i/dont/exist/
Chris Austen859be602016-07-07 16:46:31 -0500137 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600138 ${resp}= openbmc get request /i/dont/exist/list
Chris Austenb29d2e82016-06-07 12:25:35 -0500139 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600140 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500141 should be equal as strings ${json['status']} error
142
143put list names /
Chris Austen859be602016-07-07 16:46:31 -0500144 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600145 ${resp}= openbmc put request /list
Gunnar Mills56b32892016-11-14 13:56:17 -0600146 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600147 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500148 should be equal as strings ${json['status']} error
149
150put list names /org/
Chris Austen859be602016-07-07 16:46:31 -0500151 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600152 ${resp}= openbmc put request /org/list
Gunnar Mills56b32892016-11-14 13:56:17 -0600153 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600154 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500155 should be equal as strings ${json['status']} error
156
157put invalid list names /i/dont/exist/
Chris Austen859be602016-07-07 16:46:31 -0500158 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600159 ${resp}= openbmc put request /i/dont/exist/list
Chris Austenb29d2e82016-06-07 12:25:35 -0500160 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600161 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500162 should be equal as strings ${json['status']} error
163
164post list names /
Chris Austen859be602016-07-07 16:46:31 -0500165 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600166 ${resp}= openbmc post request /list
Gunnar Mills56b32892016-11-14 13:56:17 -0600167 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600168 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500169 should be equal as strings ${json['status']} error
170
171post list names /org/
Chris Austen859be602016-07-07 16:46:31 -0500172 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600173 ${resp}= openbmc post request /org/list
Gunnar Mills56b32892016-11-14 13:56:17 -0600174 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600175 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500176 should be equal as strings ${json['status']} error
177
178post invalid list names /i/dont/exist/
Chris Austen859be602016-07-07 16:46:31 -0500179 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600180 ${resp}= openbmc post request /i/dont/exist/list
Chris Austenb29d2e82016-06-07 12:25:35 -0500181 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600182 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500183 should be equal as strings ${json['status']} error
184
185delete list names /
Chris Austen859be602016-07-07 16:46:31 -0500186 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600187 ${resp}= openbmc delete request /list
Gunnar Mills56b32892016-11-14 13:56:17 -0600188 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600189 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500190 should be equal as strings ${json['status']} error
191
192delete list names /org/
Chris Austen859be602016-07-07 16:46:31 -0500193 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600194 ${resp}= openbmc delete request /list
Gunnar Mills56b32892016-11-14 13:56:17 -0600195 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600196 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500197 should be equal as strings ${json['status']} error
198
199delete invalid list names /org/nothere/
Chris Austen859be602016-07-07 16:46:31 -0500200 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600201 ${resp}= openbmc delete request /org/nothere/list
Chris Austenb29d2e82016-06-07 12:25:35 -0500202 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600203 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500204 should be equal as strings ${json['status']} error
205
206get names /
George Keishing9e7796f2016-09-23 10:15:57 -0500207 [Tags] get_names
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600208 ${resp}= openbmc get request /enumerate
Chris Austenb29d2e82016-06-07 12:25:35 -0500209 should be equal as strings ${resp.status_code} ${HTTP_OK}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600210 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500211 list should contain value ${json['data']} /org/openbmc/inventory
212 should be equal as strings ${json['status']} ok
213
214get names /org/
George Keishing9e7796f2016-09-23 10:15:57 -0500215 [Tags] get_names_org
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600216 ${resp}= openbmc get request /org/enumerate
Chris Austenb29d2e82016-06-07 12:25:35 -0500217 should be equal as strings ${resp.status_code} ${HTTP_OK}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600218 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500219 list should contain value ${json['data']} /org/openbmc/inventory
220 should be equal as strings ${json['status']} ok
221
222get invalid names /i/dont/exist/
Chris Austen859be602016-07-07 16:46:31 -0500223 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600224 ${resp}= openbmc get request /i/dont/exist/enumerate
Chris Austenb29d2e82016-06-07 12:25:35 -0500225 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600226 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500227 should be equal as strings ${json['status']} error
228
229put names /
Chris Austen859be602016-07-07 16:46:31 -0500230 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600231 ${resp}= openbmc put request /enumerate
Gunnar Mills56b32892016-11-14 13:56:17 -0600232 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600233 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500234 should be equal as strings ${json['status']} error
235
236put names /org/
Chris Austen859be602016-07-07 16:46:31 -0500237 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600238 ${resp}= openbmc put request /org/enumerate
Gunnar Mills56b32892016-11-14 13:56:17 -0600239 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600240 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500241 should be equal as strings ${json['status']} error
242
243put invalid names /i/dont/exist/
Chris Austen859be602016-07-07 16:46:31 -0500244 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600245 ${resp}= openbmc put request /i/dont/exist/enumerate
Chris Austenb29d2e82016-06-07 12:25:35 -0500246 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600247 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500248 should be equal as strings ${json['status']} error
249
250post names /
Chris Austen859be602016-07-07 16:46:31 -0500251 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600252 ${resp}= openbmc post request /enumerate
Gunnar Mills56b32892016-11-14 13:56:17 -0600253 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600254 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500255 should be equal as strings ${json['status']} error
256
257post names /org/
Chris Austen859be602016-07-07 16:46:31 -0500258 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600259 ${resp}= openbmc post request /org/enumerate
Gunnar Mills56b32892016-11-14 13:56:17 -0600260 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600261 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500262 should be equal as strings ${json['status']} error
263
264post invalid names /i/dont/exist/
Chris Austen859be602016-07-07 16:46:31 -0500265 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600266 ${resp}= openbmc post request /i/dont/exist/enumerate
Chris Austenb29d2e82016-06-07 12:25:35 -0500267 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600268 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500269 should be equal as strings ${json['status']} error
270
271delete names /
Chris Austen859be602016-07-07 16:46:31 -0500272 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600273 ${resp}= openbmc delete request /enumerate
Gunnar Mills56b32892016-11-14 13:56:17 -0600274 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600275 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500276 should be equal as strings ${json['status']} error
277
278delete names /org/
Chris Austen859be602016-07-07 16:46:31 -0500279 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600280 ${resp}= openbmc delete request /enumerate
Gunnar Mills56b32892016-11-14 13:56:17 -0600281 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600282 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500283 should be equal as strings ${json['status']} error
284
285delete invalid names /org/nothere/
Chris Austen859be602016-07-07 16:46:31 -0500286 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600287 ${resp}= openbmc delete request /org/nothere/enumerate
Chris Austenb29d2e82016-06-07 12:25:35 -0500288 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600289 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500290 should be equal as strings ${json['status']} error
291
292get method org/openbmc/records/events/action/acceptTestMessage
Chris Austen859be602016-07-07 16:46:31 -0500293 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600294 ${resp}= openbmc get request org/openbmc/records/events/action/acceptTestMessage
Gunnar Mills56b32892016-11-14 13:56:17 -0600295 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600296 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500297 should be equal as strings ${json['status']} error
298
299get invalid method /i/dont/exist/
Chris Austen859be602016-07-07 16:46:31 -0500300 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600301 ${resp}= openbmc get request /i/dont/exist/action/foo
Chris Austenb29d2e82016-06-07 12:25:35 -0500302 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600303 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500304 should be equal as strings ${json['status']} error
305
306put method org/openbmc/records/events/action/acceptTestMessage
Chris Austen859be602016-07-07 16:46:31 -0500307 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600308 ${resp}= openbmc put request org/openbmc/records/events/action/acceptTestMessage
Gunnar Mills56b32892016-11-14 13:56:17 -0600309 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600310 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500311 should be equal as strings ${json['status']} error
312
313put invalid method /i/dont/exist/
Chris Austen859be602016-07-07 16:46:31 -0500314 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600315 ${resp}= openbmc put request /i/dont/exist/action/foo
Chris Austenb29d2e82016-06-07 12:25:35 -0500316 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600317 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500318 should be equal as strings ${json['status']} error
319
320post method power/getPowerState no args
321 ${fan_uri}= Get Power Control Interface
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600322 ${data}= create dictionary data=@{EMPTY}
323 ${resp}= openbmc post request ${fan_uri}/action/getPowerState data=${data}
Chris Austenb29d2e82016-06-07 12:25:35 -0500324 should be equal as strings ${resp.status_code} ${HTTP_OK}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600325 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500326 should be equal as strings ${json['status']} ok
327
328post method org/openbmc/records/events/action/acceptTestMessage invalid args
Chris Austen859be602016-07-07 16:46:31 -0500329 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600330 ${data}= create dictionary foo=bar
331 ${resp}= openbmc post request org/openbmc/records/events/action/acceptTestMessage data=${data}
Chris Austenb29d2e82016-06-07 12:25:35 -0500332 should be equal as strings ${resp.status_code} ${HTTP_BAD_REQUEST}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600333 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500334 should be equal as strings ${json['status']} error
335
336post method org/openbmc/sensors/host/BootCount with args
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600337 ${uri}= Set Variable /org/openbmc/sensors/host/BootCount
Chris Austenb29d2e82016-06-07 12:25:35 -0500338 ${COUNT}= Set Variable ${3}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600339 @{count_list}= Create List ${COUNT}
340 ${data}= create dictionary data=@{count_list}
341 ${resp}= openbmc post request ${uri}/action/setValue data=${data}
Chris Austenb29d2e82016-06-07 12:25:35 -0500342 should be equal as strings ${resp.status_code} ${HTTP_OK}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600343 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500344 should be equal as strings ${json['status']} ok
345 ${content}= Read Attribute ${uri} value
346 Should Be Equal ${content} ${COUNT}
347
348delete method org/openbmc/records/events/action/acceptTestMessage
Chris Austen859be602016-07-07 16:46:31 -0500349 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600350 ${resp}= openbmc delete request org/openbmc/records/events/action/acceptTestMessage
Gunnar Mills56b32892016-11-14 13:56:17 -0600351 should be equal as strings ${resp.status_code} ${HTTP_METHOD_NOT_ALLOWED}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600352 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500353 should be equal as strings ${json['status']} error
354
355delete invalid method /org/nothere/
Chris Austen859be602016-07-07 16:46:31 -0500356 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600357 ${resp}= openbmc delete request /org/nothere/action/foomethod
Chris Austenb29d2e82016-06-07 12:25:35 -0500358 should be equal as strings ${resp.status_code} ${HTTP_NOT_FOUND}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600359 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500360 should be equal as strings ${json['status']} error
Gunnar Mills56b32892016-11-14 13:56:17 -0600361
362post method org/openbmc/records/events/action/acceptTestMessage no args
Chris Austen859be602016-07-07 16:46:31 -0500363 [Tags] CI
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600364 ${data}= create dictionary data=@{EMPTY}
365 ${resp}= openbmc post request org/openbmc/records/events/action/acceptTestMessage data=${data}
Chris Austenb29d2e82016-06-07 12:25:35 -0500366 should be equal as strings ${resp.status_code} ${HTTP_OK}
Gunnar Mills1cd544d2016-12-06 11:19:22 -0600367 ${json}= to json ${resp.content}
Chris Austenb29d2e82016-06-07 12:25:35 -0500368 should be equal as strings ${json['status']} ok
369
370***keywords***
371Get Power Control Interface
372 ${resp}= OpenBMC Get Request /org/openbmc/control/
373 should be equal as strings ${resp.status_code} ${HTTP_OK} msg=Unable to get any controls - /org/openbmc/control/
374 ${jsondata}= To Json ${resp.content}
375 log ${jsondata}
376 : FOR ${ELEMENT} IN @{jsondata["data"]}
377 \ log ${ELEMENT}
378 \ ${found}= Get Lines Matching Pattern ${ELEMENT} *control/power*
George Keishingd55a4be2016-08-26 03:28:17 -0500379 \ Return From Keyword If '${found}' != '' ${found}