diff --git a/tests/test_generic_conf.robot b/tests/test_generic_conf.robot
deleted file mode 100755
index 745c3e6..0000000
--- a/tests/test_generic_conf.robot
+++ /dev/null
@@ -1,98 +0,0 @@
-*** Settings ***
-Documentation  This suite will verifiy the Generic Configuration 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/openbmc_ffdc.robot
-Test Teardown     FFDC On Test Case Fail
-
-
-*** Variables ***
-${MIN_POWER_VALUE}    ${0}
-${MAX_POWER_VALUE}    ${1000}
-
-${SETTING_HOST}       ${SETTINGS_URI}host0
-
-${RANGE_MSG_ERR}      ValueError: Invalid input. Data not in allowed range
-${VALUE_MSG_ERR}      ValueError: Invalid input. Data not in allowed values
-
-*** Test Cases ***
-
-Get Power Value
-
-    [Documentation]   ***GOOD PATH***
-    ...               This test case tries to get the power value and it should be
-    ...               between ${MIN_POWER_VALUE} and ${MAX_POWER_VALUE}
-    [Tags]  Get_Power_Value
-
-    ${powerValue}=   Read Attribute   ${SETTING_HOST}   power_cap
-    should be true   ${powerValue} >= ${MIN_POWER_VALUE} and ${powerValue} <= ${MAX_POWER_VALUE}
-
-
-Set Powercap Value With String
-    [Documentation]  Set the power values with string and expect error.
-    [Tags]  Set_Powercap_Value_With_String
-
-    ${valueToBeSet}=  Set Variable   abcdefg
-    ${error_msg}=  Run Keyword And Expect Error
-    ...  *   Write To Power Attribute  power_cap  ${valueToBeSet}
-    Should Contain  ${error_msg}  ${RANGE_MSG_ERR}
-
-    ${value}=   Read Attribute    ${SETTING_HOST}   power_cap
-    Should Not Be True    '${value}'=='${valueToBeSet}'
-
-
-Set Powercap Value Greater Than Allowed Range
-    [Documentation]  Set the power value greater then MAX_ALLOWED_VALUE
-    ...              and expect error.
-    [Tags]  Set_Powercap_Value_Greater_Than_Allowed_Range
-
-    ${valueToBeSet}=  Set Variable   ${1010}
-    ${error_msg}=  Run Keyword And Expect Error
-    ...  *   Write To Power Attribute  power_cap  ${valueToBeSet}
-    Should Contain  ${error_msg}  ${RANGE_MSG_ERR}
-
-    ${value}=  Read Attribute    ${SETTING_HOST}   power_cap
-    Should Not Be Equal  ${value}  ${valueToBeSet}
-
-
-Set Power With Min Power Value
-
-    [Documentation]   ***BAD PATH***
-    ...               This test case sets the power value less then
-    ...               MIN_ALLOWED_VALUE,Expectation is it should get error.
-    [Tags]  Set_Power_With_Min_Power_Value
-
-    ${valueToBeSet}=   Set Variable     ${MIN_POWER_VALUE}
-    ${valueDict}=   create dictionary   data=${valueToBeSet}
-    Write Attribute   ${SETTING_HOST}   power_cap      data=${valueDict}
-    ${value}=      Read Attribute   ${SETTING_HOST}    power_cap
-    Should Be Equal     ${value}      ${valueToBeSet}
-
-Set Power With Max Power Value
-
-    [Documentation]   ***GOOD PATH***
-    ...               This test case sets the power value with MAX_POWER_VALUE
-    ...               and it should be set.
-    [Tags]  Set_Power_With_Max_Power_Value
-
-    ${valueToBeSet}=   Set Variable     ${MAX_POWER_VALUE}
-    ${valueDict}=   create dictionary   data=${valueToBeSet}
-    Write Attribute   ${SETTING_HOST}    power_cap   data=${valueDict}
-    ${value}=      Read Attribute   ${SETTING_HOST}    power_cap
-    Should Be Equal     ${value}      ${valueToBeSet}
-
-
-*** Keywords ***
-
-Write To Power Attribute
-    [Documentation]  Write to Powercap value.
-    [Arguments]   ${attrib}  ${args}
-    ${value}=  Create Dictionary   data=${args}
-    ${resp}=  OpenBMC Put Request
-    ...  ${SETTING_HOST}/attr/${attrib}  data=${value}
-    ${jsondata}=  To JSON   ${resp.content}
-    Should Be Equal   ${jsondata['status']}   ${HTTP_OK}
-    ...  msg=${jsondata}
-
