Added two more redfish local user management test cases

Test cases added:
1) Create same username with different privileges and verify it is not allowed.
2) Verify modifying parameters of redfish users.

Change-Id: Ic67ee182c40f46189d82a9b419ce51eb7d43fa34
Signed-off-by: Sandhya Somashekar <sansomas@in.ibm.com>
diff --git a/redfish/account_service/test_user_account.robot b/redfish/account_service/test_user_account.robot
index 6e57893..69328ff 100644
--- a/redfish/account_service/test_user_account.robot
+++ b/redfish/account_service/test_user_account.robot
@@ -82,10 +82,10 @@
     Redfish Verify User  callback_user  TestPwd123  Callback        ${True}
 
     # Delete created users.
-    Redfish.Delete  /redfish/v1/AccountService/Accounts/admin_user
-    Redfish.Delete  /redfish/v1/AccountService/Accounts/operator_user
-    Redfish.Delete  /redfish/v1/AccountService/Accounts/user_user
-    Redfish.Delete  /redfish/v1/AccountService/Accounts/callback_user
+    Redfish.Delete  ${REDFISH_ACCOUNTS_URI}admin_user
+    Redfish.Delete  ${REDFISH_ACCOUNTS_URI}operator_user
+    Redfish.Delete  ${REDFISH_ACCOUNTS_URI}user_user
+    Redfish.Delete  ${REDFISH_ACCOUNTS_URI}callback_user
 
 Verify User Creation With Invalid Role Id
     [Documentation]  Verify user creation with invalid role id.
@@ -101,6 +101,64 @@
     Redfish.Post  ${REDFISH_ACCOUNTS_URI}  body=&{payload}
     ...  valid_status_codes=[${HTTP_BAD_REQUEST}]
 
+Verify Error Upon Creating Same Users With Different Privileges
+    [Documentation]  Verify error upon creating same users with different privileges.
+    [Tags]  Verify_Error_Upon_Creating_Same_Users_With_Different_Privileges
+
+    Redfish Create User  test_user  TestPwd123  Administrator  ${True}
+
+    # Create specified user.
+    ${payload}=  Create Dictionary
+    ...  UserName=test_user  Password=TestPwd123  RoleId=Operator  Enabled=${True}
+    Redfish.Post  ${REDFISH_ACCOUNTS_URI}  body=&{payload}
+    ...  valid_status_codes=[${HTTP_BAD_REQUEST}]
+
+
+Verify Modifying User Attributes
+    [Documentation]  Verify modifying user attributes.
+    [Tags]  Verify_Modifying_User_Attributes
+
+    # Create Redfish users.
+    Redfish Create User  admin_user     TestPwd123  Administrator   ${True}
+    Redfish Create User  operator_user  TestPwd123  Operator        ${True}
+    Redfish Create User  user_user      TestPwd123  User            ${True}
+    Redfish Create User  callback_user  TestPwd123  Callback        ${True}
+
+    Redfish.Login
+
+    # Make sure the new user account does not already exist.
+    Redfish.Delete  ${REDFISH_ACCOUNTS_URI}newadmin_user
+    ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NOT_FOUND}]
+
+    # Update admin_user username using Redfish.
+    ${payload}=  Create Dictionary  UserName=newadmin_user
+    Redfish.Patch  ${REDFISH_ACCOUNTS_URI}admin_user  body=&{payload}
+
+    # Update operator_user password using Redfish.
+    ${payload}=  Create Dictionary  Password=NewTestPwd123
+    Redfish.Patch  ${REDFISH_ACCOUNTS_URI}operator_user  body=&{payload}
+
+    # Update user_user role using Redfish.
+    ${payload}=  Create Dictionary  RoleId=Operator
+    Redfish.Patch  ${REDFISH_ACCOUNTS_URI}user_user  body=&{payload}
+
+    # Update callback_user to disable using Redfish.
+    ${payload}=  Create Dictionary  Enabled=${False}
+    Redfish.Patch  ${REDFISH_ACCOUNTS_URI}callback_user  body=&{payload}
+
+    # Verify users after updating
+    Redfish Verify User  newadmin_user  TestPwd123     Administrator   ${True}
+    Redfish Verify User  operator_user  NewTestPwd123  Operator        ${True}
+    Redfish Verify User  user_user      TestPwd123     Operator        ${True}
+    Redfish Verify User  callback_user  TestPwd123     Callback        ${False}
+
+    # Delete created users.
+    Redfish.Delete  ${REDFISH_ACCOUNTS_URI}newadmin_user
+    Redfish.Delete  ${REDFISH_ACCOUNTS_URI}operator_user
+    Redfish.Delete  ${REDFISH_ACCOUNTS_URI}user_user
+    Redfish.Delete  ${REDFISH_ACCOUNTS_URI}callback_user
+
+
 
 *** Keywords ***
 
@@ -128,6 +186,8 @@
     # enabled             Indicates whether the username being created
     #                     should be enabled (${True}, ${False}).
 
+    Redfish.Login
+
     # Make sure the user account in question does not already exist.
     Redfish.Delete  ${REDFISH_ACCOUNTS_URI}${userName}
     ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NOT_FOUND}]
@@ -152,7 +212,7 @@
 
     # Validate Role Id of created user.
     ${role_config}=  Redfish_Utils.Get Attribute
-    ...  /redfish/v1/AccountService/Accounts/${username}  RoleId
+    ...  ${REDFISH_ACCOUNTS_URI}${username}  RoleId
     Should Be Equal  ${role_id}  ${role_config}
 
 
@@ -179,7 +239,7 @@
 
     # Validate Role Id of user.
     ${role_config}=  Redfish_Utils.Get Attribute
-    ...  /redfish/v1/AccountService/Accounts/${username}  RoleId
+    ...  ${REDFISH_ACCOUNTS_URI}${username}  RoleId
     Should Be Equal  ${role_id}  ${role_config}
 
 
@@ -214,7 +274,7 @@
     Redfish Verify User  ${username}  ${password}  ${role_id}  ${enabled}
 
     # Delete Specified User
-    Redfish.Delete  /redfish/v1/AccountService/Accounts/${username}
+    Redfish.Delete  ${REDFISH_ACCOUNTS_URI}${username}
 
 Verify Redfish User with Wrong Password
     [Documentation]  Verify Redfish User with Wrong Password.
@@ -295,4 +355,4 @@
     Redfish.Login
 
     # Delete newly created user.
-    Redfish.Delete  /redfish/v1/AccountService/Accounts/${username}
+    Redfish.Delete  ${REDFISH_ACCOUNTS_URI}${username}