blob: 85181af33593e0cc8d5be2d5f947bf618320c5fc [file] [log] [blame]
manashsarma148e36c2021-08-16 07:15:18 -05001*** Settings ***
2Documentation This suite is to test service user login functionality.
3... This test expects SERVICE_FILE_PATH, PRODUCTION_KEY_FILE_PATH and
4... SERVICE_USER_PASSWORD to be provided.
5...
6... Execution Method :
7... python -m robot -v OPENBMC_HOST:<hostname> -v SERVICE_FILE_PATH:<service file path>
8... -v PRODUCTION_KEY_FILE_PATH:<production key file path>
9... -v SERVICE_USER_PASSWORD:<service user password>
10... openpower/service_account/test_service_login.robot
11
12Resource ../../lib/connection_client.robot
13Resource ../../lib/openbmc_ffdc.robot
14Resource ../../lib/bmc_redfish_utils.robot
15
16Library SSHLibrary
17
18Suite Setup Suite Setup Execution
19Test Teardown FFDC On Test Case Fail
20
21
22*** Variables ***
23
24${acf_dir} /etc/acf
25
26*** Test Cases ***
27
28Verify Service User Login With Valid ACF file
29 [Documentation] Verify service user login with valid ACF file.
30 [Tags] Verify_Service_User_Login_With_Valid_ACF_file
31
32 Upload Valid ACF
33 Redfish.Login service ${SERVICE_USER_PASSWORD}
34
35
36Verify Service User Login Without ACF file
37 [Documentation] Verify service user login without ACF file.
38 [Tags] Verify_Service_User_Login_Without_ACF_file
39
40 Remove Existing ACF
41 Run Keyword And Expect Error InvalidCredentialsError*
42 ... Redfish.Login service ${SERVICE_USER_PASSWORD}
43
44
manashsarma3746be32021-11-10 06:32:31 -060045Verify Service User SSH Login Without ACF file
46 [Documentation] Verify service user ssh login failure without ACF file.
47 [Tags] Verify_Service_User_SSH_Login_Without_ACF_file
48
49 Remove Existing ACF
50 SSHLibrary.Open Connection ${OPENBMC_HOST}
51 ${status}= Run Keyword And Return Status SSHLibrary.Login service ${SERVICE_USER_PASSWORD}
52 Should Be Equal ${status} ${False}
53
54
manashsarmae7b973f2021-08-20 06:49:32 -050055Verify Service Login Failure With Expired ACF
56 [Documentation] Verify service user login failure with expired ACF.
57 [Tags] Verify_Service_Login_Failure_With_Expired_ACF
58 [Setup] Valid Value EXPIRED_SERVICE_FILE_PATH
59
60 Remove Existing ACF
61 Open Connection for SCP
62 scp.Put File ${EXPIRED_SERVICE_FILE_PATH} ${acf_dir}
63 Run Keyword And Expect Error InvalidCredentialsError*
manashsarma75b58fe2021-08-20 09:01:32 -050064 ... Redfish.Login service ${SERVICE_USER_PASSWORD}
65
66
67Verify Service Login Failure With Incorrect Password
68 [Documentation] Verify service login failure with incorrect password.
69 [Tags] Verify_Service_Login_Failure_With_Incorrect_Password
70
71 Remove Existing ACF
72 Upload Valid ACF
73 ${incorrect_service_password} = Catenate SEPARATOR= ${SERVICE_USER_PASSWORD} 123
74 Run Keyword And Expect Error InvalidCredentialsError*
75 ... Redfish.Login service ${incorrect_service_password}
manashsarmae7b973f2021-08-20 06:49:32 -050076
77
manashsarma99eb1082021-09-21 09:30:06 -050078Verify SSH Login Access With Service User
79 [Documentation] Verify SSH login access with service user.
80 [Tags] Verify_SSH_Login_Access_With_Service_User
81 [Setup] Remove Existing ACF AND Upload Valid ACF
82
83 # Attempt SSH login with service user.
84 SSHLibrary.Open Connection ${OPENBMC_HOST}
85 ${status}= Run Keyword And Return Status SSHLibrary.Login service ${SERVICE_USER_PASSWORD}
86 Should Be Equal ${status} ${True}
87
88
manashsarma9f0eff42021-09-22 09:12:41 -050089Verify SSH Login Failure With Incorrect Service User Password
90 [Documentation] Verify SSH login failure with incorrect service user password.
91 [Tags] Verify_SSH_Login_Failure_With_Incorrect_Service_User_Password
92 [Setup] Remove Existing ACF AND Upload Valid ACF
93
94 # Attempt SSH login with service user.
95 SSHLibrary.Open Connection ${OPENBMC_HOST}
96 # Attempt login with invalid password
97 ${status}= Run Keyword And Return Status SSHLibrary.Login service ${SERVICE_USER_PASSWORD}123
98 Should Be Equal ${status} ${False}
99
100
manashsarma148e36c2021-08-16 07:15:18 -0500101*** Keywords ***
102
103Suite Setup Execution
104 [Documentation] Do suite setup tasks.
105
106 # Upload production key in BMC because it is not part of OpenBMC build yet.
manashsarmae7b973f2021-08-20 06:49:32 -0500107 Open Connection for SCP
manashsarma148e36c2021-08-16 07:15:18 -0500108 scp.Put File ${PRODUCTION_KEY_FILE_PATH} ${acf_dir}
109
110
111Remove Existing ACF
112 [Documentation] Remove existing ACF.
113
114 BMC Execute Command rm -f ${acf_dir}/*.acf
115
manashsarma148e36c2021-08-16 07:15:18 -0500116Upload Valid ACF
117 [Documentation] Upload valid ACF.
118
119 Run Keywords Open Connection for SCP
120 scp.Put File ${SERVICE_FILE_PATH} ${acf_dir}