diff --git a/tests_ldap/test_user_ldap_management.robot b/tests_ldap/test_user_ldap_management.robot
index 59957ad..13828bb 100644
--- a/tests_ldap/test_user_ldap_management.robot
+++ b/tests_ldap/test_user_ldap_management.robot
@@ -3,6 +3,7 @@
 
 Resource         ../lib/rest_client.robot
 Resource         ../lib/openbmc_ffdc.robot
+Library          ../lib/bmc_ssh_utils.py
 
 Suite Setup      Suite Setup Execution
 Test Teardown    FFDC On Test Case Fail
@@ -11,20 +12,19 @@
 
 *** Test Cases ***
 
-Verify LDAP Client Service Is Running And API Available
+Verify LDAP API Available
     [Documentation]  Verify LDAP client service is running and API available.
-    [Tags]  Verify_LDAP_Client_Service_Is_Running_And_API_Available
+    [Tags]  Verify_LDAP_API_Available
 
-    Check LDAP Service Running
     ${resp}=  Read Properties  ${BMC_LDAP_URI}
-    Should Not Be Empty  ${resp}
+    Should Be Empty  ${resp}
 
 
 Verify LDAP Config Is Created
     [Documentation]  Verify LDAP config is created in BMC.
     [Tags]  Verify_LDAP_Config_Is_Created
 
-    Populate All Attributes for LDAP Config
+    Configure LDAP Server On BMC
     Check LDAP Config File Generated
 
 
@@ -40,11 +40,13 @@
     [Documentation]  Verify LDAP user able to login using REST.
     [Tags]  Verify_LDAP_User_Able_To_Login_Using_REST
 
-    Populate All Attributes for LDAP Config
+    Configure LDAP Server On BMC
     Check LDAP Config File Generated
+    Log Out OpenBMC
+    Sleep  60s
 
     # REST Login to BMC with LDAP user and password.
-    Initialize OpenBMC  OPENBMC_USER=${LDAP_USER}
+    Initialize OpenBMC  60  1  OPENBMC_USER=${LDAP_USER}
     ...  OPENBMC_PASSWORD=${LDAP_USER_PASSWORD}
 
     ${bmc_user_uris}=  Read Properties  ${BMC_USER_URI}list
@@ -55,23 +57,75 @@
     [Documentation]  Verify LDAP user able to logout using REST.
     [Tags]  Verify_LDAP_User_Able_To_Logout_Using_REST
 
-    Populate All Attributes for LDAP Config
+    Configure LDAP Server On BMC
+    Sleep  60s
     Check LDAP Config File Generated
+    Log Out OpenBMC
+    Sleep  60s
 
     # REST Login to BMC with LDAP user and password.
-    Initialize OpenBMC  OPENBMC_USER=${LDAP_USER}
+    Initialize OpenBMC  60  1  OPENBMC_USER=${LDAP_USER}
     ...  OPENBMC_PASSWORD=${LDAP_USER_PASSWORD}
 
     # REST Logout from BMC.
     Log Out OpenBMC
 
-Verify LDAP Secure_Mode Is Set
-    [Documentation]  Verify LDAP Secure Mode is set using REST.
-    [Tags]  Verify_LDAP_Secure_Mode_Is_Set
 
-    ${ldap_mode}=  Create Dictionary  data=${False}
-    Write Attribute  ${BMC_LDAP_URI}/config/attr/LDAPType  data=${ldap_mode}
-    ...  verify=${True}  expected_value=${False}
+Verify LDAP Server URI Is Set
+    [Documentation]  Verify LDAP Server URI is set using REST.
+    [Tags]  Verify_LDAP_Server_URI_Is_Set
+
+    # Example: LDAP URI should be either ldap://<LDAP IP / Hostname> or
+    # ldaps://<LDAP IP / Hostname>
+    Should Contain  ${LDAP_SERVER_URI}  ldap
+    ${ldap_server}=  Create Dictionary  data=${LDAP_SERVER_URI}
+    Write Attribute  ${BMC_LDAP_URI}/config  LDAPServerURI  data=${ldap_server}
+    ...  verify=${True}  expected_value=${LDAP_SERVER_URI}
+
+
+Verify LDAP Server BIND DN Is Set
+    [Documentation]  Verify LDAP BIND DN is set using REST.
+    [Tags]  Verify_LDAP_Server_BIND_DN_Is_Set
+
+    ${ldap_server_binddn}=  Create Dictionary  data=${LDAP_BIND_DN}
+    Write Attribute  ${BMC_LDAP_URI}/config  LDAPBindDN  data=${ldap_server_binddn}
+    ...  verify=${True}  expected_value=${LDAP_BIND_DN}
+
+
+Verify LDAP Server BASE DN Is Set
+    [Documentation]  Verify LDAP BASE DN is set using REST.
+    [Tags]  Verify_LDAP_Server_BASE_DN_Is_Set
+
+    ${ldap_server_basedn}=  Create Dictionary  data=${LDAP_BASE_DN}
+    Write Attribute  ${BMC_LDAP_URI}/config  LDAPBaseDN  data=${ldap_server_basedn}
+    ...  verify=${True}  expected_value=${LDAP_BASE_DN}
+
+
+Verify LDAP Server Type Is Set
+    [Documentation]  Verify LDAP server type is set using REST.
+    [Tags]  Verify_LDAP_Server_Type_Is_Set
+
+    ${ldap_type}=  Create Dictionary  data=${LDAP_SERVER_TYPE}
+    Write Attribute  ${BMC_LDAP_URI}/config   LDAPType  data=${ldap_type}
+    ...  verify=${True}  expected_value=${LDAP_SERVER_TYPE}
+
+
+Verify LDAP Search Scope Is Set
+    [Documentation]  Verify LDAP search scope is set using REST.
+    [Tags]  Verify_LDAP_Search_Scope_Is_Set
+
+    ${search_scope}=  Create Dictionary  data=${LDAP_SEARCH_SCOPE}
+    Write Attribute  ${BMC_LDAP_URI}/config   LDAPSearchScope  data=${search_scope}
+    ...  verify=${True}  expected_value=${LDAP_SEARCH_SCOPE}
+
+
+Verify LDAP Binddn Password Is Set
+    [Documentation]  Verify LDAP Binddn password is set using REST.
+    [Tags]  Verify_LDAP_Binddn_Password_Is_Set
+
+    ${ldap_binddn_passwd}=  Create Dictionary  data=${LDAP_BIND_DN_PASSWORD}
+    Write Attribute  ${BMC_LDAP_URI}/config  LDAPBINDDNpassword  data=${ldap_binddn_passwd}
+    ...  verify=${True}  expected_value=${LDAP_BIND_DN_PASSWORD}
 
 
 *** Keywords ***
