Added DHCP settings test cases

Signed-off-by: Prashanth Katti <prkatti1@in.ibm.com>
Change-Id: I666ce8b5f1d8da03109bcdfab7c7b3ac1b5b3712
diff --git a/network/test_bmc_dhcp_conf.robot b/network/test_bmc_dhcp_conf.robot
index 5ebbc5e..bcc0949 100644
--- a/network/test_bmc_dhcp_conf.robot
+++ b/network/test_bmc_dhcp_conf.robot
@@ -22,10 +22,123 @@
     ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}/
     ...  body={"DHCPv4":{"DHCPEnabled":${True}}}
 
-    ${resp}=  Redfish.Get  ${REDFISH_NW_ETH0_URI}
+    ${resp}=  Redfish.Get
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
     Should Be Equal As Strings  ${resp.dict["DHCPv4"]["DHCPEnabled"]}  ${True}
 
 
+Disable DHCP Via Redfish And Verify
+    [Documentation]  Disable DHCP via Redfish and verify.
+    [Tags]  Disable_DHCP_Via_Redfish_And_Verify
+    [Teardown]  Run Keywords  Restore Configuration
+    ...  AND  FFDC On Test Case Fail
+
+    ${active_channel_config}=  Get Active Channel Config
+    Redfish.Patch
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}/
+    ...  body={"DHCPv4":{"DHCPEnabled":${False}}}
+
+    ${resp}=  Redfish.Get
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
+    Should Be Equal As Strings  ${resp.dict["DHCPv4"]["DHCPEnabled"]}  ${False}
+
+
+Enable UseDNSServers Via Redfish And Verify
+    [Documentation]  Enable UseDNSServers via Redfish and verify.
+    [Tags]  Enable_UseDNSServers_Via_Redfish_And_Verify
+    [Teardown]  Run Keywords  Restore Configuration
+    ...  AND  FFDC On Test Case Fail
+
+    ${active_channel_config}=  Get Active Channel Config
+    Redfish.Patch
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}/
+    ...  body={"DHCPv4":{"UseDNSServers":${True}}}
+
+    ${resp}=  Redfish.Get
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
+    Should Be Equal As Strings  ${resp.dict["DHCPv4"]["UseDNSServers"]}  ${True}
+
+
+Disable UseDNSServers Via Redfish And Verify
+    [Documentation]  Disable UseDNSServers via Redfish and verify.
+    [Tags]  Disable_UseDNSServers_Via_Redfish_And_Verify
+    [Teardown]  Run Keywords  Restore Configuration
+    ...  AND  FFDC On Test Case Fail
+
+    ${active_channel_config}=  Get Active Channel Config
+    Redfish.Patch
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}/
+    ...  body={"DHCPv4":{"UseDNSServers":${False}}}
+
+    ${resp}=  Redfish.Get
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
+    Should Be Equal As Strings  ${resp.dict["DHCPv4"]["UseDNSServers"]}  ${False}
+
+
+Enable UseDomainName Via Redfish And Verify
+    [Documentation]  Enable UseDomainName via Redfish and verify.
+    [Tags]  Enable_UseDomainName_Via_Redfish_And_Verify
+    [Teardown]  Run Keywords  Restore Configuration
+    ...  AND  FFDC On Test Case Fail
+
+    ${active_channel_config}=  Get Active Channel Config
+    Redfish.Patch
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}/
+    ...  body={"DHCPv4":{"UseDomainName":${True}}}
+
+    ${resp}=  Redfish.Get
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
+    Should Be Equal As Strings  ${resp.dict["DHCPv4"]["UseDomainName"]}  ${True}
+
+
+Disable UseDomainName Via Redfish And Verify
+    [Documentation]  Disable UseDomainName via Redfish and verify.
+    [Tags]  Disable_UseDomainName_Via_Redfish_And_Verify
+    [Teardown]  Run Keywords  Restore Configuration
+    ...  AND  FFDC On Test Case Fail
+
+    ${active_channel_config}=  Get Active Channel Config
+    Redfish.Patch
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}/
+    ...  body={"DHCPv4":{"UseDomainName":${False}}}
+
+    ${resp}=  Redfish.Get
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
+    Should Be Equal As Strings  ${resp.dict["DHCPv4"]["UseDomainName"]}  ${False}
+
+
+Enable UseNTPServers Via Redfish And Verify
+    [Documentation]  Enable UseNTPServers via Redfish and verify.
+    [Tags]  Enable_UseNTPServers_Via_Redfish_And_Verify
+    [Teardown]  Run Keywords  Restore Configuration
+    ...  AND  FFDC On Test Case Fail
+
+    ${active_channel_config}=  Get Active Channel Config
+    Redfish.Patch
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}/
+    ...  body={"DHCPv4":{"UseNTPServers":${True}}}
+
+    ${resp}=  Redfish.Get
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
+    Should Be Equal As Strings  ${resp.dict["DHCPv4"]["UseNTPServers"]}  ${True}
+
+
+Disable UseNTPServers Via Redfish And Verify
+    [Documentation]  Disable UseNTPServers via Redfish and verify.
+    [Tags]  Disable_UseNTPServers_Via_Redfish_And_Verify
+    [Teardown]  Run Keywords  Restore Configuration
+    ...  AND  FFDC On Test Case Fail
+
+    ${active_channel_config}=  Get Active Channel Config
+    Redfish.Patch
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}/
+    ...  body={"DHCPv4":{"UseNTPServers":${False}}}
+
+    ${resp}=  Redfish.Get
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
+    Should Be Equal As Strings  ${resp.dict["DHCPv4"]["UseNTPServers"]}  ${False}
+
+
 *** Keywords ***
 
 Suite Setup Execution