1a87b1b1fSAnves Kumar rayankula*** Settings ***
2a87b1b1fSAnves Kumar rayankulaDocumentation     Test root user expire password.
3a87b1b1fSAnves Kumar rayankula
4a87b1b1fSAnves Kumar rayankulaResource          ../lib/resource.robot
5a9d9341cSshrsuman123Resource          ../gui/lib/gui_resource.robot
6a87b1b1fSAnves Kumar rayankulaResource          ../lib/ipmi_client.robot
7a9d9341cSshrsuman123Resource          ../lib/bmc_redfish_utils.robot
8a87b1b1fSAnves Kumar rayankulaLibrary           ../lib/bmc_ssh_utils.py
9a87b1b1fSAnves Kumar rayankulaLibrary           SSHLibrary
10a87b1b1fSAnves Kumar rayankula
114d4ef99fSGeorge KeishingTest Setup       Set Account Lockout Threshold
12e6c745acSAnves Kumar rayankula
13e18cdb56SMegha G NForce Tags       BMC_Expire_Password
14e18cdb56SMegha G N
1568f985b3SAnves Kumar rayankula*** Variables ***
169f42121dSAnvesh Kumar
1768f985b3SAnves Kumar rayankula# If user re-tries more than 5 time incorrectly, the user gets locked for 5 minutes.
1868f985b3SAnves Kumar rayankula${default_lockout_duration}   ${300}
19e18cdb56SMegha G N${admin_user}                 admin_user
20e18cdb56SMegha G N${default_adminuser_passwd}   AdminUser1
21e18cdb56SMegha G N${admin_password}             AdminUser2
2268f985b3SAnves Kumar rayankula
23a87b1b1fSAnves Kumar rayankula
24a87b1b1fSAnves Kumar rayankula*** Test Cases ***
25a87b1b1fSAnves Kumar rayankula
26a87b1b1fSAnves Kumar rayankulaExpire Root Password And Check IPMI Access Fails
27a87b1b1fSAnves Kumar rayankula    [Documentation]   Expire root user password and expect an error while access via IPMI.
28a87b1b1fSAnves Kumar rayankula    [Tags]  Expire_Root_Password_And_Check_IPMI_Access_Fails
2968f985b3SAnves Kumar rayankula    [Teardown]  Test Teardown Execution
30a87b1b1fSAnves Kumar rayankula
31e18cdb56SMegha G N    Expire Password  ${OPENBMC_USERNAME}
32a87b1b1fSAnves Kumar rayankula
33a87b1b1fSAnves Kumar rayankula    ${status}=  Run Keyword And Return Status   Run External IPMI Standard Command  lan print -v
34a87b1b1fSAnves Kumar rayankula    Should Be Equal  ${status}  ${False}
35a87b1b1fSAnves Kumar rayankula
365df05f7dSAnves Kumar rayankula
375df05f7dSAnves Kumar rayankulaExpire Root Password And Check SSH Access Fails
385df05f7dSAnves Kumar rayankula    [Documentation]   Expire root user password and expect an error while access via SSH.
395df05f7dSAnves Kumar rayankula    [Tags]  Expire_Root_Password_And_Check_SSH_Access_Fails
4068f985b3SAnves Kumar rayankula    [Teardown]  Test Teardown Execution
415df05f7dSAnves Kumar rayankula
42e18cdb56SMegha G N    Expire Password  ${OPENBMC_USERNAME}
435df05f7dSAnves Kumar rayankula
445df05f7dSAnves Kumar rayankula    ${status}=  Run Keyword And Return Status
455df05f7dSAnves Kumar rayankula    ...  Open Connection And Log In  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD}
465df05f7dSAnves Kumar rayankula    Should Be Equal  ${status}  ${False}
475df05f7dSAnves Kumar rayankula
485df05f7dSAnves Kumar rayankula
4967921144SAnves Kumar rayankulaExpire And Change Root User Password And Access Via SSH
5067921144SAnves Kumar rayankula    [Documentation]   Expire and change root user password and access via SSH.
51b98036a9SGeorge Keishing    [Tags]  Expire_And_Change_Root_User_Password_And_Access_Via_SSH
5267921144SAnves Kumar rayankula    [Teardown]  Run Keywords  Wait Until Keyword Succeeds  1 min  10 sec
5367921144SAnves Kumar rayankula    ...  Restore Default Password For Root User  AND  FFDC On Test Case Fail
5467921144SAnves Kumar rayankula
55e18cdb56SMegha G N    Expire Password  ${OPENBMC_USERNAME}
5667921144SAnves Kumar rayankula
579f42121dSAnvesh Kumar    Redfish.Login
5867921144SAnves Kumar rayankula    # Change to a valid password.
5967921144SAnves Kumar rayankula    ${resp}=  Redfish.Patch  /redfish/v1/AccountService/Accounts/${OPENBMC_USERNAME}
6067921144SAnves Kumar rayankula    ...  body={'Password': '0penBmc123'}  valid_status_codes=[${HTTP_OK}]
6167921144SAnves Kumar rayankula
6267921144SAnves Kumar rayankula    # Verify login with the new password through SSH.
6367921144SAnves Kumar rayankula    Open Connection And Log In  ${OPENBMC_USERNAME}  0penBmc123
6467921144SAnves Kumar rayankula
6567921144SAnves Kumar rayankula
6667921144SAnves Kumar rayankulaExpire Root Password And Update Bad Password Length Via Redfish
6767921144SAnves Kumar rayankula   [Documentation]  Expire root password and update bad password via Redfish and expect an error.
6867921144SAnves Kumar rayankula   [Tags]  Expire_Root_Password_And_Update_Bad_Password_Length_Via_Redfish
6967921144SAnves Kumar rayankula   [Teardown]  Run Keywords  Wait Until Keyword Succeeds  1 min  10 sec
7067921144SAnves Kumar rayankula   ...  Restore Default Password For Root User  AND  FFDC On Test Case Fail
7167921144SAnves Kumar rayankula
72e18cdb56SMegha G N   Expire Password  ${OPENBMC_USERNAME}
7367921144SAnves Kumar rayankula
749f42121dSAnvesh Kumar   Redfish.Login
7567921144SAnves Kumar rayankula   ${status}=  Run Keyword And Return Status
7667921144SAnves Kumar rayankula   ...  Redfish.Patch  /redfish/v1/AccountService/Accounts/${OPENBMC_USERNAME}
7767921144SAnves Kumar rayankula   ...  body={'Password': '0penBmc0penBmc0penBmc'}
7867921144SAnves Kumar rayankula   Should Be Equal  ${status}  ${False}
79a87b1b1fSAnves Kumar rayankula
809f42121dSAnvesh Kumar
819f42121dSAnvesh KumarExpire And Change Root User Password Via Redfish And Verify
829f42121dSAnvesh Kumar   [Documentation]   Expire and change root user password via Redfish and verify.
839f42121dSAnvesh Kumar   [Tags]  Expire_And_Change_Root_User_Password_Via_Redfish_And_Verify
849f42121dSAnvesh Kumar   [Teardown]  Run Keywords  FFDC On Test Case Fail  AND
859f42121dSAnvesh Kumar   ...  Wait Until Keyword Succeeds  1 min  10 sec
869f42121dSAnvesh Kumar   ...  Restore Default Password For Root User
879f42121dSAnvesh Kumar
88e18cdb56SMegha G N   Expire Password  ${OPENBMC_USERNAME}
899f42121dSAnvesh Kumar
90a9d9341cSshrsuman123   Verify User Password Expired Using Redfish  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD}
919f42121dSAnvesh Kumar   # Change to a valid password.
929f42121dSAnvesh Kumar   Redfish.Patch  /redfish/v1/AccountService/Accounts/${OPENBMC_USERNAME}
939f42121dSAnvesh Kumar   ...  body={'Password': '0penBmc123'}
949f42121dSAnvesh Kumar   Redfish.Logout
959f42121dSAnvesh Kumar
969f42121dSAnvesh Kumar   # Verify login with the new password.
979f42121dSAnvesh Kumar   Redfish.Login  ${OPENBMC_USERNAME}  0penBmc123
989f42121dSAnvesh Kumar
999f42121dSAnvesh Kumar
100322e3aa9SAnves Kumar rayankulaVerify Error While Creating User With Expired Password
101322e3aa9SAnves Kumar rayankula    [Documentation]  Expire root password and expect an error while creating new user.
102322e3aa9SAnves Kumar rayankula    [Tags]  Verify_Error_While_Creating_User_With_Expired_Password
103322e3aa9SAnves Kumar rayankula    [Teardown]  Run Keywords  Wait Until Keyword Succeeds  1 min  10 sec
104322e3aa9SAnves Kumar rayankula    ...  Restore Default Password For Root User  AND  FFDC On Test Case Fail
105322e3aa9SAnves Kumar rayankula
106e18cdb56SMegha G N    Expire Password  ${OPENBMC_USERNAME}
107322e3aa9SAnves Kumar rayankula
108a9d9341cSshrsuman123    Verify User Password Expired Using Redfish  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD}
109322e3aa9SAnves Kumar rayankula    Redfish.Login
110322e3aa9SAnves Kumar rayankula    ${payload}=  Create Dictionary
111322e3aa9SAnves Kumar rayankula    ...  UserName=admin_user  Password=TestPwd123  RoleId=Administrator  Enabled=${True}
112322e3aa9SAnves Kumar rayankula    Redfish.Post  /redfish/v1/AccountService/Accounts/  body=&{payload}
113322e3aa9SAnves Kumar rayankula    ...  valid_status_codes=[${HTTP_FORBIDDEN}]
114322e3aa9SAnves Kumar rayankula
115322e3aa9SAnves Kumar rayankula
1169233ce15SAnves Kumar rayankulaExpire And Change Root Password Via GUI
1179233ce15SAnves Kumar rayankula    [Documentation]  Expire and change root password via GUI.
1189233ce15SAnves Kumar rayankula    [Tags]  Expire_And_Change_Root_Password_Via_GUI
119a9d9341cSshrsuman123    [Setup]  Launch Browser And Login GUI
120a9d9341cSshrsuman123    [Teardown]  Run Keywords  Logout GUI  AND  Close Browser
1219233ce15SAnves Kumar rayankula    ...  AND  Restore Default Password For Root User  AND  FFDC On Test Case Fail
1229233ce15SAnves Kumar rayankula
123e18cdb56SMegha G N    Expire Password  ${OPENBMC_USERNAME}
1249233ce15SAnves Kumar rayankula
125a9d9341cSshrsuman123    Wait Until Page Contains Element  ${xpath_root_button_menu}
126a9d9341cSshrsuman123    Click Element  ${xpath_root_button_menu}
127a9d9341cSshrsuman123    Click Element  ${xpath_profile_settings}
128a9d9341cSshrsuman123    Wait Until Page Contains  Change password
129a9d9341cSshrsuman123
1309233ce15SAnves Kumar rayankula    # Change valid password.
1319233ce15SAnves Kumar rayankula    Input Text  ${xpath_input_password}  0penBmc123
1329233ce15SAnves Kumar rayankula    Input Text  ${xpath_input_confirm_password}  0penBmc123
133a9d9341cSshrsuman123    Click Button  ${xpath_profile_save_button}
134a9d9341cSshrsuman123    Wait Until Page Contains  Successfully saved account settings.
135a9d9341cSshrsuman123    Wait Until Page Does Not Contain  Successfully saved account settings.  timeout=20
136a9d9341cSshrsuman123    Logout GUI
1379233ce15SAnves Kumar rayankula
1389233ce15SAnves Kumar rayankula    # Verify valid password.
139a9d9341cSshrsuman123    Login GUI  ${OPENBMC_USERNAME}  0penBmc123
1409233ce15SAnves Kumar rayankula    Redfish.Login  ${OPENBMC_USERNAME}  0penBmc123
1419233ce15SAnves Kumar rayankula
1429233ce15SAnves Kumar rayankula
14368f985b3SAnves Kumar rayankulaVerify Maximum Failed Attempts And Check Root User Account Locked
14468f985b3SAnves Kumar rayankula    [Documentation]  Verify maximum failed attempts and locks out root user account.
14568f985b3SAnves Kumar rayankula    [Tags]  Verify_Maximum_Failed_Attempts_And_Check_Root_User_Account_Locked
1464d4ef99fSGeorge Keishing    [Setup]   Set Account Lockout Threshold  account_lockout_threshold=${5}
14768f985b3SAnves Kumar rayankula
14868f985b3SAnves Kumar rayankula    # Make maximum failed login attempts.
14968f985b3SAnves Kumar rayankula    Repeat Keyword  ${5} times
15068f985b3SAnves Kumar rayankula    ...  Run Keyword And Expect Error  InvalidCredentialsError*  Redfish.Login  root  0penBmc123
15168f985b3SAnves Kumar rayankula
15268f985b3SAnves Kumar rayankula    # Verify that legitimate login fails due to lockout.
15368f985b3SAnves Kumar rayankula    Run Keyword And Expect Error  InvalidCredentialsError*
15468f985b3SAnves Kumar rayankula    ...  Redfish.Login  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD}
15568f985b3SAnves Kumar rayankula
15668f985b3SAnves Kumar rayankula    # Wait for lockout duration to expire and then verify that login works.
15768f985b3SAnves Kumar rayankula    Sleep  ${default_lockout_duration}s
15868f985b3SAnves Kumar rayankula    Redfish.Login
15968f985b3SAnves Kumar rayankula    Redfish.Logout
16068f985b3SAnves Kumar rayankula
161c46a8960SAnves Kumar rayankulaVerify New Password Persistency After BMC Reboot
162c46a8960SAnves Kumar rayankula    [Documentation]  Verify new password persistency after BMC reboot.
163c46a8960SAnves Kumar rayankula    [Tags]  Verify_New_Password_Persistency_After_BMC_Reboot
164e6c745acSAnves Kumar rayankula    [Teardown]  Test Teardown Execution
165c46a8960SAnves Kumar rayankula
166c46a8960SAnves Kumar rayankula    Redfish.Login
167e6c745acSAnves Kumar rayankula
168e6c745acSAnves Kumar rayankula    # Make sure the user account in question does not already exist.
169e6c745acSAnves Kumar rayankula    Redfish.Delete  /redfish/v1/AccountService/Accounts/admin_user
170e6c745acSAnves Kumar rayankula    ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NOT_FOUND}]
171e6c745acSAnves Kumar rayankula
172e6c745acSAnves Kumar rayankula    # Create specified user.
173e6c745acSAnves Kumar rayankula    ${payload}=  Create Dictionary
174e6c745acSAnves Kumar rayankula    ...  UserName=admin_user  Password=TestPwd123  RoleId=Administrator  Enabled=${True}
175e6c745acSAnves Kumar rayankula    Redfish.Post  /redfish/v1/AccountService/Accounts/  body=&{payload}
176e6c745acSAnves Kumar rayankula    ...  valid_status_codes=[${HTTP_CREATED}]
177e6c745acSAnves Kumar rayankula    Redfish.Logout
178e6c745acSAnves Kumar rayankula
179e6c745acSAnves Kumar rayankula    Redfish.Login  admin_user  TestPwd123
180e6c745acSAnves Kumar rayankula
181c46a8960SAnves Kumar rayankula    # Change to a valid password.
182e6c745acSAnves Kumar rayankula    Redfish.Patch  /redfish/v1/AccountService/Accounts/admin_user
183c46a8960SAnves Kumar rayankula    ...  body={'Password': '0penBmc123'}
184c46a8960SAnves Kumar rayankula
185c46a8960SAnves Kumar rayankula    # Reboot BMC and verify persistency.
186e6c745acSAnves Kumar rayankula    Redfish OBMC Reboot (off)
187c46a8960SAnves Kumar rayankula
188c46a8960SAnves Kumar rayankula    # verify new password
189e6c745acSAnves Kumar rayankula    Redfish.Login  admin_user  0penBmc123
190c46a8960SAnves Kumar rayankula
19168f985b3SAnves Kumar rayankula
192e18cdb56SMegha G NVerify Expire And Change Admin User Password Via GUI
193e18cdb56SMegha G N    [Documentation]  Force expire admin password and update admin password via GUI.
194e18cdb56SMegha G N    [Tags]  Verify_Expire_And_Change_Admin_User_Password_Via_GUI
195e18cdb56SMegha G N    [Setup]  Run Keywords  Launch Browser And Login GUI  AND
196e18cdb56SMegha G N    ...  Redfish Create User  ${admin_user}  ${default_adminuser_passwd}  Administrator  ${True}
197e18cdb56SMegha G N    [Teardown]  Run Keywords  Logout GUI  AND  Close Browser
198e18cdb56SMegha G N
199e18cdb56SMegha G N    Expire Password  ${admin_user}
200e18cdb56SMegha G N
201e18cdb56SMegha G N    Logout GUI
202e18cdb56SMegha G N
203e18cdb56SMegha G N    # Verify that admin user should not be able to login with expired password.
204e18cdb56SMegha G N    Login GUI  ${admin_user}  ${default_adminuser_passwd}
205e18cdb56SMegha G N
206e18cdb56SMegha G N    # Verify error message to update the password.
207e18cdb56SMegha G N    Wait Until Page Contains  The password is expired and must be changed.  timeout=10
208e18cdb56SMegha G N
209e18cdb56SMegha G N    # Update a valid acceptable password.
210e18cdb56SMegha G N    Input Text  ${xpath_input_password}  ${admin_password}
211e18cdb56SMegha G N    Input Text  ${xpath_input_confirm_password}  ${admin_password}
212e18cdb56SMegha G N    Click Button  ${xpath_confirm_password_button}
213e18cdb56SMegha G N    Wait Until Page Contains  Overview  timeout=20
214e18cdb56SMegha G N
215e18cdb56SMegha G N    # Verify valid password.
216e18cdb56SMegha G N    Redfish.Login  ${admin_user}  ${admin_password}
217e18cdb56SMegha G N
218e18cdb56SMegha G N
2192f76ae40SMegha G NExpire Admin Password And Check IPMI Access Fails
2202f76ae40SMegha G N    [Documentation]   Expire admin user password and expect an error while access via IPMI.
2212f76ae40SMegha G N    [Tags]  Expire_Admin_Password_And_Check_IPMI_Access_Fails
2222f76ae40SMegha G N    [Setup]  Redfish Create User  ${admin_user}  ${default_adminuser_passwd}  Administrator  ${True}
2232f76ae40SMegha G N
2242f76ae40SMegha G N    Expire Password  ${admin_user}
2252f76ae40SMegha G N
2262f76ae40SMegha G N    ${status}=  Run Keyword And Return Status   Run External IPMI Standard Command  lan print -v
2272f76ae40SMegha G N    Should Be Equal  ${status}  ${False}
2282f76ae40SMegha G N
2292f76ae40SMegha G N
23080222cffSMegha G NVerify Expire Admin Password And Update Bad Password Length Via Redfish
23180222cffSMegha G N   [Documentation]  Expire admin password and update bad password with more than 20 characters
23280222cffSMegha G N   ...  via Redfish and expect an error.
23380222cffSMegha G N   [Tags]  Verify_Expire_Admin_Password_And_Update_Bad_Password_Length_Via_Redfish
23480222cffSMegha G N   [Setup]  Redfish Create User  ${admin_user}  ${default_adminuser_passwd}  Administrator  ${True}
23580222cffSMegha G N
23680222cffSMegha G N   Expire Password  ${admin_user}
23780222cffSMegha G N
23880222cffSMegha G N   Redfish.Login
23980222cffSMegha G N   ${status}=  Run Keyword And Return Status
24080222cffSMegha G N   ...  Redfish.Patch  /redfish/v1/AccountService/Accounts/${OPENBMC_USERNAME}
24180222cffSMegha G N   ...  body={'Password': '0penBmc0penBmc0penBmc'}
24280222cffSMegha G N
24380222cffSMegha G N   Should Be Equal  ${status}  ${False}
24480222cffSMegha G N
24580222cffSMegha G N
246014ad018SMegha G NVerify Error While Creating User With Expired Admin Password
247014ad018SMegha G N    [Documentation]  Expire admin password and expect an error while creating new user.
248014ad018SMegha G N    [Tags]  Verify_Error_While_Creating_User_With_Expired_Admin_Password
249014ad018SMegha G N    [Teardown]  Restore Default Password For Admin User
250014ad018SMegha G N
251014ad018SMegha G N    Expire Password  ${admin_user}
252014ad018SMegha G N
253014ad018SMegha G N    Verify User Password Expired Using Redfish  ${admin_user}  ${default_adminuser_passwd}
254014ad018SMegha G N
255014ad018SMegha G N    # Create new user with expired admin password and expect an error.
256014ad018SMegha G N    ${payload}=  Create Dictionary
257014ad018SMegha G N    ...  UserName=admin_user1  Password=TestPwd123  RoleId=Administrator  Enabled=${True}
258014ad018SMegha G N    Redfish.Post  /redfish/v1/AccountService/Accounts/  body=&{payload}
259014ad018SMegha G N    ...  valid_status_codes=[${HTTP_FORBIDDEN}]
260014ad018SMegha G N
261014ad018SMegha G N
262*521e9e07SMegha G NVerify New Admin Password Persistency After BMC Reboot
263*521e9e07SMegha G N    [Documentation]  Verify new admin password persistency after BMC reboot.
264*521e9e07SMegha G N    [Tags]  Verify_New_Admin_Password_Persistency_After_BMC_Reboot
265*521e9e07SMegha G N    [Setup]  Redfish Create User  ${admin_user}  ${default_adminuser_passwd}  Administrator  ${True}
266*521e9e07SMegha G N    [Teardown]  Restore Default Password For Admin User
267*521e9e07SMegha G N
268*521e9e07SMegha G N    Expire Password  ${admin_user}
269*521e9e07SMegha G N
270*521e9e07SMegha G N    ${status}=  Run Keyword And Return Status
271*521e9e07SMegha G N    ...  Redfish.Patch  /redfish/v1/AccountService/Accounts/${admin_user}
272*521e9e07SMegha G N    ...  body={'Password': '${admin_password}'}
273*521e9e07SMegha G N
274*521e9e07SMegha G N    # Reboot BMC.
275*521e9e07SMegha G N    Redfish OBMC Reboot (off)  stack_mode=skip
276*521e9e07SMegha G N
277*521e9e07SMegha G N    # Verify password is persisted after bmc reboot.
278*521e9e07SMegha G N    Redfish.Login  ${admin_user}  ${admin_password}
279*521e9e07SMegha G N
280*521e9e07SMegha G N
281a87b1b1fSAnves Kumar rayankula*** Keywords ***
282a87b1b1fSAnves Kumar rayankula
2834d4ef99fSGeorge KeishingSet Account Lockout Threshold
284e6c745acSAnves Kumar rayankula   [Documentation]  Set user account lockout threshold.
285a9d9341cSshrsuman123   [Arguments]  ${account_lockout_threshold}=${0}  ${account_lockout_duration}=${50}
286e6c745acSAnves Kumar rayankula
287e6c745acSAnves Kumar rayankula   # Description of argument(s):
288e6c745acSAnves Kumar rayankula   # account_lockout_threshold    Set lockout threshold value.
289a9d9341cSshrsuman123   # account_lockout_duration     Set lockout duration value.
290a87b1b1fSAnves Kumar rayankula
291a87b1b1fSAnves Kumar rayankula   Redfish.login
292a9d9341cSshrsuman123   ${payload}=  Create Dictionary  AccountLockoutThreshold=${account_lockout_threshold}
293a9d9341cSshrsuman123   ...  AccountLockoutDuration=${account_lockout_duration}
294a9d9341cSshrsuman123   Redfish.Patch  /redfish/v1/AccountService/  body=&{payload}
295e6c745acSAnves Kumar rayankula   gen_robot_valid.Valid Length  OPENBMC_PASSWORD  min_length=8
2969f42121dSAnvesh Kumar   Redfish.Logout
2979f42121dSAnvesh Kumar
298a87b1b1fSAnves Kumar rayankulaRestore Default Password For Root User
299a87b1b1fSAnves Kumar rayankula    [Documentation]  Restore default password for root user (i.e. 0penBmc).
300a87b1b1fSAnves Kumar rayankula
301a87b1b1fSAnves Kumar rayankula    # Set default password for root user.
30267921144SAnves Kumar rayankula    Redfish.Patch  /redfish/v1/AccountService/Accounts/${OPENBMC_USERNAME}
30367921144SAnves Kumar rayankula    ...   body={'Password': '${OPENBMC_PASSWORD}'}  valid_status_codes=[${HTTP_OK}]
304a87b1b1fSAnves Kumar rayankula    # Verify that root user is able to run Redfish command using default password.
3059f42121dSAnvesh Kumar    Redfish.Logout
3069f42121dSAnvesh Kumar
3079f42121dSAnvesh Kumar
3089f42121dSAnvesh KumarTest Teardown Execution
3099f42121dSAnvesh Kumar    [Documentation]  Do test teardown task.
3109f42121dSAnvesh Kumar
3119f42121dSAnvesh Kumar    Redfish.Login
3129f42121dSAnvesh Kumar    Wait Until Keyword Succeeds  1 min  10 sec  Restore Default Password For Root User
3139f42121dSAnvesh Kumar    Redfish.Logout
3144d4ef99fSGeorge Keishing    Set Account Lockout Threshold  account_lockout_threshold=${5}
31568f985b3SAnves Kumar rayankula    FFDC On Test Case Fail
316e18cdb56SMegha G N
317e18cdb56SMegha G N
318e18cdb56SMegha G NExpire Password
319e18cdb56SMegha G N    [Documentation]  Force expire password.
320e18cdb56SMegha G N    [Arguments]  ${username}
321e18cdb56SMegha G N
322e18cdb56SMegha G N    # Description of argument(s):
323e18cdb56SMegha G N    # username                       User to be created and expire.
324e18cdb56SMegha G N
325e18cdb56SMegha G N    # Expire the password.
326e18cdb56SMegha G N    Open Connection And Log In  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD}
327e18cdb56SMegha G N
328e18cdb56SMegha G N    ${output}  ${stderr}  ${rc}=  BMC Execute Command  passwd --expire ${username}
329e18cdb56SMegha G N    Should Contain Any  ${output}  password expiry information changed  password changed
330e18cdb56SMegha G N
331e18cdb56SMegha G N    # Example output:
332e18cdb56SMegha G N    # passwd --expire admin
333e18cdb56SMegha G N    # passwd: password changed.
334e18cdb56SMegha G N
335e18cdb56SMegha G N    Close All Connections
336014ad018SMegha G N
337014ad018SMegha G N
338014ad018SMegha G NRestore Default Password For Admin User
339014ad018SMegha G N    [Documentation]  Restore default password for admin user (i.e. AdminUser1).
340014ad018SMegha G N
341014ad018SMegha G N    # Set default password for admin user.
342014ad018SMegha G N    Redfish.Patch  /redfish/v1/AccountService/Accounts/${admin_user}
343014ad018SMegha G N    ...   body={'Password': '${default_adminuser_passwd}'}  valid_status_codes=[${HTTP_OK}]
344014ad018SMegha G N    # Verify that admin user is able to run Redfish command using default password.
345014ad018SMegha G N    Redfish.Logout
346