Add health check and FRU list check test cases

Change-Id: Ia44f768771863cca18aca5706f5a286dc857d05c
Signed-off-by: manashsarma <manashsarma@in.ibm.com>
diff --git a/redfish/dmtf_tools/test_redfishtool.robot b/redfish/dmtf_tools/test_redfishtool.robot
new file mode 100644
index 0000000..01354ac
--- /dev/null
+++ b/redfish/dmtf_tools/test_redfishtool.robot
@@ -0,0 +1,69 @@
+*** Settings ***
+Documentation    Verify Redfish tool functionality.
+
+# The following tests are performed:
+#
+# sensors list
+# health check
+#
+# directory PATH in $PATH.
+#
+# Test Parameters:
+# OPENBMC_HOST          The BMC host name or IP address.
+# OPENBMC_USERNAME      The username to login to the BMC.
+# OPENBMC_PASSWORD      Password for OPENBMC_USERNAME.
+#
+# We use DMTF redfishtool for writing openbmc automation test cases.
+# DMTF redfishtool is a commandline tool that implements the client
+# side of the Redfish RESTful API for Data Center Hardware Management.
+
+Library                 String
+Library                 OperatingSystem
+
+Suite Setup             Suite Setup Execution
+
+*** Variables ***
+
+${root_cmd_args}        redfishtool raw -r ${OPENBMC_HOST} -u ${OPENBMC_USERNAME} -p ${OPENBMC_PASSWORD} -S Always
+${HTTTP_ERROR}          Error
+${min_number_sensors}   ${15}
+
+*** Test Cases ***
+
+Verify Redfishtool Sensor Commands
+    [Documentation]  Verify redfishtool's sensor commands.
+    [Tags]  Verify_Redfishtool_Sensor_Commands
+
+    ${sensor_status}=  Redfishtool Get  /redfish/v1/Chassis/chassis/Sensors
+    ${json_object}=  Evaluate  json.loads('''${sensor_status}''')  json
+    Should Be True  ${json_object["Members@odata.count"]} > ${min_number_sensors}
+    ...  msg=There should be at least ${min_number_sensors} sensors.
+
+Verify Redfishtool Health Check Commands
+    [Documentation]  Verify redfishtool's health check command.
+    [Tags]  Verify_Redfishtool_Health_Check_Commands
+
+    ${chassis_data}=  Redfishtool Get  /redfish/v1/Chassis/chassis/
+    ${json_object}=  Evaluate  json.loads('''${chassis_data}''')  json
+    ${status}=  Set Variable  ${json_object["Status"]}
+    Should Be Equal  OK  ${status["Health"]}
+    ...  msg=Health status should be OK.
+
+*** Keywords ***
+
+Redfishtool Get
+    [Documentation]  Return the output of redfishtool for GET operation.
+    [Arguments]  ${uri}  ${cmd_args}=${root_cmd_args}
+
+    # Description of argument(s):
+    # uri  URI for GET operation.
+    # cmd_args redfishtool command arguments.
+
+    ${cmd_output}=  Run  ${cmd_args} GET ${uri}
+    [Return]  ${cmd_output}
+
+Suite Setup Execution
+    [Documentation]  Do suite setup execution.
+
+    ${tool_exist}=  Run  which redfishtool
+    Should Not Be Empty  ${tool_exist}