diff --git a/redfish/test_poweron.robot b/redfish/test_poweron.robot
deleted file mode 100644
index cde19a4..0000000
--- a/redfish/test_poweron.robot
+++ /dev/null
@@ -1,54 +0,0 @@
-*** Settings ***
-Resource         ../lib/resource.txt
-Resource         ../lib/bmc_redfish_resource.robot
-
-Suite Teardown   redfish.Logout
-
-*** Variables ***
-
-${POWER_ON}              On
-${POWER_GRACEFULL_OFF}   GracefulShutdown
-${POWER_FORCE_OFF}       ForceOff
-
-${REDFISH_POWER_URI}     Systems/1/Actions/ComputerSystem.Reset
-
-*** Test Cases ***
-
-Test GET Call Request
-    [Documentation]  Do the GET operation.
-
-    ${resp}=  redfish.Get  Systems/1
-    Log To Console  ${resp}
-
-Test List Request
-    [Documentation]  Do the GET list operation.
-
-    ${resp}=  redfish.List Request  ${EMPTY}
-    Log To Console  ${resp}
-
-Test Enumerate Request
-    [Documentation]  Do the GET enumerate operation.
-
-    ${resp}=  redfish.Enumerate Request  ${EMPTY}
-    Log To Console  ${resp}
-
-Test Power On Call Request
-    [Documentation]  Do the power on operations.
-
-    Boot Action  GracefulShutdown
-
-
-*** Keywords ***
-
-Boot Action
-    [Documentation]  Host boot to power on, off or reboot.
-    [Arguments]  ${boot_option}
-
-    # Description of argument(s):
-    # boot_option   Type of allowed boot
-    #              (e.g. "On", "ForceOff", "GracefulShutdown", "GracefulRestart").
-
-    ${payload}=  Create Dictionary  ResetType=${boot_option}
-    ${resp}=  redfish.Post  ${REDFISH_POWER_URI}  body=&{payload}
-    Log To Console  ${resp}
-
diff --git a/redfish/test_redfish_basic_poweron.robot b/redfish/test_redfish_basic_poweron.robot
deleted file mode 100644
index 6db27ff..0000000
--- a/redfish/test_redfish_basic_poweron.robot
+++ /dev/null
@@ -1,15 +0,0 @@
-*** Settings ***
-
-Documentation    Test power on and off.
-
-Resource         ../lib/redfish_utility.robot
-
-** Test Cases **
-
-Redfish Power On Test
-    [Documentation]  Power off and on.
-    [Tags]  Redfish_Power_On_Test
-
-    Boot Action  ${POWER_GRACEFULL_OFF}
-
-*** Keywords ***
diff --git a/redfish/test_redfish_interfaces.robot b/redfish/test_redfish_interfaces.robot
deleted file mode 100644
index 5c8b430..0000000
--- a/redfish/test_redfish_interfaces.robot
+++ /dev/null
@@ -1,110 +0,0 @@
-*** Settings ***
-Documentation    Test Redfish interfaces supported.
-
-Resource         ../lib/redfish_client.robot
-
-Test Setup       Test Setup Execution
-Test Teardown    Test Teardown Execution
-
-
-** Test Cases **
-
-Test Get Redfish Session Id
-    [Documentation]  Establish session to BMC and get session identifier.
-    [Tags]  Test_Get_Redfish_Session_Id
-
-    # Example:
-    # {
-    #    "@odata.context": "/redfish/v1/$metadata#Session.Session",
-    #    "@odata.id": "/redfish/v1/SessionService/Sessions/gxgwFkuPqo",
-    #    "@odata.type": "#Session.v1_0_2.Session",
-    #    "Description": "Manager User Session",
-    #    "Id": "gxgwFkuPqo",
-    #    "Name": "User Session",
-    #    "UserName": "root"
-    # }
-
-    ${session_url} =
-    ...  Catenate  SEPARATOR=  ${REDFISH_SESSION_URI}  ${test_session_id}
-    ${resp} =  Redfish Get Request
-    ...  ${session_url}  xauth_token=${test_auth_token}
-
-    Should Be Equal As Strings
-    ...  /redfish/v1/${session_url}  ${resp["@odata.id"]}
-
-
-Test Delete Redfish Session With Invalid Token
-    [Documentation]  Delete valid session with invalid token.
-
-    ${session_uri} =
-    ...  Catenate  SEPARATOR=  ${REDFISH_SESSION_URI}  ${test_session_id}
-
-    ${resp} =  Redfish Delete Request
-    ...  ${session_uri}  xauth_token=InvalidToken  resp_check=${0}
-    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_UNAUTHORIZED}
-
-
-Test Delete Redfish Response Codes
-    [Documentation]  Get Redfish response codes and validate them.
-    [Tags]  Test_Delete_Redfish_Response_Codes
-
-    ${resp} =  Redfish Delete Request
-    ...  Systems/motherboard  xauth_token=${test_auth_token}  resp_check=${0}
-    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_METHOD_NOT_ALLOWED}
-
-
-Test Invalid Redfish Token Access
-    [Documentation]  Access valid session id using invalid session token.
-    [Tags]  Test_Invalid_Redfish_Token_Access
-
-    ${session_url} =
-    ...  Catenate  SEPARATOR=  ${REDFISH_SESSION_URI}  ${test_session_id}
-    ${resp} =  Redfish Get Request
-    ...  ${session_url}  xauth_token=InvalidToken  resp_check=${0}
-    Should Be Equal As Strings  ${resp.status_code}  ${HTTP_UNAUTHORIZED}
-
-
-Test Get Redfish Response Codes
-    [Documentation]  Get Redfish response codes and validate them.
-    [Tags]  Test_Get_Redfish_Response_Codes
-    [Template]  Execute Get And Check Response
-
-    # Expected status    URL Path
-    ${HTTP_OK}           ${EMPTY}
-    ${HTTP_OK}           SessionService
-    ${HTTP_OK}           Systems
-    ${HTTP_OK}           Chassis
-    ${HTTP_OK}           Managers
-    ${HTTP_OK}           AccountService
-    ${HTTP_OK}           Managers/bmc/EthernetInterfaces/eth0
-    ${HTTP_NOT_FOUND}    /i/dont/exist/
-
-*** Keywords ***
-
-Execute Get And Check Response
-    [Documentation]  Execute "GET" request and check for expected status.
-    [Arguments]  ${expected_response_code}  ${url_path}
-    # Description of argument(s):
-    # expected_response_code   Expected REST status codes.
-    # url_path                 URL path.
-
-    ${resp} =  Redfish Get Request
-    ...  ${url_path}  xauth_token=${test_auth_token}  resp_check=${0}
-    Should Be Equal As Strings  ${resp.status_code}  ${expected_response_code}
-
-
-Test Setup Execution
-    [Documentation]  Do the test setup.
-
-    ${session_id}  ${auth_token} =  Redfish Login Request
-    Set Test Variable  ${test_session_id}  ${session_id}
-    Set Test Variable  ${test_auth_token}  ${auth_token}
-
-
-Test Teardown Execution
-    [Documentation]  Do the test teardown.
-
-    ${session_uri} =
-    ...  Catenate  SEPARATOR=  ${REDFISH_SESSION_URI}  ${test_session_id}
-
-    Redfish Delete Request  ${session_uri}  ${test_auth_token}