@@ -79,25 +133,26 @@
 Suite Setup Execution
     [Documentation]  Check for LDAP test readiness.
 
-    Should Not Be Empty  ${LDAP_SECURE_MODE}
     Should Not Be Empty  ${LDAP_SERVER_URI}
     Should Not Be Empty  ${LDAP_BIND_DN}
     Should Not Be Empty  ${LDAP_BASE_DN}
     Should Not Be Empty  ${LDAP_BIND_DN_PASSWORD}
     Should Not Be Empty  ${LDAP_SEARCH_SCOPE}
     Should Not Be Empty  ${LDAP_SERVER_TYPE}
-    Check LDAP Service Running
 
 Check LDAP Service Running
     [Documentation]  Check LDAP service running in BMC.
 
     BMC Execute Command  systemctl | grep -in ldap
 
-Populate All Attributes for LDAP Config
-    [Documentation]  Populate all attributes for LDAP configuration.
 
-    @{ldap_parm_list}=  Create List  xyz.openbmc_project.User.Ldap.Create
-    ...  ${LDAP_SECURE_MODE}  ${LDAP_SERVER_URI}  ${LDAP_BIND_DN}
+Configure LDAP Server On BMC
+    [Documentation]  Configure LDAP Server On BMC.
+
+    ${LDAP_SECURE_MODE} =   Convert To Boolean    ${LDAP_SECURE_MODE}
+
+    @{ldap_parm_list}=  Create List
+    ...  ${LDAP_SERVER_URI}  ${LDAP_BIND_DN}
     ...  ${LDAP_BASE_DN}  ${LDAP_BIND_DN_PASSWORD}  ${LDAP_SEARCH_SCOPE}
     ...  ${LDAP_SERVER_TYPE}
 
@@ -107,26 +162,36 @@
     ...  ${BMC_LDAP_URI}/action/CreateConfig  data=${data}
     Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
 
+
 Check LDAP Config File Generated
     [Documentation]  Check LDAP file nslcd.conf generated.
     [Arguments]  ${ldap_server}=${LDAP_SERVER_URI}
 
-    ${ldap_server_config}  ${stderr}  ${rc}=  BMC Execute Command
-    ...  cat /etc/nslcd.conf
+    # Description of argument(s):
+    # Non-Secured ldap_server  Contains ldap server URI eg. (e.g. "ldap://x.x.x.x/").
+    # Secured ldap_server  Contains ldap server URI eg. (e.g. "ldaps://x.x.x.x/").
 
+    ${ldap_server_config}=  Read Properties  ${BMC_USER_URI}ldap/enumerate
+    ${ldap_server_config}=  Convert To String  ${ldap_server_config}
     Should Contain  ${ldap_server_config}  ${ldap_server}
     ...  msg=${ldap_server} is not configured.
 
+
 Delete LDAP Config
     [Documentation]  Delete LDAP Config from REST.
 
     ${data}=  Create Dictionary  data=@{EMPTY}
     ${resp}=  OpenBMC Post Request
-    ...  ${BMC_LDAP_URI}/action/delete  data=${data}
+    ...  ${BMC_LDAP_URI}/config/action/delete  data=${data}
 
     Should Be Equal As Strings  ${resp.status_code}  ${HTTP_OK}
 
+
 Check LDAP Config File Deleted
     [Documentation]  Check LDAP file nslcd.conf deleted.
 
-    BMC Execute Command  [ ! -f /etc/nslcd.conf ]
+    ${ldap_server_config}=  Read Properties  ${BMC_USER_URI}ldap/enumerate
+    ${ldap_server_config}=  Convert To String  ${ldap_server_config}
+
+    Should Not Contain  ${ldap_server_config}  ${LDAP_SERVER_URI}
+    ...  msg=${ldap_server_config} is not configured.
