Add systest/collection test cases and utility functions needed
- Add systest data collection test cases.
- Add functions/keywords for displaying non informational error
and event logs.
- Add URIs for inventory reading.
Signed-off-by: Joy Onyerikwu <Onyekachukwu.Joy.Onyerikwu@ibm.com>
Change-Id: Id4e7b131a029d7dd727c1e1511c60640b6007b2f
diff --git a/systest/collection/bmc_collect_vpd_and_hw_status.robot b/systest/collection/bmc_collect_vpd_and_hw_status.robot
new file mode 100644
index 0000000..2ce8040
--- /dev/null
+++ b/systest/collection/bmc_collect_vpd_and_hw_status.robot
@@ -0,0 +1,75 @@
+*** Settings ***
+Documentation BMC server health, collect VPD and hardware status.
+
+# Test Parameters:
+# OPENBMC_HOST The BMC host name or IP address.
+
+Resource ../../lib/bmc_redfish_resource.robot
+Resource ../../lib/openbmc_ffdc.robot
+
+Suite Setup Suite Setup Execution
+Suite Teardown Suite Teardown Execution
+Test Setup Printn
+
+*** Variables ***
+${QUIET} ${1}
+${rest_collected_values} Rest collection excluded
+${redfish_collected_values} Redfish collection excluded
+
+*** Test Cases ***
+
+Rest Collect VPD And Hardware Status
+ [Documentation] Collect VPD and hardware status using the OpenBMC Rest API.
+ [Tags] Rest_Collect_VPD_And_Hardware_Status rest
+ [Teardown] FFDC On Test Case Fail clean_up=${FALSE}
+
+ ${system_properties}= OpenBMC Get Request ${HOST_INVENTORY_URI}system
+ ${system_properties}= Evaluate $system_properties.json()
+ ${Type}= Read Attribute ${CHASSIS_INVENTORY_URI} Type
+ ${WaterCooled}= Read Attribute ${CHASSIS_INVENTORY_URI} WaterCooled
+ ${AirCooled}= Read Attribute ${CHASSIS_INVENTORY_URI} AirCooled
+ ${system_chassis}= OpenBMC Get Request ${MOTHERBOARD_INVENTORY_URI}enumerate
+ ${system_chassis}= Evaluate $system_chassis.json()
+ Rprint Vars system_properties Type WaterCooled AirCooled system_chassis
+ ${rest_collected_values}= gen_robot_print.Sprint Vars
+ ... system_properties Type WaterCooled AirCooled system_chassis
+ Set Global Variable ${rest_collected_values}
+
+
+Redfish Collect VPD And Hardware Status
+ [Documentation] Collect VPD and hardware status using Redfish.
+ [Tags] Redfish_Collect_VPD_And_Hardware_Status redfish
+ [Setup] Redfish.Login
+ [Teardown] Redfish Test Teardown Execution
+
+ ${system_properties}= Redfish_Utils.Get Properties ${SYSTEM_BASE_URI}
+ ${system_memory_info}= Redfish_Utils.Enumerate Request ${SYSTEM_BASE_URI}/Memory
+ ${system_processors_info}= Redfish_Utils.Enumerate Request ${SYSTEM_BASE_URI}/Processors
+ ${system_fans_info}= Redfish_Utils.Get Attribute ${REDFISH_CHASSIS_THERMAL_URI} Fans
+ Rprint Vars system_properties system_memory_info system_processors_info system_fans_info
+ ${redfish_collected_values}= gen_robot_print.Sprint Vars
+ ... system_properties system_memory_info system_processors_info system_fans_info
+ Set Global Variable ${redfish_collected_values}
+
+
+*** Keywords ***
+
+Suite Setup Execution
+ [Documentation] Do test case setup tasks.
+
+ Set Log Level DEBUG
+ REST Power On stack_mode=skip
+
+
+Suite Teardown Execution
+ [Documentation] Do suite teardown tasks. Log values and data collected.
+
+ Log Rest collected values:${\n}${rest_collected_values}
+ Log Redfish collected values:${\n}${redfish_collected_values}
+
+
+Redfish Test Teardown Execution
+ [Documentation] Do the post test teardown for redfish.
+
+ Redfish.Logout
+ FFDC On Test Case Fail clean_up=${FALSE}