diff --git a/tests/test_power_restore.robot b/tests/test_power_restore.robot
new file mode 100644
index 0000000..d0e27d5
--- /dev/null
+++ b/tests/test_power_restore.robot
@@ -0,0 +1,82 @@
+*** Settings ***
+Documentation                This suite will verifiy the power restore policy rest Interfaces
+...                          Details of valid interfaces can be found here...
+...                          https://github.com/openbmc/docs/blob/master/rest-api.md
+
+Resource        ../lib/rest_client.robot
+Resource        ../lib/pdu/pdu.robot
+Resource        ../lib/utils.robot
+
+
+Library         SSHLibrary
+
+[Documentation]       Data Driven Tests
+
+
+***test cases***
+
+Set the power restore policy       Policy                 ExpectedSystemState       NextSystemState
+                  
+                                   LEAVE_OFF              HOST_POWERED_OFF          HOST_POWERED_OFF
+                                   LEAVE_OFF              HOST_POWERED_ON           HOST_POWERED_OFF
+                                   ALWAYS_POWER_ON        HOST_POWERED_OFF          HOST_POWERED_ON
+                                   ALWAYS_POWER_ON        HOST_POWERED_ON           HOST_POWERED_ON
+                                   RESTORE_LAST_STATE     HOST_POWERED_ON           HOST_POWERED_ON
+                                   RESTORE_LAST_STATE     HOST_POWERED_OFF          HOST_POWERED_OFF 
+                                     
+    [Documentation]   This test case sets the pilicy as given under the policy attribute.
+    ...               ExpectedSystemState:-is the state where system should be before running the test case
+    ...               NextSystemState:-is After Power cycle system should reach to this state 
+    ...               if the system is not at the Expected System State,This test case brings the system 
+    ...               in the Expected state then do the power cycle.
+
+    [Template]    setRestorePolicy
+    [Tags]        reboot_tests
+
+***keywords***
+setRestorePolicy
+    [arguments]        ${policy}     ${expectedSystemState}   ${nextSystemState}
+    ${valueDict} =   create dictionary   data=${policy}
+    Write Attribute  /org/openbmc/settings/host0    power_policy      data=${valueDict}
+    ${currentPolicy}=      Read Attribute    /org/openbmc/settings/host0    power_policy
+    Should Be Equal     ${currentPolicy}      ${policy}
+    ${currentSystemState}=      Read Attribute    /org/openbmc/settings/host0    system_state
+    log Many   "CurrentSystemState="   ${currentSystemState}   
+    log Many   "ExpectedSystemState="  ${expectedSystemState}   
+    log Many   "NextSystemState="      ${nextSystemState}
+    Run Keyword If   '${currentSystemState}' != '${expectedSystemState}' and '${expectedSystemState}' == 'HOST_POWERED_ON'      powerOnHost
+    Run Keyword If   '${currentSystemState}' != '${expectedSystemState}' and '${expectedSystemState}' == 'HOST_POWERED_OFF'     powerOffHost
+    log to console   "Doing power cycle"
+    PDU Power Cycle
+    Wait For Host To Ping   ${OPENBMC_HOST}
+    log to console   "Host is pingable now"
+    Sleep   100sec
+    ${afterPduSystemState}=      Read Attribute    /org/openbmc/settings/host0    system_state
+    Should be equal   ${afterPduSystemState}    ${nextSystemState}
+
+powerOffHost
+    log to console    "Powering off the host"
+    @{arglist}=   Create List    
+    ${args}=     Create Dictionary   data=@{arglist}
+    ${resp}=   Call Method    /org/openbmc/control/chassis0/    powerOff    data=${args}
+    should be equal as strings      ${resp.status_code}     ${HTTP_OK}
+    ${json} =   to json         ${resp.content}
+    should be equal as strings      ${json['status']}      ok
+    sleep  30sec
+    ${currentSystemState}=      Read Attribute    /org/openbmc/settings/host0    system_state
+    Should be equal   ${currentSystemState}     HOST_POWERED_OFF
+
+powerOnHost
+    log to console    "Powering on the host"
+    @{arglist}=   Create List   
+    ${args}=     Create Dictionary    data=@{arglist}
+    ${resp}=   Call Method    /org/openbmc/control/chassis0/    powerOn    data=${args}
+    should be equal as strings      ${resp.status_code}     ${HTTP_OK}
+    ${json} =   to json         ${resp.content}
+    should be equal as strings      ${json['status']}      ok
+    sleep   30sec
+    ${currentSystemState}=      Read Attribute    /org/openbmc/settings/host0    system_state
+    Should be equal   ${currentSystemState}     HOST_POWERED_ON
+
+
+
