Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 1 | *** Settings *** |
| 2 | |
| 3 | Documentation Test Save Area feature of Management Console on BMC. |
| 4 | |
| 5 | Resource ../../lib/rest_client.robot |
| 6 | Resource ../../lib/openbmc_ffdc.robot |
| 7 | Resource ../../lib/resource.robot |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 8 | Resource ../../lib/bmc_redfish_utils.robot |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 9 | Resource ../../lib/utils.robot |
| 10 | |
Vijay | 3937315 | 2020-02-14 08:08:20 -0600 | [diff] [blame] | 11 | Suite Setup Suite Setup Execution |
| 12 | Test Teardown Test Teardown Execution |
| 13 | Suite Teardown Suite Teardown Execution |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 14 | |
| 15 | |
| 16 | *** Variables *** |
| 17 | |
Sushil Singh | 7c075e9 | 2020-06-11 02:57:48 -0500 | [diff] [blame] | 18 | ${MAX_SIZE_MSG} File size exceeds maximum allowed size[500KB] |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 19 | ${UPLOADED_MSG} File Created |
Sushil Singh | 4b399ea | 2020-08-26 02:18:11 -0500 | [diff] [blame] | 20 | ${FILE_UPDATED} File Updated |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 21 | ${FORBIDDEN_MSG} Forbidden |
| 22 | ${FILE_CREATE_ERROR_MSG} Error while creating the file |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 23 | |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 24 | @{ADMIN} admin_user TestPwd123 |
| 25 | @{OPERATOR} operator_user TestPwd123 |
| 26 | &{USERS} Administrator=${ADMIN} Operator=${OPERATOR} |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 27 | |
| 28 | *** Test Cases *** |
| 29 | |
| 30 | Verify Small Partition File Upload And Delete |
| 31 | [Documentation] Verify small partition file upload and delete. |
| 32 | [Tags] Verify_Small_Partition_File_Upload_And_Delete |
| 33 | [Template] Upload File To Create Partition Then Delete Partition |
| 34 | |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 35 | # partition delete |
| 36 | # file_name size_kb name expect_resp_code expected_msg partition username |
Sushil Singh | 7c075e9 | 2020-06-11 02:57:48 -0500 | [diff] [blame] | 37 | 501KB_file 501 501KB ${HTTP_BAD_REQUEST} ${MAX_SIZE_MSG} ${True} ${OPENBMC_USERNAME} |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 38 | 15KB_file 15 15KB ${HTTP_OK} ${UPLOADED_MSG} ${True} ${OPENBMC_USERNAME} |
Sushil Singh | 7c075e9 | 2020-06-11 02:57:48 -0500 | [diff] [blame] | 39 | 500KB_file 500 500KB ${HTTP_OK} ${UPLOADED_MSG} ${True} ${OPENBMC_USERNAME} |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 40 | |
| 41 | |
| 42 | Verify Multiple Files Upload |
| 43 | [Documentation] Verify multiple files upload. |
| 44 | [Tags] Verify_Multiple_Files_Upload |
| 45 | [Template] Upload File To Create Partition Then Delete Partition |
| 46 | |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 47 | # partition delete |
| 48 | # file_name size_kb name expect_resp_code expected_msg partition username |
| 49 | 0KB_file 0 0KB ${HTTP_OK} ${UPLOADED_MSG} ${False} ${OPENBMC_USERNAME} |
| 50 | 10KB_file 10 10KB ${HTTP_OK} ${UPLOADED_MSG} ${False} ${OPENBMC_USERNAME} |
| 51 | 50KB_file 50 50KB ${HTTP_OK} ${UPLOADED_MSG} ${False} ${OPENBMC_USERNAME} |
Sushil Singh | 7c075e9 | 2020-06-11 02:57:48 -0500 | [diff] [blame] | 52 | 550KB_file 550 550KB ${HTTP_BAD_REQUEST} ${MAX_SIZE_MSG} ${False} ${OPENBMC_USERNAME} |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 53 | 19KB_file 19 19KB ${HTTP_OK} ${UPLOADED_MSG} ${False} ${OPENBMC_USERNAME} |
Sushil Singh | 7c075e9 | 2020-06-11 02:57:48 -0500 | [diff] [blame] | 54 | 499KB_file 199 499KB ${HTTP_OK} ${UPLOADED_MSG} ${False} ${OPENBMC_USERNAME} |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 55 | |
| 56 | |
| 57 | Verify Read Partition |
| 58 | [Documentation] Verify read partition. |
| 59 | [Tags] Verify_Read_Partition |
| 60 | |
| 61 | Set Test Variable ${file_name} testfile |
| 62 | Set Test Variable ${partition_name} part_read |
| 63 | Set Test Variable ${content} Sample Content to test partition file upload |
| 64 | |
| 65 | Run echo "${content}" > ${file_name} |
| 66 | OperatingSystem.File Should Exist ${file_name} |
| 67 | |
| 68 | Upload File To Create Partition Then Delete Partition ${file_name} 1 ${partition_name} |
| 69 | ... delete_partition=${False} |
| 70 | |
| 71 | Read Partition And Verify Content ${partition_name} ${content} |
| 72 | |
| 73 | |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 74 | Verify Non-Admin User Is Forbidden To Upload Partition File |
| 75 | [Documentation] Verify non-admin user is forbidden to upload partition file. |
| 76 | [Tags] Verify_Non-Admin_User_Is_Forbidden_To_Upload_Partition_File |
| 77 | [Template] Upload File To Create Partition Then Delete Partition |
| 78 | |
| 79 | # partition delete |
| 80 | # file_name size_kb name expect_resp_code expected_msg partition username |
| 81 | 12KB_file 12 12KB ${HTTP_FORBIDDEN} ${FORBIDDEN_MSG} ${False} operator_user |
| 82 | |
| 83 | |
| 84 | Verify Partition Update On BMC |
| 85 | [Documentation] Verify partition update on BMC. |
| 86 | [Tags] Verify_Partition_Update_On_BMC |
| 87 | |
| 88 | Set Test Variable ${file_name} testfile |
| 89 | Set Test Variable ${partition_name} part_read |
| 90 | Set Test Variable ${content1} Sample Content to test partition file upload |
| 91 | Set Test Variable ${content2} Sample Content to test partition file update |
| 92 | |
Sushil Singh | 4b399ea | 2020-08-26 02:18:11 -0500 | [diff] [blame] | 93 | Upload Partition File With Some Known Contents |
| 94 | ... ${file_name} ${partition_name} ${content1} ${UPLOADED_MSG} |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 95 | Read Partition And Verify Content ${partition_name} ${content1} |
| 96 | |
| 97 | # Upload the same partition with modified contents to verify update partition feature. |
Sushil Singh | 4b399ea | 2020-08-26 02:18:11 -0500 | [diff] [blame] | 98 | Upload Partition File With Some Known Contents |
| 99 | ... ${file_name} ${partition_name} ${content2} ${FILE_UPDATED} |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 100 | Read Partition And Verify Content ${partition_name} ${content2} |
| 101 | |
| 102 | |
| 103 | Verify Delete Partition When Partition Does Not Exist |
| 104 | [Documentation] Verify delete partition when partition does not exist. |
| 105 | [Tags] Verify_Delete_Partition_When_Partition_Does_Not_Exist |
| 106 | [Template] Delete Partition And Verify On BMC |
| 107 | |
| 108 | # partition_name expect_resp_code username |
| 109 | Does_not_exist ${HTTP_NOT_FOUND} ${OPENBMC_USERNAME} |
| 110 | Does_not_exist ${HTTP_FORBIDDEN} operator_user |
| 111 | |
| 112 | |
| 113 | Verify Partition Files Persistency And Re-upload After BMC Reboot |
| 114 | [Documentation] Verify partition files persistency and re-upload after BMC reboot. |
| 115 | [Tags] Verify_Partition_Files_Persistency_And_Re-upload_After_BMC_Reboot |
| 116 | |
| 117 | Set Test Variable ${file_name} testfile |
| 118 | Set Test Variable ${partition_name} part_read |
| 119 | Set Test Variable ${content} Sample Content to test partition file upload |
| 120 | |
| 121 | Upload Partition File With Some Known Contents |
| 122 | ... ${file_name}_1 ${partition_name}_1 ${content}_${file_name}_1 |
| 123 | Upload Partition File With Some Known Contents |
| 124 | ... ${file_name}_2 ${partition_name}_2 ${content}_${file_name}_2 |
| 125 | |
| 126 | OBMC Reboot (off) |
| 127 | |
| 128 | # Get REST session to BMC. |
| 129 | Initialize OpenBMC |
| 130 | |
| 131 | # Checking for the content of uploaded partitions after BMC reboot. |
| 132 | Read Partition And Verify Content ${partition_name}_1 ${content}_${file_name}_1 |
| 133 | Read Partition And Verify Content ${partition_name}_2 ${content}_${file_name}_2 |
| 134 | |
| 135 | # Upload same partition with different content to test partition update after BMC reboot. |
| 136 | Upload Partition File With Some Known Contents |
Sushil Singh | 4b399ea | 2020-08-26 02:18:11 -0500 | [diff] [blame] | 137 | ... ${file_name}_1 ${partition_name}_1 ${content}_${file_name}_2 ${FILE_UPDATED} |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 138 | |
| 139 | # Upload different partition. |
Sushil Singh | 4b399ea | 2020-08-26 02:18:11 -0500 | [diff] [blame] | 140 | Upload Partition File With Some Known Contents |
| 141 | ... ${file_name} ${partition_name} ${content} ${UPLOADED_MSG} |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 142 | |
| 143 | |
| 144 | Verify One Thousand Partitions File Upload |
| 145 | [Documentation] Verify One Thousand Partitions File Upload. |
| 146 | [Tags] Verify_One_Thousand_Partitions_File_Upload |
| 147 | |
| 148 | # Note: 1000 Partitions file upload would take 15-20 minutes. |
| 149 | FOR ${INDEX} IN RANGE 1 1000 |
| 150 | ${status}= Run Keyword And Return Status Upload File To Create Partition Then Delete Partition |
| 151 | ... 200KB 200 p${INDEX} delete_partition=${False} |
| 152 | Run Keyword If ${status} == ${True} Continue For Loop |
| 153 | |
| 154 | # Check if /var is full on BMC. |
| 155 | ${status} ${stderr} ${rc}= BMC Execute Command df -k | grep \' /var\' | grep -v /var/ |
| 156 | ${var_size}= Set Variable ${status.split('%')[0].split()[1]} |
| 157 | |
| 158 | # Should be a problem if partition file upload request has failed when /var is not full. |
| 159 | Exit For Loop If ${var_size} != ${100} |
| 160 | |
| 161 | # Expect HTTP_INTERNAL_SERVER_ERROR and FILE_CREATE_ERROR_MSG when /var is full. |
| 162 | Upload File To Create Partition Then Delete Partition |
| 163 | ... 200KB 200 p${INDEX} ${HTTP_INTERNAL_SERVER_ERROR} ${FILE_CREATE_ERROR_MSG} ${False} |
| 164 | END |
| 165 | |
| 166 | |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 167 | *** Keywords *** |
| 168 | |
| 169 | Create Partition File |
| 170 | [Documentation] Create partition file. |
| 171 | [Arguments] ${file_name}=dummyfile ${size_kb}=15 |
| 172 | |
| 173 | # Description of argument(s): |
| 174 | # file_name Name of the test file to be created. Examples: p1.log, part1.txt etc. |
George Keishing | 879f084 | 2020-02-05 11:00:47 -0600 | [diff] [blame] | 175 | # size_kb Size of the test file to be created in KB, default is 15KB. |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 176 | # Example : 15, 200 etc. |
| 177 | |
| 178 | ${file_exist}= Run Keyword And Return Status OperatingSystem.File Should Exist ${file_name} |
| 179 | Return From Keyword If ${file_exist} ${True} |
| 180 | |
| 181 | # Create a partition file if it does not exist locally. |
| 182 | Run dd if=/dev/zero of=${file_name} bs=1 count=0 seek=${size_kb}KB |
| 183 | OperatingSystem.File Should Exist ${file_name} |
| 184 | |
| 185 | |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 186 | Delete All Sessions And Login Using Given User |
| 187 | [Documentation] Delete all sessions and login using given user. |
| 188 | [Arguments] ${username}=${OPENBMC_USERNAME} |
| 189 | |
| 190 | # Description of argument(s): |
| 191 | # username Username to login. Default is OPENBMC_USERNAME. |
| 192 | # Ex: root, operator_user, admin_user, readonly_user etc. |
| 193 | |
| 194 | Delete All Sessions |
| 195 | ${password}= Set Variable If '${username}' == '${OPENBMC_USERNAME}' ${OPENBMC_PASSWORD} TestPwd123 |
| 196 | Initialize OpenBMC rest_username=${username} rest_password=${password} |
| 197 | |
| 198 | |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 199 | Upload File To Create Partition Then Delete Partition |
| 200 | [Documentation] Upload file to create partition the delete partition. |
| 201 | [Arguments] ${file_name}=dummyfile ${size_kb}=15 ${partition_name}=p1 ${expect_resp_code}=${HTTP_OK} |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 202 | ... ${expected_msg}=File Created ${delete_partition}=${True} ${username}=${OPENBMC_USERNAME} |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 203 | |
| 204 | # Description of argument(s): |
| 205 | # file_name Name of the test file to be created. |
| 206 | # partition_name Name of the partition on BMC. |
| 207 | # expect_resp_code Expected REST response code, default is ${HTTP_OK}. |
| 208 | # expected_msg Expected message from file upload, default is 'File Created'. |
| 209 | # delete_partition Partition will be deleted if this is True. |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 210 | # username Login username |
| 211 | |
| 212 | # Create a session with given user to test upload partition file. |
| 213 | Run Keyword If '${username}' != '${OPENBMC_USERNAME}' |
| 214 | ... Delete All Sessions And Login Using Given User ${username} |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 215 | |
| 216 | # Create a partition file. |
| 217 | Create Partition File ${file_name} ${size_kb} |
| 218 | |
| 219 | # Get the content of the file and upload to BMC. |
| 220 | ${image_data}= OperatingSystem.Get Binary File ${file_name} |
| 221 | ${data}= Create Dictionary data ${image_data} |
| 222 | ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN} |
| 223 | |
| 224 | Set To Dictionary ${data} headers ${headers} |
| 225 | ${resp}= Put Request openbmc /ibm/v1/Host/ConfigFiles/${partition_name} &{data} |
| 226 | Should Be Equal As Strings ${resp.status_code} ${expect_resp_code} |
| 227 | |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 228 | ${description}= Run Keyword If ${expect_resp_code} != ${HTTP_FORBIDDEN} |
| 229 | ... Return Description Of REST Response ${resp.text} |
| 230 | ... ELSE Set Variable ${FORBIDDEN_MSG} |
| 231 | |
| 232 | Should Be Equal As Strings ${description} ${expected_msg} |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 233 | |
| 234 | # Cleanup local space after upload attempt. |
| 235 | Run Keyword And Ignore Error Delete Local File Created To Upload ${file_name} |
| 236 | |
| 237 | ${upload_success}= Set Variable If ${expect_resp_code} != ${HTTP_OK} ${False} ${True} |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 238 | Verify Partition Available On BMC ${partition_name} ${upload_success} ${username} |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 239 | |
| 240 | # Delete partition and verify on BMC. |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 241 | ${expect_resp_code}= Set Variable If ${expect_resp_code} != ${HTTP_OK} ${HTTP_NOT_FOUND} ${HTTP_OK} |
| 242 | Run Keyword If ${delete_partition} == ${True} Delete Partition And Verify On BMC |
| 243 | ... ${partition_name} ${expect_resp_code} ${username} |
| 244 | |
| 245 | |
| 246 | Return Description Of REST Response |
| 247 | [Documentation] Return description of REST response. |
| 248 | [Arguments] ${resp_text} |
| 249 | |
| 250 | # Description of argument(s): |
| 251 | # resp_text REST response body. |
| 252 | |
| 253 | # resp_text after successful partition file upload looks like: |
| 254 | # { |
| 255 | # "Description": "File Created" |
| 256 | # } |
| 257 | |
| 258 | ${message}= Evaluate json.loads('''${resp_text}''') json |
| 259 | |
| 260 | [Return] ${message["Description"]} |
| 261 | |
| 262 | |
| 263 | Delete Partition And Verify On BMC |
| 264 | [Documentation] Delete partition and verify on BMC. |
| 265 | [Arguments] ${partition_name} ${expect_resp_code}=${HTTP_OK} ${username}=${OPENBMC_USERNAME} |
| 266 | |
| 267 | # Description of argument(s): |
| 268 | # partition_name Name of the partition on BMC. |
| 269 | # expect_resp_code Expected REST response code from DELETE request, default is ${HTTP_OK}. |
| 270 | # username Username to login, if other than OPENBMC_USERNAME user. |
| 271 | |
| 272 | # Create a session with given user to test delete operation. |
| 273 | # If user is a non-admin user then DELETE request is forbidden for the user. |
| 274 | Run Keyword If '${username}' != '${OPENBMC_USERNAME}' |
| 275 | ... Delete All Sessions And Login Using Given User ${username} |
| 276 | |
| 277 | Delete Partition ${partition_name} ${expect_resp_code} |
| 278 | Verify Partition Available On BMC ${partition_name} ${False} ${username} |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 279 | |
| 280 | |
| 281 | Get List Of Partitions |
| 282 | [Documentation] Get list of partitions. |
| 283 | [Arguments] ${expect_resp_code}=${HTTP_OK} |
| 284 | |
| 285 | # Description of argument(s): |
| 286 | # expect_resp_code Expected REST response code, default is ${HTTP_OK}. |
| 287 | |
| 288 | ${resp}= Get Request openbmc /ibm/v1/Host/ConfigFiles |
| 289 | Should Be Equal As Strings ${resp.status_code} ${expect_resp_code} |
| 290 | Return From Keyword If ${expect_resp_code} != ${HTTP_OK} |
| 291 | |
| 292 | ${resp_json}= To JSON ${resp.content} |
| 293 | ${partitions_cnt}= Get Length ${resp_json['Members']} |
| 294 | |
| 295 | [Return] ${resp_json['Members']} ${partitions_cnt} |
| 296 | |
| 297 | |
| 298 | Verify Partition Available On BMC |
| 299 | [Documentation] Verify partition available on BMC. |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 300 | [Arguments] ${partition_name}=${EMPTY} ${operation_status}=${True} ${username}=${OPENBMC_USERNAME} |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 301 | |
| 302 | # Description of argument(s): |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 303 | # partition_name Name of the partition on BMC. |
| 304 | # operation_success Status of the previous operation like upload/delete success or failure. |
| 305 | # True if operation was a success else False. |
| 306 | # username Username used to upload/delete. Default is ${OPENBMC_USERNAME}. |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 307 | |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 308 | # Non admin users will not have an access to do GET list |
| 309 | Run Keyword If '${username}' != '${OPENBMC_USERNAME}' |
| 310 | ... Delete All Sessions And Login Using Given User |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 311 | |
| 312 | ${partitions} ${partitions_cnt}= Get List Of Partitions |
| 313 | ${rest_response}= Run Keyword And Return Status List Should Contain Value ${partitions} |
| 314 | ... /ibm/v1/Host/ConfigFiles/${partition_name} |
| 315 | |
| 316 | ${status} ${stderr} ${rc}= BMC Execute Command |
| 317 | ... ls -l /var/lib/obmc/bmc-console-mgmt/save-area/${partition_name} | wc -l |
| 318 | ${bmc_response}= Run Keyword And Return Status Should Be True ${status} == ${1} |
| 319 | |
| 320 | Run Keyword If '${partition_name}' == '${EMPTY}' Run Keywords |
| 321 | ... Should Be Equal ${rest_response} ${False} AND Should Be Equal ${bmc_response} ${False} |
| 322 | |
| 323 | Run Keyword And Return If '${partition_name}' != '${EMPTY}' Run Keywords |
| 324 | ... Should Be True ${rest_response} == ${operation_status} AND |
| 325 | ... Should Be True ${bmc_response} == ${operation_status} |
| 326 | |
| 327 | |
| 328 | Delete Partition |
| 329 | [Documentation] Delete partition. |
| 330 | [Arguments] ${partition_name}='${EMPTY}' ${expect_resp_code}=${HTTP_OK} |
| 331 | |
| 332 | # Description of argument(s): |
| 333 | # partition_name Name of the partition on BMC. |
| 334 | # expect_resp_code Expected REST response code, default is ${HTTP_OK}. |
| 335 | |
| 336 | ${data}= Create Dictionary |
| 337 | ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN} |
| 338 | Set To Dictionary ${data} headers ${headers} |
| 339 | |
| 340 | ${resp}= Delete Request openbmc /ibm/v1/Host/ConfigFiles/${partition_name} &{data} |
| 341 | ${expect_resp_code}= Set Variable If '${partition_name}' == '${EMPTY}' |
| 342 | ... ${HTTP_NOT_FOUND} ${expect_resp_code} |
| 343 | Should Be Equal As Strings ${resp.status_code} ${expect_resp_code} |
| 344 | |
| 345 | |
| 346 | Delete And Verify All Partitions on BMC |
| 347 | [Documentation] Delete and verify all partitions on BMC. |
| 348 | [Arguments] ${expect_resp_code}=${HTTP_OK} |
| 349 | |
| 350 | # Description of argument(s): |
| 351 | # expect_resp_code Expected REST response code, default is ${HTTP_OK}. |
| 352 | |
| 353 | ${data}= Create Dictionary |
| 354 | ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN} |
| 355 | Set To Dictionary ${data} headers ${headers} |
| 356 | |
Sushil Singh | fa56297 | 2020-08-05 08:01:27 -0500 | [diff] [blame] | 357 | ${resp}= Post Request openbmc /ibm/v1/Host/ConfigFiles/Actions/IBMConfigFiles.DeleteAll &{data} |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 358 | Should Be Equal As Strings ${resp.status_code} ${expect_resp_code} |
| 359 | |
| 360 | Return From Keyword If ${expect_resp_code} != ${HTTP_OK} |
| 361 | Verify Partition Available On BMC operation_status=${False} |
| 362 | |
| 363 | |
| 364 | Read Partition And Verify Content |
| 365 | [Documentation] Read partition and verify content. |
| 366 | [Arguments] ${partition_name}=p1 ${content}=${EMPTY} ${expect_resp_code}=${HTTP_OK} |
| 367 | |
| 368 | # Description of argument(s): |
| 369 | # partition_name Name of the partition on BMC. |
| 370 | # content Content of the partition file uploaded. |
| 371 | # expect_resp_code Expected REST response code, default is ${HTTP_OK}. |
| 372 | |
| 373 | ${resp}= Get Request openbmc /ibm/v1/Host/ConfigFiles/${partition_name} |
| 374 | Should Be Equal As Strings ${resp.status_code} ${expect_resp_code} |
| 375 | |
| 376 | ${partition_data}= Remove String ${resp.text} \\n |
| 377 | ${partition_data}= Evaluate json.loads('''${partition_data}''') json |
| 378 | Should Be Equal As Strings ${partition_data["Data"]} ${content} |
| 379 | |
| 380 | |
| 381 | Delete Local File Created To Upload |
| 382 | [Documentation] Delete local file created to upload. |
| 383 | [Arguments] ${file_name} |
| 384 | |
| 385 | # Description of argument(s): |
| 386 | # file_name Name of the local file to be deleted. |
| 387 | |
| 388 | Run Keyword And Ignore Error Run rm -f ${file_name} |
| 389 | |
| 390 | |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 391 | Upload Partition File With Some Known Contents |
| 392 | [Documentation] Upload partition file with some known contents. |
Sushil Singh | 4b399ea | 2020-08-26 02:18:11 -0500 | [diff] [blame] | 393 | [Arguments] ${file_name} ${partition_name} ${content} ${expected_msg}=${UPLOADED_MSG} |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 394 | |
| 395 | # Description of argument(s): |
| 396 | # file_name Name of the partition file to be uploaded. |
| 397 | # partition_name Name of the partition on BMC. |
| 398 | # content Content of the partition file to be uploaded. |
| 399 | |
| 400 | Run echo "${content}" > ${file_name} |
| 401 | OperatingSystem.File Should Exist ${file_name} |
| 402 | |
| 403 | Upload File To Create Partition Then Delete Partition ${file_name} 1 ${partition_name} |
Sushil Singh | 4b399ea | 2020-08-26 02:18:11 -0500 | [diff] [blame] | 404 | ... expected_msg=${expected_msg} delete_partition=${False} |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 405 | |
| 406 | |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 407 | Suite Setup Execution |
| 408 | [Documentation] Suite setup execution. |
| 409 | |
Vijay | 09839e2 | 2020-02-05 02:54:44 -0600 | [diff] [blame] | 410 | # Create different user accounts. |
| 411 | Redfish.Login |
George Keishing | 8206851 | 2020-02-27 08:46:34 -0600 | [diff] [blame] | 412 | Create Users With Different Roles users=${USERS} force=${True} |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 413 | # Get REST session to BMC. |
| 414 | Initialize OpenBMC |
| 415 | |
| 416 | |
| 417 | Test Teardown Execution |
| 418 | [Documentation] Test teardown execution. |
| 419 | |
| 420 | Delete And Verify All Partitions on BMC |
George Keishing | be27e92 | 2020-02-04 11:27:34 -0600 | [diff] [blame] | 421 | FFDC On Test Case Fail |
Vijay | fcdadc5 | 2020-01-21 01:48:19 -0600 | [diff] [blame] | 422 | |
Vijay | 3937315 | 2020-02-14 08:08:20 -0600 | [diff] [blame] | 423 | |
| 424 | Suite Teardown Execution |
| 425 | [Documentation] Suite teardown execution. |
| 426 | |
| 427 | Delete BMC Users Via Redfish users=${USERS} |
| 428 | Delete All Sessions |