*** Settings ***
| Library | resources.libraries.python.InterfaceUtil
-| ... | WITH NAME | interfaceCLI
| Library | resources.libraries.python.honeycomb.HcAPIKwInterfaces.InterfaceKeywords
-| ... | WITH NAME | InterfaceAPI
*** Variables ***
# Translation table used to convert values received from Honeycomb to values
| | [Arguments] | ${node} | ${interface}
| | ... | ${base_settings} | ${vxlan_gpe_settings}
| | ...
-| | interfaceAPI.Create VxLAN GPE interface
+| | Create VxLAN GPE interface
| | ... | ${node} | ${interface} | &{base_settings} | &{vxlan_gpe_settings}
| Honeycomb removes VxLAN GPE interface
| | ...
| | [Arguments] | ${node} | ${interface}
| | ...
-| | interfaceAPI.Delete interface | ${node} | ${interface}
+| | Delete interface | ${node} | ${interface}
-| VxLAN GPE configuration from Honeycomb should be
+| VxLAN GPE Operational Data From Honeycomb Should Be
| | [Documentation] | Uses Honeycomb API to get operational data about the\
| | ... | given interface and compares them to the values provided as arguments.
| | ...
| | ... | - vxlan_gpe_settings - VxLAN GPE specific parameters. Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| VxLAN GPE configuration from Honeycomb should be \
+| | ... | \| VxLAN GPE Operational Data From Honeycomb Should Be \
| | ... | \| ${nodes['DUT1']} \| vxlan_gpe_tunnel0 \| ${base_params} \
| | ... | \| ${vxlan_gpe_params} \|
| | ...
| | [Arguments] | ${node} | ${interface}
| | ... | ${base_settings} | ${vxlan_gpe_settings}
| | ...
-| | ${api_data}= | interfaceAPI.Get interface oper data | ${node} | ${interface}
+| | ${api_data}= | Get interface oper data | ${node} | ${interface}
| | Should be equal as strings
| | ... | ${api_data['name']} | ${base_settings['name']}
| | Should be equal as strings
| | ... | ${api_data['type']} | v3po:vxlan-gpe-tunnel
-| | Run keyword if | '${base_settings['enabled']}' == 'true'
+| | Run keyword if | $base_settings['enabled'] == True
| | ... | Run keywords
| | ... | Should be equal as strings | ${api_data['admin-status']} | up
| | ... | AND
| | ... | AND
| | ... | Should be equal as strings | ${api_data['oper-status']} | down
-| VxLAN GPE configuration from VAT should be
+| VxLAN GPE Operational Data From VAT Should Be
| | [Documentation] | Uses VAT to get operational data about the given\
| | ... | interface and compares them to the values provided as arguments.
| | ...
| | ... | - vxlan_gpe_settings - VxLAN GPE specific parameters. Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| VxLAN GPE configuration from VAT should be \
+| | ... | \| VxLAN GPE Operational Data From VAT Should Be \
| | ... | \| ${nodes['DUT1']} \| vxlan_gpe_tunnel0 \| ${vxlan_gpe_params} \|
| | ...
| | [Arguments] | ${node} | ${interface} | ${vxlan_gpe_params}
| | ... | ${vat_data['encap_vrf_id']} | ${vxlan_gpe_params['encap-vrf-id']}
| | Should be equal as strings
| | ... | ${vat_data['decap_vrf_id']} | ${vxlan_gpe_params['decap-vrf-id']}
-| | Should be equal as strings | ${vat_data['protocol']}
+# VAT dump multiplies protocol value by 16777216
+| | Should be equal as strings | ${vat_data['protocol']/16777216}
| | ... | ${protocols['${vxlan_gpe_params['next-protocol']}']}
-| Interface indices should be the same from Honeycomb and VAT
-| | [Documentation] | Uses VAT and Honeycomb to get operational data about the\
-| | ... | given interface and compares the interface indexes.
+| VxLAN GPE Interface indices from Honeycomb and VAT should correspond
+| | [Documentation] | Uses VAT and Honeycomb to get operational data about the \
+| | ... | given VxLAN GPE interface and compares the interface indexes. The \
+| | ... | VxLAN GPE interface index from Honeycomb should be greater than \
+| | ... | index from VAT by one.
| | ...
| | ... | *Arguments:*
| | ... | - node - information about a DUT node. Type: dictionary
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Interface indices should be the same from Honeycomb and VAT \
-| | ... | \| ${nodes['DUT1']} \| vxlan_gpe_tunnel0 \|
+| | ... | \| VxLAN GPE Interface indices from Honeycomb and VAT should \
+| | ... | correspond \| ${nodes['DUT1']} \| vxlan_gpe_tunnel0 \|
| | ...
| | [Arguments] | ${node} | ${interface}
| | ...
-| | ${api_data}= | interfaceAPI.Get interface oper data | ${node} | ${interface}
+| | ${api_data}= | Get interface oper data | ${node} | ${interface}
| | ${vat_data}= | VxLAN GPE Dump | ${node} | ${interface}
+| | ${sw_if_index}= | EVALUATE | ${vat_data['sw_if_index']} + 1
| | Should be equal as strings
-| | ... | ${api_data['if-index']} | ${vat_data['sw_if_index']}
+| | ... | ${api_data['if-index']} | ${sw_if_index}
+
+| VxLAN GPE Operational Data From Honeycomb Should Be empty
+| | [Documentation] | Uses Honeycomb API to get operational data about\
+| | ... | the given interface and expects to fail.
+| | ...
+| | ... | *Arguments:*
+| | ... | - node - information about a DUT node. Type: dictionary
+| | ...
+| | ... | *Example:*
+| | ... | \| VxLAN GPE Operational Data From Honeycomb Should Be empty\
+| | ... | \| ${nodes['DUT1']} \| vxlan_gpe_tunnel0 \|
+| | ...
+| | [Arguments] | ${node} | ${interface}
+| | ...
+| | ${api_data}= | Get interface oper data | ${node} | ${interface}
+| | Should be empty | ${api_data}
-| VxLAN GPE configuration from VAT should be empty
+| VxLAN GPE Operational Data From VAT Should Be empty
| | [Documentation] | Uses VAT to get operational data about the given\
-| | ... | interface and expects empty dictionary.
+| | ... | interface and expects an empty dictionary.
| | ...
| | ... | *Arguments:*
| | ... | - node - information about a DUT node. Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| VxLAN GPE configuration from VAT should be empty\
+| | ... | \| VxLAN GPE Operational Data From VAT Should Be empty\
| | ... | \| ${nodes['DUT1']} \|
| | ...
| | [Arguments] | ${node}
| | ... | ${base_settings} | ${vxlan_gpe_settings}
| | ...
| | Run keyword and expect error | *HoneycombError*not successful. * code: *00.
-| | ... | interfaceAPI.Create VxLAN GPE interface
+| | ... | Create VxLAN GPE interface
| | ... | ${node} | ${interface} | &{base_settings} | &{vxlan_gpe_settings}