blob: 180ce7fde8def7d215526c1567c8451328eea4c9 [file] [log] [blame]
*** Settings ***
Documentation OpenBMC user management test.
Resource ../lib/rest_client.robot
Resource ../lib/openbmc_ffdc.robot
Library SSHLibrary
Test Teardown Test Teardown Execution
*** Variables ****
${test_password} 0penBmc123
*** Test Cases ***
Verify At Least One User In List
[Documentation] Verify user list API list minimum one user.
[Tags] Verify_At_Least_One_User_In_List
[Teardown] FFDC On Test Case Fail
${bmc_user_uris}= Read Properties ${BMC_USER_URI}list
Should Not Be Empty ${bmc_user_uris}
Verify Root Password Update
[Documentation] Update system "root" user password and verify.
[Tags] Verify_Root_Password_Update
Delete All Sessions
Initialize OpenBMC
Update Root Password ${test_password}
# Time for user manager to sync.
Sleep 5 s
Delete All Sessions
# SSH Login to BMC with new "root" password.
SSHLibrary.Open Connection ${OPENBMC_HOST}
Login ${OPENBMC_USERNAME} ${test_password}
# REST Login to BMC with new "root" password.
Initialize OpenBMC REST_PASSWORD=${test_password}
${resp}= Get Request openbmc ${BMC_USER_URI}enumerate
Should Be Equal As Strings ${resp.status_code} ${HTTP_OK}
... msg=Verify of new root password failed, RC=${resp.status_code}.
*** Keywords ***
Test Teardown Execution
[Documentation] Do test teardown task.
# REST Login to BMC with new "root" password.
Initialize OpenBMC REST_PASSWORD=${test_password}
Update Root Password
Sleep 5 s
Delete All Sessions
# SSH Login to BMC with user default "root" password.
SSHLibrary.Open Connection ${OPENBMC_HOST}
Login ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD}
# REST Login to BMC with user default "root" password.
Initialize OpenBMC
FFDC On Test Case Fail
Close All Connections
Update Root Password
[Documentation] Update system default "root" user password.
[Arguments] ${user_password}=${OPENBMC_PASSWORD}
# Description of argument(s):
# user_password User password string.
@{password} = Create List ${user_password}
${data} = Create Dictionary data=@{password}
${headers} = Create Dictionary Content-Type=application/json
${resp} = Post Request openbmc ${BMC_USER_URI}root/action/SetPassword
... data=${data} headers=${headers}
Should Be Equal As Strings ${resp.status_code} ${HTTP_OK}
... msg=Updating the new root password failed, RC=${resp.status_code}.