Rename original test case file

Change-Id: I2954eec97a3bef33abd28d79bf1646bda6a0833d
Signed-off-by: manashsarma <manashsarma@in.ibm.com>
diff --git a/redfish/dmtf_tools/test_redfishtool.robot b/redfish/dmtf_tools/test_redfishtool.robot
deleted file mode 100644
index 25f2a98..0000000
--- a/redfish/dmtf_tools/test_redfishtool.robot
+++ /dev/null
@@ -1,562 +0,0 @@
-*** Settings ***
-
-
-Documentation     Verify Redfish tool functionality.
-
-Library           OperatingSystem
-Library           String
-Library           Collections
-
-Resource          ../../lib/resource.robot
-Resource          ../../lib/bmc_redfish_resource.robot
-Resource          ../../lib/openbmc_ffdc.robot
-Resource          ../../lib/certificate_utils.robot
-
-
-Suite Setup       Suite Setup Execution
-
-
-*** Variables ***
-
-
-${root_cmd_args} =  SEPARATOR=
-...  redfishtool raw -r ${OPENBMC_HOST} -u ${OPENBMC_USERNAME} -p ${OPENBMC_PASSWORD} -S Always
-${min_number_sensors}  ${15}
-${min_number_roles}    ${4}
-${min_number_users}    ${1}
-
-
-*** 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.
-
-
-Verify Redfishtool Create Users
-    [Documentation]  Create user via Redfishtool and verify.
-    [Tags]  Verify_Redfishtool_Create_Users
-    [Teardown]  Redfishtool Delete User  "UserT100"
-
-    Redfishtool Create User  "UserT100"  "TestPwd123"  "Operator"  true
-    Redfishtool Verify User  "UserT100"  "Operator"
-
-
-Verify Redfishtool Modify Users
-    [Documentation]  Modify user via Redfishtool and verify.
-    [Tags]  Verify_Redfishtool_Modify_Users
-    [Teardown]  Redfishtool Delete User  "UserT100"
-
-    Redfishtool Create User  "UserT100"  "TestPwd123"  "Operator"  true
-    Redfishtool Update User Role  "UserT100"  "Administrator"
-    Redfishtool Verify User  "UserT100"  "Administrator"
-
-
-Verify Redfishtool Delete Users
-    [Documentation]  Delete user via Redfishtool and verify.
-    [Tags]  Verify_Redfishtool_Delete_Users
-
-    Redfishtool Create User  "UserT100"  "TestPwd123"  "Operator"  true
-    Redfishtool Delete User  "UserT100"
-    ${status}=  Redfishtool Verify User Name Exists  "UserT100"
-    Should Be True  ${status} == False
-
-
-Verify Redfishtool Login With Deleted Redfish Users
-    [Documentation]  Verify login with deleted user via Redfishtool.
-    [Tags]  Verify_Redfishtool_Login_With_Deleted_Redfish_Users
-
-    Redfishtool Create User  "UserT100"  "TestPwd123"  "Operator"  true
-    Redfishtool Delete User  "UserT100"
-    Redfishtool Access Resource  /redfish/v1/AccountService/Accounts  "UserT100"  "TestPwd123"
-    ...  ${HTTP_UNAUTHORIZED}
-
-
-Verify Redfishtool Error Upon Creating Same Users With Different Privileges
-    [Documentation]  Verify error upon creating same users with different privileges.
-    [Tags]  Verify_Redfishtool_Error_Upon_Creating_Same_Users_With_Different_Privileges
-    [Teardown]  Redfishtool Delete User  "UserT100"
-
-    Redfishtool Create User  "UserT100"  "TestPwd123"  "Operator"  true
-    Redfishtool Create User  "UserT100"  "TestPwd123"  "Administrator"  true
-    ...  expected_error=${HTTP_BAD_REQUEST}
-
-
-Verify Redfishtool Admin User Privilege
-    [Documentation]  Verify privilege of admin user.
-    [Tags]  Verify_Redfishtool_Admin_User_Privilege
-    [Teardown]  Run Keywords  Redfishtool Delete User  "UserT100"  AND
-    ...  Redfishtool Delete User  "UserT101"
-
-    Redfishtool Create User  "UserT100"  "TestPwd123"  "Administrator"  true
-
-    # Verify if an user can be added by admin
-    Redfishtool Create User  "UserT101"  "TestPwd123"  "Operator"  true  "UserT100"  "TestPwd123"
-
-
-Verify Redfishtool ReadOnly User Privilege
-    [Documentation]  Verify Redfishtool ReadOnly user privilege works.
-    [Tags]  Verify_Redfishtool_ReadOnly_User_Privilege
-    [Teardown]  Redfishtool Delete User  "UserT100"
-
-    Redfishtool Create User  "UserT100"  "TestPwd123"  "ReadOnly"  true
-    Redfishtool Access Resource  /redfish/v1/Systems/  "UserT100"  "TestPwd123"
-
-    Redfishtool Create User
-    ...  "UserT101"  "TestPwd123"  "Operator"  true  "UserT100"  "TestPwd123"  ${HTTP_FORBIDDEN}
-
-
-Verify Redfishtool Replace Server Certificate Valid CertKey
-    [Documentation]  Verify replace server certificate.
-    [Tags]  Verify_Redfishtool_Replace_Server_Certificate_Valid_CertKey
-
-    Verify Redfishtool Replace Certificate  Server  Valid Certificate Valid Privatekey  ok
-
-
-Verify Redfishtool Replace Client Certificate Valid CertKey
-    [Documentation]  Verify replace client certificate.
-    [Tags]  Verify_Redfishtool_Replace_Client_Certificate_Valid_CertKey
-
-    Verify Redfishtool Replace Certificate  Client  Valid Certificate Valid Privatekey  ok
-
-
-Verify Redfishtool Replace CA Certificate Valid Cert
-    [Documentation]  Verify replace CA certificate.
-    [Tags]  Verify_Redfishtool_Replace_CA_Certificate_Valid_Cert
-
-    Verify Redfishtool Replace Certificate  CA  Valid Certificate  ok
-
-
-Verify Redfishtool Client Certificate Install Valid CertKey
-    [Documentation]  Verify client certificate installation.
-    [Tags]  Verify_Redfishtool_Client_Certificate_Install_Valid_CertKey
-
-    Verify Redfishtool Install Certificate  Client  Valid Certificate Valid Privatekey  ok
-
-
-Verify Redfishtool CA Certificate Install Valid Cert
-    [Documentation]  Verify CA Certificate installation.
-    [Tags]  Verify_Redfishtool_CA_Certificate_Install_Valid_Cert
-
-    Verify Redfishtool Install Certificate  CA  Valid Certificate  ok
-
-
-Verify Redfishtool Replace Server Certificate Errors
-    [Documentation]  Verify error while replacing invalid server certificate.
-    [Tags]  Verify_Redfishtool_Replace_Server_Certificate_Errors
-    [Template]  Verify Redfishtool Replace Certificate
-
-    Server  Empty Certificate Empty Privatekey  error
-    Server  Empty Certificate Valid Privatekey  error
-    Server  Valid Certificate Empty Privatekey  error
-
-
-Verify Redfishtool Replace Client Certificate Errors
-    [Documentation]  Verify error while replacing invalid client certificate.
-    [Tags]  Verify_Redfishtool_Replace_Client_Certificate_Errors
-    [Template]  Verify Redfishtool Replace Certificate
-
-    Client  Empty Certificate Empty Privatekey  error
-    Client  Empty Certificate Valid Privatekey  error
-    Client  Valid Certificate Empty Privatekey  error
-
-Verify Redfishtool Replace CA Certificate Errors
-    [Documentation]  Verify error while replacing invalid CA certificate.
-    [Tags]  Verify_Redfishtool_Replace_CA_Certificate_Errors
-    [Template]  Verify Redfishtool Replace Certificate
-
-    CA  Empty Certificate  error
-
-Verify Redfishtool Client Certificate Install Errors
-    [Documentation]  Verify error while installing invalid client certificate.
-    [Tags]  Verify_Redfishtool_Client_Certificate_Install_Errors
-    [Template]  Verify Redfishtool Install Certificate
-
-    Client  Empty Certificate Empty Privatekey  error
-    Client  Empty Certificate Valid Privatekey  error
-    Client  Valid Certificate Empty Privatekey  error
-
-
-*** Keywords ***
-
-
-Redfishtool Access Resource
-    [Documentation]  Access resource.
-    [Arguments]  ${uri}   ${login_user}  ${login_pasword}  ${expected_error}=""
-
-    # Description of argument(s):
-    # uri            URI for resource access.
-    # login_user     The login user name used other than default root user.
-    # login_pasword  The login password.
-    # expected_error Expected error optionally provided in testcase (e.g. 401 /
-    #                authentication error, etc. )
-
-    ${user_cmd_args}=  Set Variable
-    ...  redfishtool raw -r ${OPENBMC_HOST} -u ${login_user} -p ${login_pasword} -S Always
-    Redfishtool Get  ${uri}  ${user_cmd_args}  ${expected_error}
-
-
-Is HTTP error Expected
-    [Documentation]  Check if the HTTP error is expected.
-    [Arguments]  ${cmd_output}  ${error_expected}
-
-    # Description of argument(s):
-    # cmd_output      Output of an HTTP operation.
-    # error_expected  Expected error.
-
-    @{words} =  Split String  ${error_expected}  ,
-    @{errorString}=  Split String  ${cmd_output}  ${SPACE}
-    Should Contain Any  ${errorString}  @{words}
-
-
-Redfishtool Create User
-    [Documentation]  Create new user.
-    [Arguments]  ${user_name}  ${password}  ${roleID}  ${enable}  ${login_user}=""  ${login_pasword}=""
-    ...  ${expected_error}=""
-
-    # Description of argument(s):
-    # user_name      The user name (e.g. "test", "robert", etc.).
-    # password       The user password (e.g. "0penBmc", "0penBmc1", etc.).
-    # roleID         The role of user (e.g. "Administrator", "Operator", etc.).
-    # enable         Enabled attribute of (e.g. true or false).
-    # expected_error Expected error optionally provided in testcase (e.g. 401 /
-    #                authentication error, etc. )
-
-    ${user_cmd_args}=  Set Variable
-    ...  redfishtool raw -r ${OPENBMC_HOST} -u ${login_user} -p ${login_pasword} -S Always
-    ${data}=  Set Variable
-    ...  '{"UserName":${user_name},"Password":${password},"RoleId":${roleId},"Enabled":${enable}}'
-    Run Keyword If  ${login_user} == ""
-    ...   Redfishtool Post  ${data}  /redfish/v1/AccountService/Accounts  ${root_cmd_args}  ${expected_error}
-    ...   ELSE
-    ...   Redfishtool Post  ${data}  /redfish/v1/AccountService/Accounts  ${user_cmd_args}  ${expected_error}
-
-
-Redfishtool Update User Role
-    [Documentation]  Update user role.
-    [Arguments]  ${user_name}  ${newRole}  ${login_user}=""  ${login_pasword}=""
-    ...  ${expected_error}=""
-
-    # Description of argument(s):
-    # user_name      The user name (e.g. "test", "robert", etc.).
-    # newRole        The new role of user (e.g. "Administrator", "Operator", etc.).
-    # login_user     The login user name used other than default root user.
-    # login_pasword  The login password.
-    # expected_error Expected error optionally provided in testcase (e.g. 401 /
-    #                authentication error, etc. )
-
-    ${user_cmd_args}=  Set Variable
-    ...  redfishtool raw -r ${OPENBMC_HOST} -u ${login_user} -p ${login_pasword} -S Always
-    Run Keyword If  ${login_user} == ""
-    ...   Redfishtool Patch  '{"RoleId":${newRole}}'
-          ...  /redfish/v1/AccountService/Accounts/${user_name}  ${root_cmd_args}  ${expected_error}
-    ...   ELSE
-    ...   Redfishtool Patch  '{"RoleId":${newRole}}'
-          ...  /redfish/v1/AccountService/Accounts/${user_name}  ${user_cmd_args}  ${expected_error}
-
-
-Redfishtool Delete User
-    [Documentation]  Delete an user.
-    [Arguments]  ${user_name}  ${expected_error}=""
-
-    # Description of argument(s):
-    # user_name       The user name (e.g. "test", "robert", etc.).
-    # expected_error  Expected error optionally provided in testcase (e.g. 401 /
-    #                 authentication error, etc. ).
-
-    Redfishtool Delete  /redfish/v1/AccountService/Accounts/${user_name}
-    ...  ${root_cmd_args}  ${expected_error}
-
-
-Redfishtool Verify User
-    [Documentation]  Verify role of the user.
-    [Arguments]  ${user_name}  ${role}
-
-    # Description of argument(s):
-    # user_name  The user name (e.g. "test", "robert", etc.).
-    # role       The new role of user (e.g. "Administrator", "Operator", etc.).
-
-    ${user_account}=  Redfishtool Get  /redfish/v1/AccountService/Accounts/${user_name}
-    ${json_obj}=   Evaluate  json.loads('''${user_account}''')  json
-    Should Be equal  "${json_obj["RoleId"]}"  ${role}
-
-
-Redfishtool Verify User Name Exists
-    [Documentation]  Verify user name exists.
-    [Arguments]  ${user_name}
-
-    # Description of argument(s):
-    # user_name  The user name (e.g. "test", "robert", etc.).
-
-    ${status}=  Run Keyword And Return Status  redfishtool Get
-    ...  /redfish/v1/AccountService/Accounts/${user_name}
-
-    [return]  ${status}
-
-
-Verify Redfishtool Install Certificate
-    [Documentation]  Install and verify certificate using Redfishtool.
-    [Arguments]  ${cert_type}  ${cert_format}  ${expected_status}  ${delete_cert}=${True}
-
-    # Description of argument(s):
-    # cert_type           Certificate type (e.g. "Client" or "CA").
-    # cert_format         Certificate file format
-    # expected_status     Expected status of certificate install Redfishtool
-    #                     request (i.e. "ok" or "error").
-    # delete_cert         Certificate will be deleted before installing if this True.
-
-    Run Keyword If  '${cert_type}' == 'CA' and '${delete_cert}' == '${True}'
-    ...  Delete All CA Certificate Via Redfisthtool
-    ...  ELSE IF  '${cert_type}' == 'Client' and '${delete_cert}' == '${True}'
-    ...  Redfishtool Delete Certificate Via BMC CLI  ${cert_type}
-
-    ${cert_file_path}=  Generate Certificate File Via Openssl  ${cert_format}
-    ${bytes}=  OperatingSystem.Get Binary File  ${cert_file_path}
-    ${file_data}=  Decode Bytes To String  ${bytes}  UTF-8
-
-    ${certificate_uri}=  Set Variable If
-    ...  '${cert_type}' == 'Client'  ${REDFISH_LDAP_CERTIFICATE_URI}
-    ...  '${cert_type}' == 'CA'  ${REDFISH_CA_CERTIFICATE_URI}
-
-    ${cert_id}=  Redfishtool Install Certificate File On BMC
-    ...  ${certificate_uri}  ${expected_status}  data=${file_data}
-    Logging  Installed certificate id: ${cert_id}
-
-    # Adding delay after certificate installation.
-    Sleep  30s
-
-    ${cert_file_content}=  OperatingSystem.Get File  ${cert_file_path}
-
-    ${bmc_cert_content}=  Run Keyword If  '${expected_status}' == 'ok'
-    ...  Redfishtool GetAttribute  ${certificate_uri}/${cert_id}  CertificateString
-
-    Run Keyword If  '${expected_status}' == 'ok'  Should Contain  ${cert_file_content}  ${bmc_cert_content}
-
-    [Return]  ${cert_id}
-
-
-Delete All CA Certificate Via Redfisthtool
-    [Documentation]  Delete all CA certificate via Redfish.
-
-    ${cmd_output}=  Redfishtool Get  /redfish/v1/Managers/bmc/Truststore/Certificates
-    ${json_object}=  To JSON  ${cmd_output}
-    ${cert_list}=  Set Variable  ${json_object["Members"]}
-    FOR  ${cert}  IN  @{cert_list}
-      Redfishtool Delete  ${cert["@odata.id"]}  ${root_cmd_args}  ${HTTP_NO_CONTENT}
-    END
-
-
-Redfishtool Delete Certificate Via BMC CLI
-    [Documentation]  Delete certificate via BMC CLI.
-    [Arguments]  ${cert_type}
-
-    # Description of argument(s):
-    # cert_type           Certificate type (e.g. "Client" or "CA").
-
-    ${certificate_file_path}  ${certificate_service}  ${certificate_uri}=
-    ...  Run Keyword If  '${cert_type}' == 'Client'
-    ...    Set Variable  /etc/nslcd/certs/cert.pem  phosphor-certificate-manager@nslcd.service
-    ...    ${REDFISH_LDAP_CERTIFICATE_URI}
-    ...  ELSE IF  '${cert_type}' == 'CA'
-    ...    Set Variable  ${ROOT_CA_FILE_PATH}  phosphor-certificate-manager@authority.service
-    ...    ${REDFISH_CA_CERTIFICATE_URI}
-
-    ${file_status}  ${stderr}  ${rc}=  BMC Execute Command
-    ...  [ -f ${certificate_file_path} ] && echo "Found" || echo "Not Found"
-
-    Return From Keyword If  "${file_status}" != "Found"
-    BMC Execute Command  rm ${certificate_file_path}
-    BMC Execute Command  systemctl restart ${certificate_service}
-    BMC Execute Command  systemctl daemon-reload
-
-
-Redfishtool Install Certificate File On BMC
-    [Documentation]  Install certificate file in BMC using POST operation.
-    [Arguments]  ${uri}  ${status}=ok  &{kwargs}
-
-    # Description of argument(s):
-    # uri         URI for installing certificate file via Redfishtool.
-    #             e.g. "/redfish/v1/AccountService/LDAP/Certificates".
-    # status      Expected status of certificate installation via Redfishtool.
-    #             e.g. error, ok.
-    # kwargs      A dictionary of keys/values to be passed directly to
-    #             POST Request.
-
-    Initialize OpenBMC  20  ${quiet}=${1}  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD}
-
-    ${headers}=  Create Dictionary  Content-Type=application/octet-stream
-    ...  X-Auth-Token=${XAUTH_TOKEN}
-    Set To Dictionary  ${kwargs}  headers  ${headers}
-
-    ${ret}=  Post Request  openbmc  ${uri}  &{kwargs}
-    ${content_json}=  To JSON  ${ret.content}
-    ${cert_id}=  Set Variable If  '${ret.status_code}' == '${HTTP_OK}'  ${content_json["Id"]}  -1
-
-    Run Keyword If  '${status}' == 'ok'
-    ...  Should Be Equal As Strings  ${ret.status_code}  ${HTTP_OK}
-    ...  ELSE IF  '${status}' == 'error'
-    ...  Should Be Equal As Strings  ${ret.status_code}  ${HTTP_INTERNAL_SERVER_ERROR}
-
-    Delete All Sessions
-
-    [Return]  ${cert_id}
-
-
-Verify Redfishtool Replace Certificate
-    [Documentation]  Verify replace server certificate.
-    [Arguments]   ${cert_type}  ${cert_format}  ${expected_status}
-
-    # Description of argument(s):
-    # cert_type        Certificate type (e.g. "Client", "Server" or "CA").
-    # cert_format      Certificate file format
-    #                  (e.g. "Valid_Certificate_Valid_Privatekey").
-    # expected_status  Expected status of certificate replace Redfishtool
-    #                  request (i.e. "ok" or "error").
-
-    # Install certificate before replacing client or CA certificate.
-    ${cert_id}=  Run Keyword If  '${cert_type}' == 'Client'
-    ...    Verify Redfishtool Install Certificate  ${cert_type}  Valid Certificate Valid Privatekey  ok
-    ...  ELSE IF  '${cert_type}' == 'CA'
-    ...    Verify Redfishtool Install Certificate  ${cert_type}  Valid Certificate  ok
-
-    ${cert_file_path}=  Generate Certificate File Via Openssl  ${cert_format}
-    ${bytes}=  OperatingSystem.Get Binary File  ${cert_file_path}
-    ${file_data}=  Decode Bytes To String  ${bytes}  UTF-8
-
-    ${certificate_uri}=  Set Variable If
-    ...  '${cert_type}' == 'Server'  ${REDFISH_HTTPS_CERTIFICATE_URI}/1
-    ...  '${cert_type}' == 'Client'  ${REDFISH_LDAP_CERTIFICATE_URI}/1
-    ...  '${cert_type}' == 'CA'  ${REDFISH_CA_CERTIFICATE_URI}/${cert_id}
-
-    ${certificate_dict}=  Create Dictionary  @odata.id=${certificate_uri}
-    ${dict_objects}=  Create Dictionary  CertificateString=${file_data}
-    ...  CertificateType=PEM  CertificateUri=${certificate_dict}
-    ${string}=  Convert To String  ${dict_objects}
-    ${string}=  Replace String  ${string}  '  "
-    ${payload}=  Set Variable  '${string}'
-
-    ${expected_resp}=  Set Variable If  '${expected_status}' == 'ok'  ${HTTP_OK}
-    ...  '${expected_status}' == 'error'  ${HTTP_NOT_FOUND}
-
-    ${response}=  Redfishtool Post
-    ...  ${payload}  /redfish/v1/CertificateService/Actions/CertificateService.ReplaceCertificate  expected_error=${expected_resp}
-
-    ${cert_file_content}=  OperatingSystem.Get File  ${cert_file_path}
-    ${bmc_cert_content}=  Redfishtool GetAttribute  ${certificate_uri}  CertificateString
-
-    Run Keyword If  '${expected_status}' == 'ok'
-    ...    Should Contain  ${cert_file_content}  ${bmc_cert_content}
-    ...  ELSE
-    ...    Should Not Contain  ${cert_file_content}  ${bmc_cert_content}
-
-
-Redfishtool Get
-    [Documentation]  Execute redfishtool for GET operation.
-    [Arguments]  ${uri}  ${cmd_args}=${root_cmd_args}  ${expected_error}=""
-
-    # Description of argument(s):
-    # uri             URI for GET operation (e.g. /redfish/v1/AccountService/Accounts/).
-    # cmd_args        Commandline arguments.
-    # expected_error  Expected error optionally provided in testcase (e.g. 401 /
-    #                 authentication error, etc. ).
-
-    ${rc}  ${cmd_output}=  Run and Return RC and Output  ${cmd_args} GET ${uri}
-    Run Keyword If  ${rc} != 0  Is HTTP error Expected  ${cmd_output}  ${expected_error}
-
-    [Return]  ${cmd_output}
-
-
-Redfishtool GetAttribute
-    [Documentation]  Execute redfishtool for GET operation.
-    [Arguments]  ${uri}  ${Attribute}  ${cmd_args}=${root_cmd_args}  ${expected_error}=""
-
-    # Description of argument(s):
-    # uri             URI for GET operation (e.g. /redfish/v1/AccountService/Accounts/).
-    # Attribute       The specific attribute to be retrieved with the URI.
-    # cmd_args        Commandline arguments.
-    # expected_error  Expected error optionally provided in testcase (e.g. 401 /
-    #                 authentication error, etc. ).
-
-    ${rc}  ${cmd_output}=  Run and Return RC and Output  ${cmd_args} GET ${uri}
-    Run Keyword If  ${rc} != 0  Is HTTP error Expected  ${cmd_output}  ${expected_error}
-    ${json_object}=  To JSON  ${cmd_output}
-
-    [Return]  ${json_object["CertificateString"]}
-
-
-Redfishtool Post
-    [Documentation]  Execute redfishtool for  Post operation.
-    [Arguments]  ${payload}  ${uri}  ${cmd_args}=${root_cmd_args}  ${expected_error}=""
-
-    # Description of argument(s):
-    # payload         Payload with POST operation (e.g. data for user name, password, role,
-    #                 enabled attribute)
-    # uri             URI for POST operation (e.g. /redfish/v1/AccountService/Accounts/).
-    # cmd_args        Commandline arguments.
-    # expected_error  Expected error optionally provided in testcase (e.g. 401 /
-    #                 authentication error, etc. ).
-
-    ${rc}  ${cmd_output}=  Run and Return RC and Output  ${cmd_args} POST ${uri} --data=${payload}
-    Run Keyword If  ${rc} != 0  Is HTTP error Expected  ${cmd_output}  ${expected_error}
-
-    [Return]  ${cmd_output}
-
-
-Redfishtool Patch
-    [Documentation]  Execute redfishtool for  Patch operation.
-    [Arguments]  ${payload}  ${uri}  ${cmd_args}=${root_cmd_args}  ${expected_error}=""
-
-    # Description of argument(s):
-    # payload         Payload with POST operation (e.g. data for user name, role, etc. ).
-    # uri             URI for PATCH operation (e.g. /redfish/v1/AccountService/Accounts/ ).
-    # cmd_args        Commandline arguments.
-    # expected_error  Expected error optionally provided in testcase (e.g. 401 /
-    #                 authentication error, etc. ).
-
-    ${rc}  ${cmd_output}=  Run and Return RC and Output  ${cmd_args} PATCH ${uri} --data=${payload}
-    Run Keyword If  ${rc} != 0  Is HTTP error Expected  ${cmd_output}  ${expected_error}
-
-    [Return]  ${cmd_output}
-
-
-Redfishtool Delete
-    [Documentation]  Execute redfishtool for  Post operation.
-    [Arguments]  ${uri}  ${cmd_args}=${root_cmd_args}  ${expected_error}=""
-
-    # Description of argument(s):
-    # uri             URI for DELETE operation.
-    # cmd_args        Commandline arguments.
-    # expected_error  Expected error optionally provided in testcase (e.g. 401 /
-    #                 authentication error, etc. ).
-
-    ${rc}  ${cmd_output}=  Run and Return RC and Output  ${cmd_args} DELETE ${uri}
-    Run Keyword If  ${rc} != 0  Is HTTP error Expected  ${cmd_output}  ${expected_error}
-
-    [Return]  ${cmd_output}
-
-
-Suite Setup Execution
-    [Documentation]  Do suite setup execution.
-
-    ${tool_exist}=  Run  which redfishtool
-    Should Not Be Empty  ${tool_exist}
-
-    # Create certificate sub-directory in current working directory.
-    Create Directory  certificate_dir
diff --git a/redfish/dmtf_tools/test_redfishtool_general.robot b/redfish/dmtf_tools/test_redfishtool_general.robot
new file mode 100644
index 0000000..eced05f
--- /dev/null
+++ b/redfish/dmtf_tools/test_redfishtool_general.robot
@@ -0,0 +1,85 @@
+*** Settings ***
+
+
+Documentation     Verify Redfish tool general functionality.
+
+Library           OperatingSystem
+Library           String
+Library           Collections
+
+Resource          ../../lib/resource.robot
+Resource          ../../lib/bmc_redfish_resource.robot
+Resource          ../../lib/openbmc_ffdc.robot
+
+
+Suite Setup       Suite Setup Execution
+
+
+*** Variables ***
+
+
+${root_cmd_args} =  SEPARATOR=
+...  redfishtool raw -r ${OPENBMC_HOST} -u ${OPENBMC_USERNAME} -p ${OPENBMC_PASSWORD} -S Always
+${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 ***
+
+
+Is HTTP error Expected
+    [Documentation]  Check if the HTTP error is expected.
+    [Arguments]  ${cmd_output}  ${error_expected}
+
+    # Description of argument(s):
+    # cmd_output      Output of an HTTP operation.
+    # error_expected  Expected error.
+
+    @{words} =  Split String  ${error_expected}  ,
+    @{errorString}=  Split String  ${cmd_output}  ${SPACE}
+    Should Contain Any  ${errorString}  @{words}
+
+
+Redfishtool Get
+    [Documentation]  Execute redfishtool for GET operation.
+    [Arguments]  ${uri}  ${cmd_args}=${root_cmd_args}  ${expected_error}=""
+
+    # Description of argument(s):
+    # uri             URI for GET operation (e.g. /redfish/v1/AccountService/Accounts/).
+    # cmd_args        Commandline arguments.
+    # expected_error  Expected error optionally provided in testcase (e.g. 401 /
+    #                 authentication error, etc. ).
+
+    ${rc}  ${cmd_output}=  Run and Return RC and Output  ${cmd_args} GET ${uri}
+    Run Keyword If  ${rc} != 0  Is HTTP error Expected  ${cmd_output}  ${expected_error}
+
+    [Return]  ${cmd_output}
+
+
+Suite Setup Execution
+    [Documentation]  Do suite setup execution.
+
+    ${tool_exist}=  Run  which redfishtool
+    Should Not Be Empty  ${tool_exist}