Reset reload test verification.

This change includes:
  - Added test case to verify reset reload with chassis ON.
  - Added keyword to check reset reload status.

Resolves openbmc/openbmc-test-automation#403

Change-Id: I72f698e08e226d87e9f8d46575f3554f4fafe17e
Signed-off-by: Rahul Maheshwari <rahulmaheshwari@in.ibm.com>
diff --git a/tests/test_reset_reload.robot b/tests/test_reset_reload.robot
new file mode 100644
index 0000000..5d852b3
--- /dev/null
+++ b/tests/test_reset_reload.robot
@@ -0,0 +1,58 @@
+*** Settings ***
+
+Documentation       Test reset reload functionality of BMC.
+
+Resource            ../lib/rest_client.robot
+Resource            ../lib/state_manager.robot
+Resource            ../lib/openbmc_ffdc.robot
+
+Test Setup          Open Connection And Log In
+Test Teardown       Post Testcase Execution
+
+*** Variables ***
+
+
+*** Test Cases ***
+
+Verify Reset Reload With Chassis State On
+    [Documentation]  Validate chassis "ON" state is unchanged after
+    ...  reset reload.
+    [Tags]  Verify_Reset_Reload_With_Chassis_State_On
+
+    Initiate Host Boot
+    Wait Until Keyword Succeeds  5 min  10 sec  Is Chassis On
+    ${chassis_state_before}=  Run Keyword  Get Chassis Power State
+
+    Trigger Reset Reload via BMC Reboot
+
+    ${chassis_state_after}=  Run Keyword  Get Chassis Power State
+    ${rr_status}=  Run Keyword  Check Reset Reload Status
+
+    Should Be Equal  ${chassis_state_before}  ${chassis_state_after}
+    Should Be Equal  ${rr_status}  Yes
+
+
+*** Keywords ***
+
+Check Reset Reload Status
+    [Documentation]  Retuns reset reload status based on file presence.
+
+    ${rr_status}=  Execute Command On BMC
+    ...  test -e /run/openbmc/chassis@0-on && echo "Yes" || echo "No"
+    [Return]  ${rr_status}
+
+
+Trigger Reset Reload via BMC Reboot
+    [Documentation]  Initiate Reset reload using BMC Reboot.
+
+    Initiate BMC Reboot
+    Wait Until Keyword Succeeds  10 min  10 sec  Is BMC Ready
+
+
+Post Testcase Execution
+    [Documentation]  Do the post test teardown.
+    ...  1. Capture FFDC on test failure.
+    ...  2. Close all open SSH connections.
+
+    FFDC On Test Case Fail
+    Close All Connections