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):
