Added new test for VMI menu
Changes:
- Added test
"Enable VMI SLAAC When DHCPv6 Is Enabled And Verify"
- Added keyword
"Set VMI DHCPv6 Property"
Tested:
- Ran successfully test_vmi.robot
Change-Id: Ic5c5758616b0089daebc09d83b2400ad432674b1
Signed-off-by: Megha G N <Megha.G.N@ibm.com>
diff --git a/openpower/ext_interfaces/test_vmi.robot b/openpower/ext_interfaces/test_vmi.robot
index afccf95..7962a9e 100644
--- a/openpower/ext_interfaces/test_vmi.robot
+++ b/openpower/ext_interfaces/test_vmi.robot
@@ -34,8 +34,15 @@
&{ENABLE_SLAAC} StatelessAddressAutoConfig=&{SLAAC_ENABLED}
&{DISABLE_SLAAC} StatelessAddressAutoConfig=&{SLAAC_DISABLED}
+&{DHCPv6_ENABLED} OperatingMode=Enabled
+&{DHCPv6_DISABLED} OperatingMode=Disabled
+
+&{ENABLE_DHCPv6} DHCPv6=&{DHCPv6_ENABLED}
+&{DISABLE_DHCPv6} DHCPv6=&{DHCPv6_DISABLED}
+
${default} 0.0.0.0
${default_ipv6addr} ::
+${prefix_length} 64
*** Test Cases ***
@@ -550,6 +557,23 @@
Verify VMI Network Interface Details ${default} Static ${default} ${default}
+Enable VMI SLAAC When DHCPv6 Is Enabled And Verify
+ [Documentation] Enable VMI SLAACv6 when VMI DHCPv6 is enabled and
+ ... check IPv6 gets Slaac address and this works on the setup
+ ... where router advertise network prefix.
+ [Tags] Enable_VMI_SLAAC_When_DHCPv6_Is_Enabled_And_Verify
+
+ Set VMI DHCPv6 Property Enabled
+
+ # Enable SLAAC and check whether IPv6 origin is set to SLAAC.
+ Set VMI SLAACv6 Origin ${True}
+
+ # Check if origin is set to slaac and address are getting displayed.
+ ${vmi_ipv6addr}= Verify VMI IPv6 Address SLAAC
+ Should Not Be Equal ${vmi_ipv6addr["Address"]} ${default_ipv6addr}
+ Should Be Equal ${vmi_ipv6addr["PrefixLength"]} ${prefix_length}
+
+
*** Keywords ***
Suite Setup Execution
@@ -747,3 +771,26 @@
Should Not Be Empty ${vmi_ipv6_config["Address"]}
Should Be Equal As Strings ${vmi_ipv6_config["AddressOrigin"]} ${ipv6_origin}
RETURN &{vmi_ipv6_config}
+
+
+Set VMI DHCPv6 Property
+ [Documentation] Set VMI DHCPv6 attribute.
+ [Arguments] ${dhcpv6_operatingmode}=${Disabled} ${valid_status_code}=${HTTP_ACCEPTED}
+ ... ${interface}=${ethernet_interface}
+
+ # Description of argument(s):
+ # dhcpv6_operatingmode Enabled if user wants to enable DHCPv6.
+ # ... Default is Static, hence value is set to Disabled.
+ # valid_status_code Expected valid status code from PATCH request. Default is HTTP_OK.
+ # interface VMI interface (eg. eth0 or eth1).
+
+ ${data}= Set Variable If '${dhcpv6_operatingmode}' == 'Disabled' ${DISABLE_DHCPv6} ${ENABLE_DHCPv6}
+ ${resp}= Redfish.Patch
+ ... /redfish/v1/Systems/hypervisor/EthernetInterfaces/${interface}
+ ... body=${data} valid_status_codes=[${valid_status_code}]
+
+ Sleep ${wait_time}
+ Return From Keyword If ${valid_status_code} != ${HTTP_ACCEPTED}
+ ${resp}= Redfish.Get
+ ... /redfish/v1/Systems/hypervisor/EthernetInterfaces/${interface}
+ Should Be Equal ${resp.dict["DHCPv6"]["OperatingMode"]} ${dhcpv6_operatingmode}