Added vmi network config testcases

Added testcases:
     -Enable DHCP On VMI Network Via Different Users Roles And Verify
     -Disable DHCP On VMI Network Via Different Users Roles And Verify

Change-Id: I2db71a35f1e7ae6f021e20f3739f378723b7d6c2
Signed-off-by: shrsuman123 <shrsuman@in.ibm.com>
diff --git a/openpower/ext_interfaces/test_vmi.robot b/openpower/ext_interfaces/test_vmi.robot
index 082d63d..b3670e5 100644
--- a/openpower/ext_interfaces/test_vmi.robot
+++ b/openpower/ext_interfaces/test_vmi.robot
@@ -260,6 +260,32 @@
     readonly_user  TestPwd123   ${HTTP_OK}
     noaccess_user  TestPwd123   ${HTTP_FORBIDDEN}
 
+Enable DHCP On VMI Network Via Different Users Roles And Verify
+    [Documentation]  Enable DHCP On VMI Network Via Different Users Roles And Verify.
+    [Tags]  Enable_DHCP_On_VMI_Network_Via_Different_Users_Roles_And_Verify
+    [Setup]  Create Users With Different Roles  users=${USERS}  force=${True}
+    [Template]  Update User Role And Set VMI IPv4 Origin
+    [Teardown]  Delete BMC Users Using Redfish
+
+    # username     password     dhcp_enabled   valid_status_code
+    admin_user     TestPwd123   ${True}        ${HTTP_ACCEPTED}
+    operator_user  TestPwd123   ${True}        ${HTTP_FORBIDDEN}
+    readonly_user  TestPwd123   ${True}        ${HTTP_FORBIDDEN}
+    noaccess_user  TestPwd123   ${True}        ${HTTP_FORBIDDEN}
+
+Disable DHCP On VMI Network Via Different Users Roles And Verify
+    [Documentation]  Disable DHCP On VMI Network Via Different Users Roles And Verify.
+    [Tags]  Disable_DHCP_On_VMI_Network_Via_Different_Users_Roles_And_Verify
+    [Setup]  Create Users With Different Roles  users=${USERS}  force=${True}
+    [Template]  Update User Role And Set VMI IPv4 Origin
+    [Teardown]  Delete BMC Users Using Redfish
+
+    # username     password     dhcp_enabled    valid_status_code
+    admin_user     TestPwd123   ${False}        ${HTTP_ACCEPTED}
+    operator_user  TestPwd123   ${False}        ${HTTP_FORBIDDEN}
+    readonly_user  TestPwd123   ${False}        ${HTTP_FORBIDDEN}
+    noaccess_user  TestPwd123   ${False}        ${HTTP_FORBIDDEN}
+
 
 *** Keywords ***
 
@@ -437,6 +463,10 @@
     ${data}=  Set Variable If  ${dhcp_enabled} == ${False}  ${DISABLE_DHCP}  ${ENABLE_DHCP}
     ${resp}=  Redfish.Patch  /redfish/v1/Systems/hypervisor/EthernetInterfaces/eth0  body=${data}
     ...  valid_status_codes=[${valid_status_code}]
+    Return From Keyword If  ${valid_status_code} != ${HTTP_ACCEPTED}
+    ${resp}=  Redfish.Get
+    ...  /redfish/v1/Systems/hypervisor/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
+    Should Be Equal  ${resp.dict["DHCPv4"]["DHCPEnabled"]}  ${dhcp_enabled}
 
     Return From Keyword If  ${valid_status_code} != ${HTTP_ACCEPTED}
     ${resp}=  Redfish.Get
@@ -513,3 +543,18 @@
 
    Redfish.Login
    Delete BMC Users Via Redfish  users=${USERS}
+
+Update User Role And Set VMI IPv4 Origin
+    [Documentation]  Update User Role And Set VMI IPv4 Origin.
+    [Arguments]  ${username}  ${password}  ${dhcp_enabled}  ${valid_status_code}
+
+    # Description of argument(s):
+    # username            The host username.
+    # password            The host password.
+    # dhcp_enabled        Indicates whether dhcp should be enabled
+    #                     (${True}, ${False}).
+    # valid_status_code   The expected valid status code.
+
+    Redfish.Login  ${username}  ${password}
+    Set VMI IPv4 Origin  ${dhcp_enabled}  ${valid_status_code}
+    Redfish.Logout