Delete test users at the end of suites wherever created

Signed-off-by: Vijay Kantanavar <vikantan@in.ibm.com>
Change-Id: I55ad1f8a9f7fa7ea94f5a0d3495889e6423b8ae9
diff --git a/lib/bmc_redfish_utils.robot b/lib/bmc_redfish_utils.robot
index aca2950..718cc44 100644
--- a/lib/bmc_redfish_utils.robot
+++ b/lib/bmc_redfish_utils.robot
@@ -198,3 +198,16 @@
       Redfish Create User  ${users['${role}'][0]}  ${users['${role}']}[1]  ${role}  ${True}  ${force}
     END
 
+
+Delete BMC Users Via Redfish
+    [Documentation]  Delete BMC users via redfish.
+    [Arguments]  ${users}
+
+    # Description of argument(s):
+    # users    Dictionary of roles and user credentials to be deleted.
+
+    FOR  ${role}  IN  @{users}
+        Redfish.Delete  /redfish/v1/AccountService/Accounts/${users['${role}'][0]}
+        ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NOT_FOUND}]
+    END
+
diff --git a/openpower/ext_interfaces/test_savearea_management.robot b/openpower/ext_interfaces/test_savearea_management.robot
index 74e14e3..e95b15a 100644
--- a/openpower/ext_interfaces/test_savearea_management.robot
+++ b/openpower/ext_interfaces/test_savearea_management.robot
@@ -8,8 +8,9 @@
 Resource          ../../lib/bmc_redfish_utils.robot
 Resource          ../../lib/utils.robot
 
-Suite Setup    Suite Setup Execution
-Test Teardown  Test Teardown Execution
+Suite Setup       Suite Setup Execution
+Test Teardown     Test Teardown Execution
+Suite Teardown    Suite Teardown Execution
 
 
 *** Variables ***
@@ -404,9 +405,7 @@
 
     # Create different user accounts.
     Redfish.Login
-    Create Users With Different Roles  users=${USERS}  force=${True}
-    Redfish.Logout
-
+    Create Users With Different Roles  users=${USERS}  force=${True} 
     # Get REST session to BMC.
     Initialize OpenBMC
 
@@ -417,3 +416,9 @@
     Delete And Verify All Partitions on BMC
     FFDC On Test Case Fail
 
+
+Suite Teardown Execution
+    [Documentation]  Suite teardown execution.
+
+    Delete BMC Users Via Redfish  users=${USERS}
+    Delete All Sessions
diff --git a/redfish/session_service/test_sessions_management.robot b/redfish/session_service/test_sessions_management.robot
index c72eca9..2240d4b 100644
--- a/redfish/session_service/test_sessions_management.robot
+++ b/redfish/session_service/test_sessions_management.robot
@@ -8,15 +8,18 @@
 Resource         ../../lib/openbmc_ffdc.robot
 
 Suite Setup      Suite Setup Execution
-Suite Teardown   Redfish.Logout
+Suite Teardown   Suite Teardown Execution
 Test Setup       Printn
 Test Teardown    FFDC On Test Case Fail
 
+
 *** Variables ***
+
 @{ADMIN}       admin_user  TestPwd123
 @{OPERATOR}    operator_user  TestPwd123
 &{USERS}       Administrator=${ADMIN}  Operator=${OPERATOR}
 
+
 *** Test Cases ***
 
 Create Session And Verify Response Code Using Different Credentials
@@ -189,3 +192,10 @@
 
     Redfish.Login
     Create Users With Different Roles  users=${USERS}  force=${True}
+
+
+Suite Teardown Execution
+    [Documentation]  Suite teardown execution.
+
+    Delete BMC Users Via Redfish  users=${USERS}
+    Redfish.Logout