diff --git a/redfish/session_service/test_sessions_management.robot b/redfish/session_service/test_sessions_management.robot
index b10a869..5d0c314 100644
--- a/redfish/session_service/test_sessions_management.robot
+++ b/redfish/session_service/test_sessions_management.robot
@@ -69,3 +69,90 @@
     Valid Value  session_properties['Name']  ['User Session']
     Valid Value  session_properties['Id']  ['${session_id}']
     Valid Value  session_properties['UserName']  ['${OPENBMC_USERNAME}']
+
+
+Verify Managers Defaults
+    [Documentation]  Verify managers defaults.
+    [Tags]  Verify_Managers_Defaults
+
+    ${managers}=  Redfish.Get Properties  /redfish/v1/Managers
+    Rprint Vars  managers
+    ${managers_count}=  Get Length  ${managers['Members']}
+
+    Valid Value  managers['@odata.context']  ['/redfish/v1/$metadata#ManagerCollection.ManagerCollection']
+    Valid Value  managers['Name']  ['Manager Collection']
+    Valid Value  managers['@odata.id']  ['/redfish/v1/Managers']
+    Valid Value  managers['Members@odata.count']  [${managers_count}]
+
+    # Members can be one or more, hence checking in the list
+    Valid List  managers['Members']  required_values=[{'@odata.id': '/redfish/v1/Managers/bmc'}]
+
+
+Verify Chassis Defaults
+    [Documentation]  Verify chassis defaults.
+    [Tags]  Verify_Chassis_Defaults
+
+    ${chassis}=  Redfish.Get Properties  /redfish/v1/Chassis
+    Rprint Vars  chassis
+    ${chassis_count}=  Get Length  ${chassis['Members']}
+
+    Valid Value  chassis['@odata.context']  ['/redfish/v1/$metadata#ChassisCollection.ChassisCollection']
+    Valid Value  chassis['Name']  ['Chassis Collection']
+    Valid Value  chassis['@odata.id']  ['/redfish/v1/Chassis']
+    Valid Value  chassis['Members@odata.count']  [${chassis_count}]
+    Valid Value  chassis['Members@odata.count']  [${chassis_count}]
+
+    # Members can be one or more, hence checking in the list
+    Log To Console  ${chassis['Members']}
+    Valid List  chassis['Members']
+    ...  required_values=[{'@odata.id': '/redfish/v1/Chassis/chassis'}]
+
+
+Verify Systems Defaults
+    [Documentation]  Verify systems defaults.
+    [Tags]  Verify_Systems_Defaults
+
+    ${systems}=  Redfish.Get Properties  /redfish/v1/Systems
+    Rprint Vars  systems
+    ${systems_count}=  Get Length  ${systems['Members']}
+
+    Valid Value  systems['@odata.context']
+    ...  ['/redfish/v1/$metadata#ComputerSystemCollection.ComputerSystemCollection']
+    Valid Value  systems['Name']  ['Computer System Collection']
+    Valid Value  systems['@odata.id']  ['/redfish/v1/Systems']
+    Valid Value  systems['Members@odata.count']  [${systems_count}]
+    Valid Value  systems['Members@odata.count']  [${systems_count}]
+    # Members can be one or more, hence checking in the list
+    Valid List  systems['Members']  required_values=[{'@odata.id': '/redfish/v1/Systems/system'}]
+
+
+Verify Session Persistency After BMC Reboot
+    [Documentation]  Verify session persistency after BMC reboot.
+    [Tags]  Verify_Session_Persistency_After_BMC_Reboot
+
+    # Note the current session location
+    ${session_location}=  Redfish.Get Session Location
+
+    Redfish OBMC Reboot (off)  stack_mode=normal
+    Redfish.Login
+
+    # Check for session persistency after BMC reboot
+    # sessions here will have list of all sessions location
+    ${sessions}=  Redfish.Get Attribute  /redfish/v1/SessionService/Sessions  Members
+    ${payload}=  Create Dictionary  @odata.id=${session_location}
+
+    List Should Contain Value  ${sessions}  ${payload}
+
+
+REST Logging Interface Read Should Be A SUCCESS For Authorized Users
+    [Documentation]  REST logging interface read should be a success for authorized users.
+    [Tags]    REST_Logging_Interface_Read_Should_Be_A_SUCCESS_For_Authorized_Users
+
+    ${resp}=  Redfish.Get  /xyz/openbmc_project/logging
+
+    ${resp_output}=  evaluate  json.loads('''${resp.text}''')  json
+    ${log_count}=  Get Length  ${resp_output["data"]}
+
+    # Max 200 error logs are allowed in OpenBmc
+    Run Keyword Unless   ${-1} < ${log_count} < ${201}  Fail
+
