BMC Dump Download Test
Resolve openbmc/openbmc-test-automation#1754
Change-Id: Iac29a62941c34e8ce69893fc9ee6ebbfff82b965
Signed-off-by: Naman Navin Hegde <nhegde89@in.ibm.com>
diff --git a/data/variables.py b/data/variables.py
index 4b71bdf..245c3dd 100755
--- a/data/variables.py
+++ b/data/variables.py
@@ -89,6 +89,7 @@
# Dump URI variables.
DUMP_URI = OPENBMC_BASE_URI + 'dump/'
DUMP_ENTRY_URI = DUMP_URI + 'entry/'
+DUMP_DOWNLOAD_URI = "/download/dump/"
# The path on the BMC where dumps are stored.
DUMP_DIR_PATH = "/var/lib/phosphor-debug-collector/dumps/"
diff --git a/redfish/extended/test_bmc_dump.robot b/redfish/extended/test_bmc_dump.robot
index 2dcb1b2..c5ef2d8 100644
--- a/redfish/extended/test_bmc_dump.robot
+++ b/redfish/extended/test_bmc_dump.robot
@@ -219,6 +219,35 @@
Should Be True 0 < ${dump_size} < 204800
+Verify Download BMC Dump
+ [Documentation] Verify that a BMC dump can be downloaded to the local machine.
+ [Tags] Verify_Download_BMC_Dump
+
+ ${dump_id}= Create User Initiated Dump
+ ${dump_dict}= Get Dump Dict
+ ${bmc_dump_name}= Fetch From Right ${dump_dict['${dump_id}']} /
+ ${bmc_dump_checksum} ${stderr} ${rc}= BMC Execute Command
+ ... md5sum ${dump_dict['${dump_id}']}|awk '{print$1}'
+ ${bmc_dump_size} ${stderr} ${rc}= BMC Execute Command
+ ... stat -c "%s" ${dump_dict['${dump_id}']}
+
+ ${response}= OpenBMC Get Request ${DUMP_DOWNLOAD_URI}${dump_id}
+ ... quiet=${1}
+ Should Be Equal As Strings ${response.status_code} ${HTTP_OK}
+ Create Binary File ${EXECDIR}${/}dumps ${response.content}
+ Run tar -xvf ${EXECDIR}${/}dumps
+ ${download_dump_name}= Fetch From Left ${bmc_dump_name} .
+ ${download_dump_checksum}= Run md5sum ${EXECDIR}/dumps|awk '{print$1}'
+ ${download_dump_size}= Run stat -c "%s" ${EXECDIR}${/}dumps
+
+ OperatingSystem.Directory Should Exist ${EXECDIR}/${download_dump_name}
+ ... msg=Created dump name and downloaded dump name don't match.
+ Should Be Equal As Strings ${bmc_dump_checksum} ${download_dump_checksum}
+ Should Be Equal As Strings ${bmc_dump_size} ${download_dump_size}
+
+ Run rm -rf ${EXECDIR}${/}${download_dump_name};rm ${EXECDIR}${/}dumps
+
+
*** Keywords ***
Test Teardown Execution