Added two testcases
1.Enable Multiple Properties via Redfish And Verify
2.Disable Multiple Properties via Redfish And Verify
Change-Id: Ic7255d4fd43c241a25c43aa7a0bd5e00946d9692
Signed-off-by: Anves Kumar rayankula <anvesr77@in.ibm.com>
diff --git a/network/test_bmc_dhcp_conf.robot b/network/test_bmc_dhcp_conf.robot
index 9156337..a8ad9f5 100644
--- a/network/test_bmc_dhcp_conf.robot
+++ b/network/test_bmc_dhcp_conf.robot
@@ -9,95 +9,46 @@
Suite Setup Suite Setup Execution
Suite Teardown Redfish.Logout
+*** Variables ***
+
+&{dhcp_enable_dict} DHCPEnabled=${True}
+&{dhcp_disable_dict} DHCPEnabled=${False}
+
+&{dns_enable_dict} UseDNSServers=${True}
+&{dns_disable_dict} UseDNSServers=${False}
+
+&{ntp_enable_dict} UseNTPServers=${True}
+&{ntp_disable_dict} UseNTPServers=${False}
+
+&{domain_name_enable_dict} UseDomainName=${True}
+&{domain_name_disable_dict} UseDomainName=${False}
+
+&{enable_multiple_properties} UseDomainName=${True}
+... UseNTPServers=${True}
+... UseDNSServers=${True}
+
+&{disable_multiple_properties} UseDomainName=${False}
+... UseNTPServers=${False}
+... UseDNSServers=${False}
+
*** Test Cases ***
-Enable DHCP Via Redfish And Verify
- [Documentation] Enable DHCP via Redfish and verify.
- [Tags] Enable_DHCP_Via_Redfish_And_Verify
- [Teardown] Run Keywords Restore Configuration
- ... AND FFDC On Test Case Fail
- [Template] Apply Ethernet Config
+Set Network Property via Redfish And Verify
+ [Documentation] Set network property via Redfish and verify.
+ [Tags] Set_Network_Property_via_Redfish_And_Verify
+ [Template] Apply Ethernet Config
- # property Value
- 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
- [Template] Apply Ethernet Config
-
- # property Value
- 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
- [Template] Apply Ethernet Config
-
- # property Value
- 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
- [Template] Apply Ethernet Config
-
- # property Value
- 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
- [Template] Apply Ethernet Config
-
- # property Value
- 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
- [Template] Apply Ethernet Config
-
- # property Value
- 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
- [Template] Apply Ethernet Config
-
- # property Value
- 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
- [Template] Apply Ethernet Config
-
- # property Value
- UseNTPServers ${False}
+ # property
+ ${dhcp_enable_dict}
+ ${dhcp_disable_dict}
+ ${dns_enable_dict}
+ ${dns_disable_dict}
+ ${domain_name_enable_dict}
+ ${domain_name_disable_dict}
+ ${ntp_enable_dict}
+ ${ntp_disable_dict}
+ ${enable_multiple_properties}
+ ${disable_multiple_properties}
*** Keywords ***
@@ -155,19 +106,46 @@
Apply Ethernet Config
- [Documentation] Set the given Ethernet config property.
- [Arguments] ${property} ${value}
+ [Documentation] Set the given Ethernet config property.
+ [Arguments] ${property}
+ [Teardown] Run Keywords Restore Configuration AND
+ ... Set Global Variable ${TEST_STATUS} ${KEYWORD STATUS} AND FFDC On Test Case Fail
- # Description of argument(s):
- # property Ethernet property to be set..
- # value Value to be set. E.g. True or False.
+ # Description of argument(s):
+ # property Ethernet property to be set..
- ${active_channel_config}= Get Active Channel Config
- Redfish.Patch
- ... /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}/
- ... body={"DHCPv4":{"${property}":${value}}}
+ ${active_channel_config}= Get Active Channel Config
+ Redfish.Patch
+ ... /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}/
+ ... body={"DHCPv4":${property}} valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
- ${resp}= Redfish.Get
- ... /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
- Should Be Equal As Strings ${resp.dict["DHCPv4"]["${property}"]} ${value}
+ ${resp}= Redfish.Get
+ ... /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
+ Verify Ethernet Config Property ${property} ${resp.dict["DHCPv4"]}
+
+
+Verify Ethernet Config Property
+ [Documentation] verify ethernet config properties.
+ [Arguments] ${property} ${response_data}
+
+ # Description of argument(s):
+ # ${property} DHCP Properties in dictionary.
+ # Example:
+ # property value
+ # DHCPEnabled :False
+ # UseDomainName :True
+ # UseNTPServers :True
+ # UseDNSServers :True
+ # ${response_data} DHCP Response data in dictionary.
+ # Example:
+ # property value
+ # DHCPEnabled :False
+ # UseDomainName :True
+ # UseNTPServers :True
+ # UseDNSServers :True
+
+ ${key_map}= Get Dictionary Items ${property}
+ FOR ${key} ${value} IN @{key_map}
+ Should Be Equal As Strings ${response_data['${key}']} ${value}
+ END