diff --git a/data/resource_lock_table.json b/data/resource_lock_table.json
index 639a323..b6de70b 100644
--- a/data/resource_lock_table.json
+++ b/data/resource_lock_table.json
@@ -58,6 +58,7 @@
 
     },
     "Invalid Case": {
+        "ResourceIDInvalidDataType": "234",
         "ReadCase1": {
             "read": [{
                 "LockFlag": "DontLock",
diff --git a/openpower/ext_interfaces/test_lock_management.robot b/openpower/ext_interfaces/test_lock_management.robot
index e2393ef..622a73b 100644
--- a/openpower/ext_interfaces/test_lock_management.robot
+++ b/openpower/ext_interfaces/test_lock_management.robot
@@ -75,6 +75,20 @@
     HMCID-01       WriteCase2,ReadCase2
 
 
+Acquire Lock After Reboot
+    [Documentation]  Acquire and release read and write locks after reboot.
+    [Tags]  Acquire_Lock_After_Reboot
+    [Template]  Verify Acquire Lock After Reboot
+
+    # client_id    lock_type
+    HMCID-01       ReadCase1
+    HMCID-01       ReadCase2
+    HMCID-01       ReadCase3
+    HMCID-01       WriteCase1
+    HMCID-01       WriteCase2
+    HMCID-01       WriteCase3
+
+
 Acquire And Release Lock In Loop
     [Documentation]  Acquire and release read, write locks in loop.
     [Tags]  Acquire_And_Release_Lock_In_Loop
@@ -119,6 +133,20 @@
     HMCID-01,HMCID-02    ReadCase1,ReadCase1
 
 
+Test Invalid Resource ID Data Type Locking
+    [Documentation]  Failed to acquire lock for invalid resource id data type.
+    [Tags]  Test_Invalid_Resource_ID_Data_Type_Locking
+    [Template]  Verify Fail To Acquire Lock For Invalid Resource ID Data Type
+
+    # client_id    lock_type
+    HMCID-01       ReadCase1
+    HMCID-01       ReadCase2
+    HMCID-01       ReadCase3
+    HMCID-01       WriteCase1
+    HMCID-01       WriteCase2
+    HMCID-01       WriteCase3
+
+
 Fail To Acquire Lock For Invalid Lock Type
     [Documentation]  Failed to acquire read, write lock for invalid lock data passed.
     [Tags]  Fail_To_Acquire_Lock_For_Invalid_Lock_Type
@@ -234,8 +262,8 @@
     # lock_type      Read lock or Write lock.
     # status_code    HTTP status code.
 
-    ${resp}=  Form Data To Acquire Lock  ${lock_type}
-    ${resp}=  Redfish Post Request  /ibm/v1/HMC/LockService/Actions/LockService.AcquireLock  data=${resp}
+    ${lock_dict_param}=  Form Data To Acquire Lock  ${lock_type}
+    ${resp}=  Redfish Post Request  /ibm/v1/HMC/LockService/Actions/LockService.AcquireLock  data=${lock_dict_param}
     Should Be Equal As Strings  ${resp.status_code}  ${status_code}
     ${resp}=  Return Description Of Response  ${resp.content}
 
@@ -251,14 +279,29 @@
     # message        Return message from URI.
     # status_code    HTTP status code.
 
-    ${resp}=  Form Data To Acquire Invalid Lock  ${lock_type}
-    ${resp}=  Redfish Post Request  /ibm/v1/HMC/LockService/Actions/LockService.AcquireLock  data=${resp}
+    ${lock_dict_param}=  Form Data To Acquire Invalid Lock  ${lock_type}
+    ${resp}=  Redfish Post Request  /ibm/v1/HMC/LockService/Actions/LockService.AcquireLock  data=${lock_dict_param}
     Should Be Equal As Strings  ${resp.status_code}  ${status_code}
     Valid Value  message  ['${resp.content}']
 
     [Return]  ${resp}
 
 
+Redfish Post Acquire Invalid Lock With Invalid Data Type Of Resource ID
+    [Documentation]  Redfish to post request to acquire in-valid lock with invalid data type of resource id.
+    [Arguments]  ${lock_type}  ${status_code}=${HTTP_OK}
+
+    # Description of argument(s):
+    # lock_type      Read lock or Write lock.
+    # status_code    HTTP status code.
+
+    ${lock_dict_param}=  Form Data To Acquire Invalid Lock With Invalid Data Type Of Resource ID  ${lock_type}
+    ${resp}=  Redfish Post Request  /ibm/v1/HMC/LockService/Actions/LockService.AcquireLock  data=${lock_dict_param}
+    Should Be Equal As Strings  ${resp.status_code}  ${status_code}
+
+    [Return]  ${resp}
+
+
 Form Data To Acquire Lock
     [Documentation]  Create a dictionay for lock request.
     [Arguments]  ${lock_type}
@@ -271,9 +314,26 @@
     ...    ${lock_res_info["Valid Case"]["${lock_type}"]}
     ...    ${lock_res_info["Valid Case"]["ResourceID"]}
     ${temp_list}=  Create List  ${resp}
-    ${lock_request}=  Create Dictionary  Request=${temp_list}
+    ${lock_request_dict}=  Create Dictionary  Request=${temp_list}
 
-    [Return]  ${lock_request}
+    [Return]  ${lock_request_dict}
+
+
+Form Data To Acquire Invalid Lock With Invalid Data Type Of Resource ID
+    [Documentation]  Create a dictionay for in-valid lock request.
+    [Arguments]  ${lock_type}
+
+    # Description of argument(s):
+    # lock_type      Read lock or Write lock.
+
+    ${lock_res_info}=  Get Lock Resource Information
+    ${resp}=  RW General Dictionary
+    ...    ${lock_res_info["Valid Case"]["${lock_type}"]}
+    ...    ${lock_res_info["Invalid Case"]["ResourceIDInvalidDataType"]}
+    ${temp_list}=  Create List  ${resp}
+    ${lock_request_dict}=  Create Dictionary  Request=${temp_list}
+
+    [Return]  ${lock_request_dict}
 
 
 Form Data To Acquire Invalid Lock
@@ -288,9 +348,9 @@
     ...    ${lock_res_info["Invalid Case"]["${lock_type}"]}
     ...    ${lock_res_info["Valid Case"]["ResourceID"]}
     ${temp_list}=  Create List  ${resp}
-    ${lock_request}=  Create Dictionary  Request=${temp_list}
+    ${lock_request_dict}=  Create Dictionary  Request=${temp_list}
 
-    [Return]  ${lock_request}
+    [Return]  ${lock_request_dict}
 
 
 Get Locks List On Resource
@@ -358,12 +418,12 @@
     Append To List  ${trans_id_list}  ${trans_id}
     Verify Lock On Resource  ${session_info}  ${trans_id_list}
 
-    ${BEROFE_REBOOT_XAUTH_TOKEN}=  Set Variable  ${XAUTH_TOKEN}
+    ${before_reboot_xauth_token}=  Set Variable  ${XAUTH_TOKEN}
 
     Run Keyword If  '${reboot_flag}' == 'True'
     ...  Run Keywords  Redfish OBMC Reboot (off)  AND
     ...  Redfish Login  AND
-    ...  Set Global Variable  ${XAUTH_TOKEN}  ${BEROFE_REBOOT_XAUTH_TOKEN}  AND
+    ...  Set Global Variable  ${XAUTH_TOKEN}  ${before_reboot_xauth_token}  AND
     ...  Verify Lock On Resource  ${session_info}  ${trans_id_list}  AND
     ...  Release Locks On Resource  ${session_info}  ${trans_id_list}  Transaction  ${HTTP_OK}
 
@@ -483,6 +543,32 @@
     Redfish Delete Session  ${session_info}
 
 
+Verify Acquire Lock After Reboot
+    [Documentation]  Acquire read and write lock after the reboot and release lock.
+    [Arguments]  ${client_id}  ${lock_type}
+
+    # Description of argument(s):
+    # client_id    This client id can contain string value
+    #              (e.g. 12345, "HMCID").
+    # lock_type    Read lock or Write lock.
+
+    ${trans_id_list}=  Create List
+    ${session_info}=  Create Redfish Session With ClientID  ${client_id}
+    ${before_reboot_xauth_token}=  Set Variable  ${XAUTH_TOKEN}
+    Redfish OBMC Reboot (off)
+    Redfish Login
+    Set Global Variable  ${XAUTH_TOKEN}  ${before_reboot_xauth_token}
+
+    ${trans_id}=  Redfish Post Acquire Lock  ${lock_type}
+    Append To List  ${trans_id_list}  ${trans_id}
+    Verify Lock On Resource  ${session_info}  ${trans_id_list}
+    Release Locks On Resource  ${session_info}  ${trans_id_list}  Transaction  ${HTTP_OK}
+
+    ${trans_id_emptylist}=  Create List
+    Verify Lock On Resource  ${session_info}  ${trans_id_emptylist}
+    Redfish Delete Session  ${session_info}
+
+
 Verify Acquire And Release Lock In Loop
     [Documentation]  Acquire lock in loop.
     [Arguments]  ${client_id}  ${lock_type}
@@ -614,8 +700,23 @@
     Redfish Delete Session  ${session_info2}
 
 
+Verify Fail To Acquire Lock For Invalid Resource ID Data Type
+    [Documentation]  Verify fail to acquire the lock with invalid resource id data type.
+    [Arguments]  ${client_id}  ${lock_type}
+
+    # Description of argument(s):
+    # client_id    This client id can contain string value
+    #              (e.g. 12345, "HMCID").
+    # lock_type    Read lock or Write lock.
+
+    ${session_info}=  Create Redfish Session With ClientID  ${client_id}
+    Redfish Post Acquire Invalid Lock With Invalid Data Type Of Resource ID
+    ...  ${lock_type}  status_code=${HTTP_BAD_REQUEST}
+    Redfish Delete Session  ${session_info}
+
+
 Verify Fail To Acquire Lock For Invalid Lock Data
-    [Documentation]  Verify fail to quired lock with invalid lock types, lock flags, segement flags.
+    [Documentation]  Verify fail to acquired lock with invalid lock types, lock flags, segement flags.
     [Arguments]  ${client_id}  ${lock_type}  ${message}
 
     # Description of argument(s):
