blob: b21eb5fd6dbcbc3fc193a9ed2eea8df950e22b80 [file] [log] [blame]
Sivas SRR6aa101f2019-02-19 22:31:55 -06001*** Settings ***
2Documentation Test Redfish user account.
3
4Resource ../../lib/resource.robot
5Resource ../../lib/bmc_redfish_resource.robot
6Resource ../../lib/openbmc_ffdc.robot
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -05007Resource ../../lib/bmc_redfish_utils.robot
Sivas SRR6aa101f2019-02-19 22:31:55 -06008
manashsarma654cbc12021-09-23 02:28:12 -05009Library SSHLibrary
10
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -050011Test Setup Redfish.Login
Sivas SRR6aa101f2019-02-19 22:31:55 -060012Test Teardown Test Teardown Execution
13
Sandhya Somashekar37122b62019-06-18 06:02:02 -050014*** Variables ***
15
16${account_lockout_duration} ${30}
17${account_lockout_threshold} ${3}
18
Sivas SRR6aa101f2019-02-19 22:31:55 -060019** Test Cases **
20
21Verify AccountService Available
Sivas SRRfa6831c2019-02-22 00:12:00 -060022 [Documentation] Verify Redfish account service is available.
Sivas SRR6aa101f2019-02-19 22:31:55 -060023 [Tags] Verify_AccountService_Available
24
George Keishing97c93942019-03-04 12:45:07 -060025 ${resp} = Redfish_utils.Get Attribute /redfish/v1/AccountService ServiceEnabled
Sivas SRR6aa101f2019-02-19 22:31:55 -060026 Should Be Equal As Strings ${resp} ${True}
27
Rahul Maheshwarid0aa72b2022-08-23 06:44:07 -050028
29Verify Redfish Admin User Persistence After Reboot
30 [Documentation] Verify Redfish admin user persistence after reboot.
31 [Tags] Verify_Redfish_Admin_User_Persistence_After_Reboot
32 [Setup] Run Keywords Redfish.Login AND
33 ... Redfish Create User admin_user TestPwd123 Administrator ${True}
34 [Teardown] Run Keywords Redfish.Delete /redfish/v1/AccountService/Accounts/admin_user
35 ... AND Test Teardown Execution
Sandhya Somashekara83fb472019-08-29 02:26:21 -050036
37 # Reboot BMC.
38 Redfish OBMC Reboot (off) stack_mode=normal
Sandhya Somashekara83fb472019-08-29 02:26:21 -050039
40 # Verify users after reboot.
41 Redfish Verify User admin_user TestPwd123 Administrator ${True}
Rahul Maheshwarid0aa72b2022-08-23 06:44:07 -050042
43
44Verify Redfish Operator User Persistence After Reboot
45 [Documentation] Verify Redfish operator user persistence after reboot.
46 [Tags] Verify_Redfish_Operator_User_Persistence_After_Reboot
47 [Setup] Run Keywords Redfish.Login AND
48 ... Redfish Create User operator_user TestPwd123 Operator ${True}
49 [Teardown] Run Keywords Redfish.Delete /redfish/v1/AccountService/Accounts/operator_user
50 ... AND Test Teardown Execution
51
52 # Reboot BMC.
53 Redfish OBMC Reboot (off) stack_mode=normal
54
55 # Verify users after reboot.
Sandhya Somashekara83fb472019-08-29 02:26:21 -050056 Redfish Verify User operator_user TestPwd123 Operator ${True}
Rahul Maheshwarid0aa72b2022-08-23 06:44:07 -050057
58
59Verify Redfish Readonly User Persistence After Reboot
60 [Documentation] Verify Redfish readonly user persistence after reboot.
61 [Tags] Verify_Redfish_Readonly_User_Persistence_After_Reboot
62 [Setup] Run Keywords Redfish.Login AND
63 ... Redfish Create User readonly_user TestPwd123 ReadOnly ${True}
64 [Teardown] Run Keywords Redfish.Delete /redfish/v1/AccountService/Accounts/readonly_user
65 ... AND Test Teardown Execution
66
67 # Reboot BMC.
68 Redfish OBMC Reboot (off) stack_mode=normal
69
70 # Verify users after reboot.
Anusha Dathatri4062b442020-02-03 04:39:15 -060071 Redfish Verify User readonly_user TestPwd123 ReadOnly ${True}
Sandhya Somashekara83fb472019-08-29 02:26:21 -050072
Sandhya Somashekara83fb472019-08-29 02:26:21 -050073
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -050074Redfish Create and Verify Admin User
75 [Documentation] Create a Redfish user with administrator role and verify.
George Keishingf5176902022-05-12 04:23:59 -050076 [Tags] Redfish_Create_and_Verify_Admin_User
Sandhya Somashekar00f59cc2019-03-05 03:39:47 -060077 [Template] Redfish Create And Verify User
78
Sandhya Somashekare92b1e62019-04-25 05:27:45 -050079 #username password role_id enabled
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -050080 admin_user TestPwd123 Administrator ${True}
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -050081
82
83Redfish Create and Verify Operator User
84 [Documentation] Create a Redfish user with operator role and verify.
85 [Tags] Redfish_Create_and_Verify_Operator_User
86 [Template] Redfish Create And Verify User
87
88 #username password role_id enabled
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -050089 operator_user TestPwd123 Operator ${True}
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -050090
91
92Redfish Create and Verify Readonly User
93 [Documentation] Create a Redfish user with readonly role and verify.
94 [Tags] Redfish_Create_and_Verify_Readonly_User
95 [Template] Redfish Create And Verify User
96
97 #username password role_id enabled
Anusha Dathatri4062b442020-02-03 04:39:15 -060098 readonly_user TestPwd123 ReadOnly ${True}
Sivas SRR6aa101f2019-02-19 22:31:55 -060099
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -0500100
101Verify Redfish Admin User With Wrong Password
102 [Documentation] Verify Redfish admin user with wrong password.
103 [Tags] Verify_Redfish_Admin_User_With_Wrong_Password
Sandhya Somashekar33aa48c2019-03-13 05:54:49 -0500104 [Template] Verify Redfish User with Wrong Password
105
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500106 #username password role_id enabled wrong_password
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500107 admin_user TestPwd123 Administrator ${True} alskjhfwurh
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -0500108
109
110Verify Redfish Operator User with Wrong Password
111 [Documentation] Verify Redfish operator user with wrong password.
112 [Tags] Verify_Redfish_Operator_User_with_Wrong_Password
113 [Template] Verify Redfish User with Wrong Password
114
115 #username password role_id enabled wrong_password
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500116 operator_user TestPwd123 Operator ${True} 12j8a8uakjhdaosiruf024
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -0500117
118
119Verify Redfish Readonly User With Wrong Password
120 [Documentation] Verify Redfish readonly user with wrong password.
121 [Tags] Verify_Redfish_Readonly_User_With_Wrong_Password
122 [Template] Verify Redfish User with Wrong Password
123
124 #username password role_id enabled wrong_password
Anusha Dathatri4062b442020-02-03 04:39:15 -0600125 readonly_user TestPwd123 ReadOnly ${True} 12
Sandhya Somashekar33aa48c2019-03-13 05:54:49 -0500126
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -0500127
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -0500128Verify Login with Deleted Redfish Admin User
129 [Documentation] Verify login with deleted Redfish admin user.
130 [Tags] Verify_Login_with_Deleted_Redfish_Admin_User
Sandhya Somashekaraf402ca2019-03-18 05:59:19 -0500131 [Template] Verify Login with Deleted Redfish User
132
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500133 #username password role_id enabled
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500134 admin_user TestPwd123 Administrator ${True}
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -0500135
136
137Verify Login with Deleted Redfish Operator User
138 [Documentation] Verify login with deleted Redfish operator user.
139 [Tags] Verify_Login_with_Deleted_Redfish_Operator_User
140 [Template] Verify Login with Deleted Redfish User
141
142 #username password role_id enabled
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500143 operator_user TestPwd123 Operator ${True}
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -0500144
145
146Verify Login with Deleted Redfish Readonly User
147 [Documentation] Verify login with deleted Redfish readonly user.
148 [Tags] Verify_Login_with_Deleted_Redfish_Readonly_User
149 [Template] Verify Login with Deleted Redfish User
150
151 #username password role_id enabled
Anusha Dathatri4062b442020-02-03 04:39:15 -0600152 readonly_user TestPwd123 ReadOnly ${True}
Sandhya Somashekaraf402ca2019-03-18 05:59:19 -0500153
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -0500154
155Verify Admin User Creation Without Enabling It
156 [Documentation] Verify admin user creation without enabling it.
157 [Tags] Verify_Admin_User_Creation_Without_Enabling_It
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500158 [Template] Verify Create User Without Enabling
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500159
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500160 #username password role_id enabled
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500161 admin_user TestPwd123 Administrator ${False}
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -0500162
163
164Verify Operator User Creation Without Enabling It
165 [Documentation] Verify operator user creation without enabling it.
166 [Tags] Verify_Operator_User_Creation_Without_Enabling_It
167 [Template] Verify Create User Without Enabling
168
169 #username password role_id enabled
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500170 operator_user TestPwd123 Operator ${False}
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -0500171
172
173Verify Readonly User Creation Without Enabling It
174 [Documentation] Verify readonly user creation without enabling it.
175 [Tags] Verify_Readonly_User_Creation_Without_Enabling_It
176 [Template] Verify Create User Without Enabling
177
178 #username password role_id enabled
Anusha Dathatri4062b442020-02-03 04:39:15 -0600179 readonly_user TestPwd123 ReadOnly ${False}
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500180
Rahul Maheshwaricbc4c0b2022-04-25 05:29:25 -0500181
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500182Verify User Creation With Invalid Role Id
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500183 [Documentation] Verify user creation with invalid role ID.
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500184 [Tags] Verify_User_Creation_With_Invalid_Role_Id
185
186 # Make sure the user account in question does not already exist.
Anusha Dathatri466816f2020-01-30 05:12:36 -0600187 Redfish.Delete /redfish/v1/AccountService/Accounts/test_user
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500188 ... valid_status_codes=[${HTTP_OK}, ${HTTP_NOT_FOUND}]
189
190 # Create specified user.
191 ${payload}= Create Dictionary
192 ... UserName=test_user Password=TestPwd123 RoleId=wrongroleid Enabled=${True}
Anusha Dathatri466816f2020-01-30 05:12:36 -0600193 Redfish.Post /redfish/v1/AccountService/Accounts/ body=&{payload}
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500194 ... valid_status_codes=[${HTTP_BAD_REQUEST}]
195
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500196Verify Error Upon Creating Same Users With Different Privileges
197 [Documentation] Verify error upon creating same users with different privileges.
198 [Tags] Verify_Error_Upon_Creating_Same_Users_With_Different_Privileges
199
200 Redfish Create User test_user TestPwd123 Administrator ${True}
201
202 # Create specified user.
203 ${payload}= Create Dictionary
Nandish-Matti232a6f02023-04-07 05:54:32 -0500204 ... UserName=test_user Password=TestPwd123 RoleId=ReadOnly Enabled=${True}
Anusha Dathatri466816f2020-01-30 05:12:36 -0600205 Redfish.Post /redfish/v1/AccountService/Accounts/ body=&{payload}
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500206 ... valid_status_codes=[${HTTP_BAD_REQUEST}]
207
Anusha Dathatri466816f2020-01-30 05:12:36 -0600208 Redfish.Delete /redfish/v1/AccountService/Accounts/test_user
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500209
Rahul Maheshwari124ebef2022-08-23 12:06:59 -0500210
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500211Verify Modifying User Attributes
212 [Documentation] Verify modifying user attributes.
213 [Tags] Verify_Modifying_User_Attributes
Rahul Maheshwari124ebef2022-08-23 12:06:59 -0500214
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500215 # Create Redfish users.
216 Redfish Create User admin_user TestPwd123 Administrator ${True}
Anusha Dathatri4062b442020-02-03 04:39:15 -0600217 Redfish Create User readonly_user TestPwd123 ReadOnly ${True}
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500218
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500219 # Make sure the new user account does not already exist.
Anusha Dathatri466816f2020-01-30 05:12:36 -0600220 Redfish.Delete /redfish/v1/AccountService/Accounts/newadmin_user
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500221 ... valid_status_codes=[${HTTP_OK}, ${HTTP_NOT_FOUND}]
222
223 # Update admin_user username using Redfish.
224 ${payload}= Create Dictionary UserName=newadmin_user
Anusha Dathatri466816f2020-01-30 05:12:36 -0600225 Redfish.Patch /redfish/v1/AccountService/Accounts/admin_user body=&{payload}
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500226
Anusha Dathatri4062b442020-02-03 04:39:15 -0600227 # Update readonly_user role using Redfish.
Rahul Maheshwari124ebef2022-08-23 12:06:59 -0500228 ${payload}= Create Dictionary RoleId=Administrator
Anusha Dathatri466816f2020-01-30 05:12:36 -0600229 Redfish.Patch /redfish/v1/AccountService/Accounts/readonly_user body=&{payload}
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500230
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500231 # Verify users after updating
232 Redfish Verify User newadmin_user TestPwd123 Administrator ${True}
Rahul Maheshwari124ebef2022-08-23 12:06:59 -0500233 Redfish Verify User readonly_user TestPwd123 Administrator ${True}
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500234
235 # Delete created users.
Anusha Dathatri466816f2020-01-30 05:12:36 -0600236 Redfish.Delete /redfish/v1/AccountService/Accounts/newadmin_user
Anusha Dathatri466816f2020-01-30 05:12:36 -0600237 Redfish.Delete /redfish/v1/AccountService/Accounts/readonly_user
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500238
Rahul Maheshwari124ebef2022-08-23 12:06:59 -0500239
240Verify Modifying Operator User Attributes
241 [Documentation] Verify modifying operator user attributes.
242 [Tags] Verify_Modifying_Operator_User_Attributes
243 [Setup] Run Keywords Redfish.Login AND
244 ... Redfish Create User operator_user TestPwd123 Operator ${True}
245 [Teardown] Run Keywords Redfish.Delete /redfish/v1/AccountService/Accounts/operator_user
246 ... AND Test Teardown Execution
247
248 # Update operator_user password using Redfish.
249 ${payload}= Create Dictionary Password=NewTestPwd123
250 Redfish.Patch /redfish/v1/AccountService/Accounts/operator_user body=&{payload}
251
252 # Verify users after updating
253 Redfish Verify User operator_user NewTestPwd123 Operator ${True}
254
255
Sandhya Somashekar37122b62019-06-18 06:02:02 -0500256Verify User Account Locked
257 [Documentation] Verify user account locked upon trying with invalid password.
258 [Tags] Verify_User_Account_Locked
259
260 Redfish Create User admin_user TestPwd123 Administrator ${True}
261
Joy Onyerikwu1483ce02019-06-26 14:56:36 -0500262 ${payload}= Create Dictionary AccountLockoutThreshold=${account_lockout_threshold}
263 ... AccountLockoutDuration=${account_lockout_duration}
264 Redfish.Patch ${REDFISH_ACCOUNTS_SERVICE_URI} body=${payload}
Sandhya Somashekar37122b62019-06-18 06:02:02 -0500265
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500266 Redfish.Logout
267
Sandhya Somashekar37122b62019-06-18 06:02:02 -0500268 # Make ${account_lockout_threshold} failed login attempts.
269 Repeat Keyword ${account_lockout_threshold} times
270 ... Run Keyword And Expect Error InvalidCredentialsError* Redfish.Login admin_user abc123
271
272 # Verify that legitimate login fails due to lockout.
273 Run Keyword And Expect Error InvalidCredentialsError*
274 ... Redfish.Login admin_user TestPwd123
275
276 # Wait for lockout duration to expire and then verify that login works.
277 Sleep ${account_lockout_duration}s
278 Redfish.Login admin_user TestPwd123
279
280 Redfish.Logout
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500281
Sandhya Somashekar7a237472019-07-15 02:06:39 -0500282 Redfish.Login
283
Anusha Dathatri466816f2020-01-30 05:12:36 -0600284 Redfish.Delete /redfish/v1/AccountService/Accounts/admin_user
Sandhya Somashekar7a237472019-07-15 02:06:39 -0500285
aravinth0510746884b2022-09-29 16:04:07 +0000286
287Verify User Account Unlock
288 [Documentation] Verify manually unlocking the account before lockout time
289 [Tags] Verify_User_Account_Unlock
290 [Teardown] Run Keywords Redfish.Logout AND Redfish.Login AND
291 ... AND Redfish.Delete /redfish/v1/AccountService/Accounts/test_user
292 ... AND SSHLibrary.Close All Connections
293
294 Redfish Create User test_user TestPwd123 Administrator ${True}
295
296 ${payload}= Create Dictionary
297 ... AccountLockoutThreshold=${account_lockout_threshold}
298 ... AccountLockoutDuration=${account_lockout_duration}
299 Redfish.Patch ${REDFISH_ACCOUNTS_SERVICE_URI} body=${payload}
300
301 Redfish.Logout
302
303 # Make ${account_lockout_threshold} failed login attempts.
304 Repeat Keyword ${account_lockout_threshold} times
305 ... Run Keyword And Expect Error InvalidCredentialsError*
306 ... Redfish.Login test_user abc123
307
308 # Ensure SSH Login with locked account gets failed
309 SSHLibrary.Open Connection ${OPENBMC_HOST}
310 Run Keyword And Expect Error Authentication failed*
311 ... SSHLibrary.Login test_user TestPwd123
312
313 # Verify that legitimate login fails due to lockout.
314 Run Keyword And Expect Error InvalidCredentialsError*
315 ... Redfish.Login test_user TestPwd123
316
317 ${payload}= Create Dictionary Locked=${FALSE}
318
319 # Manually unlock the account before lockout threshold expires
320 Redfish.Login
321 Redfish.Patch ${REDFISH_ACCOUNTS_URI}test_user body=${payload}
322 Redfish.Logout
323
324 # Try redfish login with the recently unlocked account
325 Redfish.Login test_user TestPwd123
326
327 # Try SSH login with the unlocked account
328 SSHLibrary.Open Connection ${OPENBMC_HOST}
329 SSHLibrary.Login test_user TestPwd123
330
331
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500332Verify Admin User Privilege
333 [Documentation] Verify admin user privilege.
334 [Tags] Verify_Admin_User_Privilege
335
336 Redfish Create User admin_user TestPwd123 Administrator ${True}
Anusha Dathatri4062b442020-02-03 04:39:15 -0600337 Redfish Create User readonly_user TestPwd123 ReadOnly ${True}
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500338
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500339 Redfish.Logout
340
Rahul Maheshwari3bc08642022-08-23 12:49:48 -0500341 Redfish.Login admin_user TestPwd123
342
343 # Change password of 'readonly' user with admin user.
344 Redfish.Patch /redfish/v1/AccountService/Accounts/readonly_user body={'Password': 'NewTestPwd123'}
345
346 # Verify modified user.
347 Redfish Verify User readonly_user NewTestPwd123 ReadOnly ${True}
348
349 # Note: Delete user would work here because a root login is
350 # performed as part of "Redfish Verify User" keyword's teardown.
351 Redfish.Delete /redfish/v1/AccountService/Accounts/admin_user
352 Redfish.Delete /redfish/v1/AccountService/Accounts/readonly_user
353
354
355Verify Operator User Role Change Using Admin Privilege User
356 [Documentation] Verify operator user role change using admin privilege user
357 [Tags] Verify_Operator_User_Role_Change_Using_Admin_Privilege_User
358
359 Redfish Create User admin_user TestPwd123 Administrator ${True}
360 Redfish Create User operator_user TestPwd123 Operator ${True}
361
362 Redfish.Logout
363
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500364 # Change role ID of operator user with admin user.
365 # Login with admin user.
366 Redfish.Login admin_user TestPwd123
367
368 # Modify Role ID of Operator user.
Anusha Dathatri466816f2020-01-30 05:12:36 -0600369 Redfish.Patch /redfish/v1/AccountService/Accounts/operator_user body={'RoleId': 'Administrator'}
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500370
371 # Verify modified user.
372 Redfish Verify User operator_user TestPwd123 Administrator ${True}
373
Anusha Dathatri466816f2020-01-30 05:12:36 -0600374 Redfish.Delete /redfish/v1/AccountService/Accounts/admin_user
375 Redfish.Delete /redfish/v1/AccountService/Accounts/operator_user
Rahul Maheshwari3bc08642022-08-23 12:49:48 -0500376
Sandhya Somashekar7a237472019-07-15 02:06:39 -0500377
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500378Verify Operator User Privilege
379 [Documentation] Verify operator user privilege.
George Keishing5236ec52022-01-31 12:07:58 -0600380 [Tags] Verify_Operator_User_Privilege
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500381
382 Redfish Create User admin_user TestPwd123 Administrator ${True}
383 Redfish Create User operator_user TestPwd123 Operator ${True}
384
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500385 Redfish.Logout
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500386 # Login with operator user.
387 Redfish.Login operator_user TestPwd123
388
George Keishing093c1bd2020-02-10 09:47:34 -0600389 # Verify BMC reset.
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500390 Run Keyword And Expect Error ValueError* Redfish BMC Reset Operation
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500391
392 # Attempt to change password of admin user with operator user.
Anusha Dathatri466816f2020-01-30 05:12:36 -0600393 Redfish.Patch /redfish/v1/AccountService/Accounts/admin_user body={'Password': 'NewTestPwd123'}
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500394 ... valid_status_codes=[${HTTP_FORBIDDEN}]
395
396 Redfish.Logout
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500397
Sandhya Somashekar7a237472019-07-15 02:06:39 -0500398 Redfish.Login
399
Anusha Dathatri466816f2020-01-30 05:12:36 -0600400 Redfish.Delete /redfish/v1/AccountService/Accounts/admin_user
401 Redfish.Delete /redfish/v1/AccountService/Accounts/operator_user
Sandhya Somashekar7a237472019-07-15 02:06:39 -0500402
403
Anusha Dathatri4062b442020-02-03 04:39:15 -0600404Verify ReadOnly User Privilege
405 [Documentation] Verify ReadOnly user privilege.
406 [Tags] Verify_ReadOnly_User_Privilege
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500407
Anusha Dathatri4062b442020-02-03 04:39:15 -0600408 Redfish Create User readonly_user TestPwd123 ReadOnly ${True}
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500409 Redfish.Logout
410
411 # Login with read_only user.
412 Redfish.Login readonly_user TestPwd123
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500413
414 # Read system level data.
415 ${system_model}= Redfish_Utils.Get Attribute
416 ... ${SYSTEM_BASE_URI} Model
417
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500418 Redfish.Logout
Sandhya Somashekar7a237472019-07-15 02:06:39 -0500419 Redfish.Login
Anusha Dathatri4062b442020-02-03 04:39:15 -0600420 Redfish.Delete ${REDFISH_ACCOUNTS_URI}readonly_user
Sandhya Somashekar7a237472019-07-15 02:06:39 -0500421
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500422
Anusha Dathatri466816f2020-01-30 05:12:36 -0600423Verify Minimum Password Length For Redfish User
424 [Documentation] Verify minimum password length for new and existing user.
425 [Tags] Verify_Minimum_Password_Length_For_Redfish_User
426
427 ${user_name}= Set Variable testUser
428
429 # Make sure the user account in question does not already exist.
430 Redfish.Delete /redfish/v1/AccountService/Accounts/${user_name}
431 ... valid_status_codes=[${HTTP_OK}, ${HTTP_NOT_FOUND}]
432
433 # Try to create a user with invalid length password.
434 ${payload}= Create Dictionary
435 ... UserName=${user_name} Password=UserPwd RoleId=Administrator Enabled=${True}
436 Redfish.Post /redfish/v1/AccountService/Accounts/ body=&{payload}
437 ... valid_status_codes=[${HTTP_BAD_REQUEST}]
438
439 # Create specified user with valid length password.
440 Set To Dictionary ${payload} Password UserPwd1
441 Redfish.Post /redfish/v1/AccountService/Accounts/ body=&{payload}
442 ... valid_status_codes=[${HTTP_CREATED}]
443
444 # Try to change to an invalid password.
445 Redfish.Patch /redfish/v1/AccountService/Accounts/${user_name} body={'Password': 'UserPwd'}
446 ... valid_status_codes=[${HTTP_BAD_REQUEST}]
447
448 # Change to a valid password.
449 Redfish.Patch /redfish/v1/AccountService/Accounts/${user_name} body={'Password': 'UserPwd1'}
450
451 # Verify login.
452 Redfish.Logout
453 Redfish.Login ${user_name} UserPwd1
454 Redfish.Logout
455 Redfish.Login
456 Redfish.Delete /redfish/v1/AccountService/Accounts/${user_name}
457
458
Tony Lee94335f42021-02-04 15:16:39 +0800459Verify Standard User Roles Defined By Redfish
460 [Documentation] Verify standard user roles defined by Redfish.
461 [Tags] Verify_Standard_User_Roles_Defined_By_Redfish
462
463 ${member_list}= Redfish_Utils.Get Member List
464 ... /redfish/v1/AccountService/Roles
465
466 @{roles}= Create List
467 ... /redfish/v1/AccountService/Roles/Administrator
468 ... /redfish/v1/AccountService/Roles/Operator
469 ... /redfish/v1/AccountService/Roles/ReadOnly
470
471 List Should Contain Sub List ${member_list} ${roles}
472
473 # The standard roles are:
474
475 # | Role name | Assigned privileges |
476 # | Administrator | Login, ConfigureManager, ConfigureUsers, ConfigureComponents, ConfigureSelf |
477 # | Operator | Login, ConfigureComponents, ConfigureSelf |
478 # | ReadOnly | Login, ConfigureSelf |
479
480 @{admin}= Create List Login ConfigureManager ConfigureUsers ConfigureComponents ConfigureSelf
481 @{operator}= Create List Login ConfigureComponents ConfigureSelf
482 @{readOnly}= Create List Login ConfigureSelf
483
484 ${roles_dict}= create dictionary admin_privileges=${admin} operator_privileges=${operator}
485 ... readOnly_privileges=${readOnly}
486
487 ${resp}= redfish.Get /redfish/v1/AccountService/Roles/Administrator
488 List Should Contain Sub List ${resp.dict['AssignedPrivileges']} ${roles_dict['admin_privileges']}
489
490 ${resp}= redfish.Get /redfish/v1/AccountService/Roles/Operator
491 List Should Contain Sub List ${resp.dict['AssignedPrivileges']} ${roles_dict['operator_privileges']}
492
493 ${resp}= redfish.Get /redfish/v1/AccountService/Roles/ReadOnly
494 List Should Contain Sub List ${resp.dict['AssignedPrivileges']} ${roles_dict['readOnly_privileges']}
495
496
manashsarma4910aa22021-07-26 09:12:36 -0500497Verify Error While Deleting Root User
498 [Documentation] Verify error while deleting root user.
499 [Tags] Verify_Error_While_Deleting_Root_User
500
501 Redfish.Delete /redfish/v1/AccountService/Accounts/root valid_status_codes=[${HTTP_FORBIDDEN}]
502
503
manashsarma654cbc12021-09-23 02:28:12 -0500504Verify SSH Login Access With Admin User
505 [Documentation] Verify that admin user does not have SSH login access.
506 [Tags] Verify_SSH_Login_Access_With_Admin_User
507
508 # Create an admin User.
509 Redfish Create User new_admin TestPwd1 Administrator ${True}
510
511 # Attempt SSH login with admin user.
512 SSHLibrary.Open Connection ${OPENBMC_HOST}
513 ${status}= Run Keyword And Return Status SSHLibrary.Login new_admin TestPwd1
514 Should Be Equal ${status} ${False}
515
George Keishinge8015b32022-09-19 09:38:47 -0500516 Redfish.Login
517 Redfish.Delete /redfish/v1/AccountService/Accounts/new_admin
518
manashsarma654cbc12021-09-23 02:28:12 -0500519
aravinth0510746884b2022-09-29 16:04:07 +0000520Verify Configure BasicAuth Enable And Disable
521 [Documentation] Verify configure basicauth enable and disable
522 [Tags] Verify_Configure_BasicAuth_Enable_And_Disable
523 [Template] Template For Configure Auth Methods
524
525 # auth_method
526 BasicAuth
527 XToken
528
Sivas SRR6aa101f2019-02-19 22:31:55 -0600529*** Keywords ***
530
Sivas SRR6aa101f2019-02-19 22:31:55 -0600531Test Teardown Execution
532 [Documentation] Do the post test teardown.
533
Anusha Dathatridb769702020-02-12 01:02:30 -0600534 Run Keyword And Ignore Error Redfish.Logout
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500535 FFDC On Test Case Fail
536
Sandhya Somashekar00f59cc2019-03-05 03:39:47 -0600537
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500538Redfish Create User
539 [Documentation] Redfish create user.
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500540 [Arguments] ${username} ${password} ${role_id} ${enabled} ${login_check}=${True}
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500541
542 # Description of argument(s):
543 # username The username to be created.
544 # password The password to be assigned.
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500545 # role_id The role ID of the user to be created
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500546 # (e.g. "Administrator", "Operator", etc.).
547 # enabled Indicates whether the username being created
548 # should be enabled (${True}, ${False}).
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500549 # login_check Checks user login for created user.
550 # (e.g. ${True}, ${False}).
Sandhya Somashekar8c5b2492019-05-16 05:19:03 -0500551
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500552 # Make sure the user account in question does not already exist.
Anusha Dathatri466816f2020-01-30 05:12:36 -0600553 Redfish.Delete /redfish/v1/AccountService/Accounts/${userName}
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500554 ... valid_status_codes=[${HTTP_OK}, ${HTTP_NOT_FOUND}]
555
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500556 # Create specified user.
557 ${payload}= Create Dictionary
558 ... UserName=${username} Password=${password} RoleId=${role_id} Enabled=${enabled}
Anusha Dathatri466816f2020-01-30 05:12:36 -0600559 Redfish.Post /redfish/v1/AccountService/Accounts/ body=&{payload}
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500560 ... valid_status_codes=[${HTTP_CREATED}]
561
Rahul Maheshwari9928b1d2021-07-19 04:59:55 -0500562 # Resetting faillock count as a workaround for issue
Anusha Dathatrif7268b52020-02-19 01:03:49 -0600563 # openbmc/phosphor-user-manager#4
nagarjunb2261267e92022-03-30 21:04:16 +0530564 ${cmd}= Catenate test -f /usr/sbin/faillock && /usr/sbin/faillock --user USER --reset
565 ... || /usr/sbin/pam_tally2 -u ${username} --reset
Anusha Dathatrif7268b52020-02-19 01:03:49 -0600566 Bmc Execute Command ${cmd}
567
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500568 # Verify login with created user.
569 ${status}= Run Keyword If '${login_check}' == '${True}'
570 ... Verify Redfish User Login ${username} ${password}
571 Run Keyword If '${login_check}' == '${True}' Should Be Equal ${status} ${enabled}
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500572
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500573 # Validate Role ID of created user.
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500574 ${role_config}= Redfish_Utils.Get Attribute
Anusha Dathatri466816f2020-01-30 05:12:36 -0600575 ... /redfish/v1/AccountService/Accounts/${username} RoleId
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500576 Should Be Equal ${role_id} ${role_config}
577
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500578
579Redfish Verify User
580 [Documentation] Redfish user verification.
581 [Arguments] ${username} ${password} ${role_id} ${enabled}
582
583 # Description of argument(s):
584 # username The username to be created.
585 # password The password to be assigned.
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500586 # role_id The role ID of the user to be created
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500587 # (e.g. "Administrator", "Operator", etc.).
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500588 # enabled Indicates whether the username being created
589 # should be enabled (${True}, ${False}).
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500590
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500591 ${status}= Verify Redfish User Login ${username} ${password}
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500592 # Doing a check of the returned status.
593 Should Be Equal ${status} ${enabled}
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500594
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500595 # Validate Role Id of user.
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500596 ${role_config}= Redfish_Utils.Get Attribute
Anusha Dathatri466816f2020-01-30 05:12:36 -0600597 ... /redfish/v1/AccountService/Accounts/${username} RoleId
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500598 Should Be Equal ${role_id} ${role_config}
599
600
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500601Verify Redfish User Login
602 [Documentation] Verify Redfish login with given user id.
603 [Teardown] Run Keywords Run Keyword And Ignore Error Redfish.Logout AND Redfish.Login
604 [Arguments] ${username} ${password}
605
606 # Description of argument(s):
607 # username Login username.
608 # password Login password.
609
610 # Logout from current Redfish session.
George Keishing1cf2a422021-02-02 22:59:29 -0600611 # We don't really care if the current session is flushed out since we are going to login
612 # with new credential in next.
613 Run Keyword And Ignore Error Redfish.Logout
614
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500615 ${status}= Run Keyword And Return Status Redfish.Login ${username} ${password}
616 [Return] ${status}
617
618
Sandhya Somashekar00f59cc2019-03-05 03:39:47 -0600619Redfish Create And Verify User
620 [Documentation] Redfish create and verify user.
621 [Arguments] ${username} ${password} ${role_id} ${enabled}
622
623 # Description of argument(s):
Sandhya Somashekar33aa48c2019-03-13 05:54:49 -0500624 # username The username to be created.
625 # password The password to be assigned.
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500626 # role_id The role ID of the user to be created
Sandhya Somashekaraf402ca2019-03-18 05:59:19 -0500627 # (e.g. "Administrator", "Operator", etc.).
628 # enabled Indicates whether the username being created
629 # should be enabled (${True}, ${False}).
Sandhya Somashekar00f59cc2019-03-05 03:39:47 -0600630
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500631 # Example:
632 #{
633 #"@odata.context": "/redfish/v1/$metadata#ManagerAccount.ManagerAccount",
634 #"@odata.id": "/redfish/v1/AccountService/Accounts/test1",
635 #"@odata.type": "#ManagerAccount.v1_0_3.ManagerAccount",
636 #"Description": "User Account",
637 #"Enabled": true,
638 #"Id": "test1",
639 #"Links": {
640 # "Role": {
641 # "@odata.id": "/redfish/v1/AccountService/Roles/Administrator"
642 # }
643 #},
644
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500645 Redfish Create User ${username} ${password} ${role_id} ${enabled}
Sandhya Somashekar00f59cc2019-03-05 03:39:47 -0600646
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500647 Redfish Verify User ${username} ${password} ${role_id} ${enabled}
Sandhya Somashekar00f59cc2019-03-05 03:39:47 -0600648
649 # Delete Specified User
Anusha Dathatri466816f2020-01-30 05:12:36 -0600650 Redfish.Delete /redfish/v1/AccountService/Accounts/${username}
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500651
Sandhya Somashekar33aa48c2019-03-13 05:54:49 -0500652Verify Redfish User with Wrong Password
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500653 [Documentation] Verify Redfish User with Wrong Password.
Sandhya Somashekar33aa48c2019-03-13 05:54:49 -0500654 [Arguments] ${username} ${password} ${role_id} ${enabled} ${wrong_password}
655
656 # Description of argument(s):
657 # username The username to be created.
658 # password The password to be assigned.
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500659 # role_id The role ID of the user to be created
Sandhya Somashekaraf402ca2019-03-18 05:59:19 -0500660 # (e.g. "Administrator", "Operator", etc.).
661 # enabled Indicates whether the username being created
662 # should be enabled (${True}, ${False}).
Sandhya Somashekar33aa48c2019-03-13 05:54:49 -0500663 # wrong_password Any invalid password.
664
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500665 Redfish Create User ${username} ${password} ${role_id} ${enabled}
Sandhya Somashekar33aa48c2019-03-13 05:54:49 -0500666
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500667 Redfish.Logout
668
Sandhya Somashekar33aa48c2019-03-13 05:54:49 -0500669 # Attempt to login with created user with invalid password.
670 Run Keyword And Expect Error InvalidCredentialsError*
671 ... Redfish.Login ${username} ${wrong_password}
672
673 Redfish.Login
674
675 # Delete newly created user.
Anusha Dathatri466816f2020-01-30 05:12:36 -0600676 Redfish.Delete /redfish/v1/AccountService/Accounts/${username}
Sandhya Somashekar33aa48c2019-03-13 05:54:49 -0500677
678
Sandhya Somashekaraf402ca2019-03-18 05:59:19 -0500679Verify Login with Deleted Redfish User
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500680 [Documentation] Verify Login with Deleted Redfish User.
Sandhya Somashekaraf402ca2019-03-18 05:59:19 -0500681 [Arguments] ${username} ${password} ${role_id} ${enabled}
682
683 # Description of argument(s):
684 # username The username to be created.
685 # password The password to be assigned.
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500686 # role_id The role ID of the user to be created
Sandhya Somashekaraf402ca2019-03-18 05:59:19 -0500687 # (e.g. "Administrator", "Operator", etc.).
688 # enabled Indicates whether the username being created
689 # should be enabled (${True}, ${False}).
690
Sandhya Somashekaraa280aa2019-04-01 04:15:06 -0500691 Redfish Create User ${username} ${password} ${role_id} ${enabled}
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500692
693 # Delete newly created user.
Anusha Dathatri466816f2020-01-30 05:12:36 -0600694 Redfish.Delete /redfish/v1/AccountService/Accounts/${userName}
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500695
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500696 Redfish.Logout
697
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500698 # Attempt to login with deleted user account.
699 Run Keyword And Expect Error InvalidCredentialsError*
700 ... Redfish.Login ${username} ${password}
701
702 Redfish.Login
703
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500704
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500705Verify Create User Without Enabling
706 [Documentation] Verify Create User Without Enabling.
707 [Arguments] ${username} ${password} ${role_id} ${enabled}
708
709 # Description of argument(s):
710 # username The username to be created.
711 # password The password to be assigned.
Sandhya Somashekard7d46c02019-06-26 05:10:25 -0500712 # role_id The role ID of the user to be created
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500713 # (e.g. "Administrator", "Operator", etc.).
714 # enabled Indicates whether the username being created
715 # should be enabled (${True}, ${False}).
716
Anusha Dathatrie0dddcf2020-06-18 05:23:16 -0500717 Redfish Create User ${username} ${password} ${role_id} ${enabled} ${False}
Sandhya Somashekare92b1e62019-04-25 05:27:45 -0500718
719 Redfish.Logout
720
721 # Login with created user.
722 Run Keyword And Expect Error InvalidCredentialsError*
723 ... Redfish.Login ${username} ${password}
724
725 Redfish.Login
Sandhya Somashekaraf402ca2019-03-18 05:59:19 -0500726
727 # Delete newly created user.
Anusha Dathatri466816f2020-01-30 05:12:36 -0600728 Redfish.Delete /redfish/v1/AccountService/Accounts/${username}
George Keishing07fb41f2020-06-16 08:09:19 -0500729
aravinth0510746884b2022-09-29 16:04:07 +0000730Template For Configure Auth Methods
731 [Documentation] Template to configure auth methods.
732 [Arguments] ${auth_method}
733 [Teardown] Configure AuthMethods ${auth_method}=${initial_value}
734
735 # Description of Argument(s):
736 # authmethods The authmethod setting which needs to be
737 # set in account service URI.
738 # valid values BasicAuth, XToken.
739
740 Get AuthMethods Default Values ${auth_method}
741
742 # Patch basicauth to TRUE
743 Configure AuthMethods ${auth_method}=${TRUE}
744
745 Run Keyword IF "${auth_method}" == "XToken"
746 ... Check XToken Works Fine ${HTTP_OK}
747 ... ELSE
748 ... Check BasicAuth Works Fine ${HTTP_OK}
749
750 # Patch basicauth to FALSE
751 Configure AuthMethods ${auth_method}=${FALSE}
752
753 Run Keyword IF "${auth_method}" == "BasicAuth"
754 ... Check BasicAuth Works Fine ${HTTP_UNAUTHORIZED}
755 ... ELSE
756 ... Check XToken Works Fine ${HTTP_UNAUTHORIZED}
757
758Configure AuthMethods
759 [Documentation] Enable/disable authmethod types.
760 [Arguments] &{authmethods}
761
762 # Description of argument(s):
763 # authmethods The authmethod setting which needs to be
764 # set in account service URI.
765 # Usage Example Configure AuthMethods XToken=${TRUE} BasicAuth=${TRUE}
766 # This will set the value of "XToken" and "BasicAuth"
767 # property in accountservice uri to TRUE.
768
769 ${openbmc}= Create Dictionary AuthMethods=${authmethods}
770 ${oem}= Create Dictionary OpenBMC=${openbmc}
771 ${payload}= Create Dictionary Oem=${oem}
772
773 # Setting authmethod properties using Redfish session based auth
774 ${status}= Run Keyword And Return Status
775 ... Redfish.Patch ${REDFISH_BASE_URI}AccountService
776 ... body=${payload} valid_status_codes=[${HTTP_OK},${HTTP_NO_CONTENT}]
777
778 # Setting authmethod properties using basic auth incase the former fails
779 IF ${status}==${FALSE}
780 # Payload dictionary pre-process to match json formatting
781 ${payload}= Convert To String ${payload}
782 ${payload}= Replace String ${payload} ' "
783 ${payload}= Replace String ${payload} False false
784 ${payload}= Replace String ${payload} True true
785
786 # Curl Command Framing for PATCH authmethod
787 ${cmd}= Catenate curl -k -i -u ${OPENBMC_USERNAME}:${OPENBMC_PASSWORD}
788 ... -X PATCH '${AUTH_URI}${REDFISH_ACCOUNTS_SERVICE_URI}'
789 ... -H 'content-type:application/json' -H 'If-Match:*'
790 ... -d '${payload}'
791 ${rc} ${out}= Run And Return Rc And Output ${cmd}
792
793 # Check the response of curl command is 200 or 204
794 ${check_no_content}=
795 ... Run Keyword and Return Status Should Contain ${out} 204
796 ${check_ok}=
797 ... Run Keyword and Return Status Should Contain ${out} 200
798 Pass Execution If ${check_no_content}==${TRUE}
799 ... OR ${check_ok}==${TRUE}
800 END
801
802
803Get AuthMethods Default Values
804 [Documentation] Get enabled/disabled status of all authmethods
805 ... from Redfish account service URI
806 [Arguments] ${authmethod}
807
808 # Description of argument(s):
809 # authmethod The authmethod property whose value needs to be
810 # retrieved from account service URI.
811 # Usage Example Get AuthMethods Default Values BasicAuth
812 # returns >> ${TRUE}
813 # Example:
814 # {
815 # "@odata.id": "/redfish/v1/AccountService",
816 # (...)
817 # "Oem": {
818 # "OpenBMC": {
819 # "AuthMethods": {
820 # "BasicAuth": true,
821 # "Cookie": true,
822 # "SessionToken": true,
823 # "TLS": true,
824 # "XToken": true
825 # }
826 # }
827 # }
828 # }
829
830 ${resp}= Redfish.Get Attribute ${REDFISH_ACCOUNTS_SERVICE_URI} Oem
831 ${authmethods}= Set Variable ${resp['OpenBMC']['AuthMethods']}
832 ${initial_value}= Get From Dictionary ${authmethods} ${authmethod}
833 Set Test Variable ${initial_value}
834
835Check XToken Works Fine
836 [Documentation] Verify Xtoken works fine.
837 [Arguments] ${status_code}
838
839 # Description of Argument(s):
840 # status_code : 200, 401.
841
842 # Verify xtoken auth works for xtoken
843 Redfish.Get ${REDFISH_ACCOUNTS_SERVICE_URI}
844 ... valid_status_codes=[${status_code}]
845
846Check BasicAuth Works Fine
847 [Documentation] Verify Basic Auth works fine.
848 [Arguments] ${status_code}
849
850 # Description of Argument(s):
851 # status_code : 200, 401.
852
853 # Verify basic auth works based on basic auth.
854 ${cmd}= Catenate curl -k -i -u ${OPENBMC_USERNAME}:${OPENBMC_PASSWORD}
855 ... ${AUTH_URI}/redfish/v1/AccountService
856 ${rc} ${out}= Run And Return Rc And Output ${cmd}
857
858 # Check the response of curl command is 200/401
859 Should Contain ${out} ${status_code}