BMC redfish update and new test suite for security

Changes:
    - Update bmc redfish to allow user to update credentials.
    - Added test suite test_service_root_security.robot.

Added Test Case:
    - Login To BMCweb With Invalid Credentials

Change-Id: Ia7e8cd6f3cab381ad41f34b6f502e3f92521f692
Signed-off-by: George Keishing <gkeishin@in.ibm.com>
diff --git a/redfish/service_root/test_service_root_security.robot b/redfish/service_root/test_service_root_security.robot
new file mode 100644
index 0000000..7b2bf28
--- /dev/null
+++ b/redfish/service_root/test_service_root_security.robot
@@ -0,0 +1,33 @@
+*** Settings ***
+Resource         ../../lib/resource.txt
+Resource         ../../lib/bmc_redfish_resource.robot
+
+*** Test Cases ***
+
+Login To BMCweb With Invalid Credentials
+    [Documentation]  Login to BMC web using invalid credential.
+    [Tags]  Login_To_BMCweb_With_Invalid_Credentials
+    [Template]  Login And Verify Redfish Response
+
+    # Expect status            Username               Password
+    InvalidCredentialsError*   ${OPENBMC_USERNAME}    deadpassword
+    InvalidCredentialsError*   groot                  ${OPENBMC_PASSWORD}
+    InvalidCredentialsError*   ${EMPTY}               ${OPENBMC_PASSWORD}
+    InvalidCredentialsError*   ${OPENBMC_USERNAME}    ${EMPTY}
+    InvalidCredentialsError*   ${EMPTY}               ${EMPTY}
+
+
+*** Keywords ***
+
+Login And Verify Redfish Response
+    [Documentation]  Login and verify redfish response.
+    [Arguments]  ${expected_response}  ${username}  ${password}
+
+    # Description of arguments:
+    # expected_response   Expected REST status.
+    # username            The username to be used to connect to the server.
+    # password            The password to be used to connect to the server.
+
+    ${data}=  Create Dictionary  username=${username}  password=${password}
+    Run Keyword And Expect Error  ${expected_response}  redfish.Login  ${data}
+