diff options
author | selias <samelias@cisco.com> | 2017-01-17 16:59:03 +0100 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2017-01-27 14:54:19 +0000 |
commit | fc42ade3d5c7ed279e867cb55ca42a44db5e706d (patch) | |
tree | efe592ce21ea62d3c6723a994a10eb707966fa11 /resources/libraries | |
parent | c53c0cbad736e937a4a41bf13eff4c5d8b5dcb55 (diff) |
CSIT-506: HC Test- Update and cleanup all suites
- remove EXPECTED_FAILING tag from IPv4 neighbor, IPv6 address, MTU
- fix bridge domain removal with interfaces assigned, it should fail
- fix teardown of L2 FIB suite (bridge domain removal, see above)
- disable vhost-user "server" test cases (VPP bug)
- fix keyword verifying sub-interface state
- update ACL test data (yang model changes)
- remove EXPECTED_FAILING tag from ACL table removal test
- update Jira IDs and comments in failing Lisp test case
- remove EXPECTED_FAILING tag from Lisp removal test case
- use vhost-user "client" instead of "server" in persistence tests
Change-Id: I32eafb6013b4512090c0d9365e10c61029179d49
Signed-off-by: selias <samelias@cisco.com>
Diffstat (limited to 'resources/libraries')
-rw-r--r-- | resources/libraries/python/NAT.py | 9 | ||||
-rw-r--r-- | resources/libraries/python/honeycomb/HcAPIKwInterfaces.py | 9 | ||||
-rw-r--r-- | resources/libraries/robot/honeycomb/interfaces.robot | 27 | ||||
-rw-r--r-- | resources/libraries/robot/honeycomb/nat.robot | 2 | ||||
-rw-r--r-- | resources/libraries/robot/honeycomb/persistence.robot | 6 |
5 files changed, 26 insertions, 27 deletions
diff --git a/resources/libraries/python/NAT.py b/resources/libraries/python/NAT.py index d0e01c7f84..e30381682c 100644 --- a/resources/libraries/python/NAT.py +++ b/resources/libraries/python/NAT.py @@ -64,7 +64,7 @@ class NATUtil(object): "vrf": items[4] }) else: - raise RuntimeError("Unexpected output from span_mapping_dump.") + raise RuntimeError("Unexpected output from snat_mapping_dump.") return data @@ -90,8 +90,9 @@ class NATUtil(object): data = [] for line in lines: items = line.split(" ") - while "" in items: - items.remove("") + for trash in ("", "vat#"): + while trash in items: + items.remove(trash) if len(items) == 0: continue elif len(items) == 3: @@ -102,6 +103,6 @@ class NATUtil(object): }) else: raise RuntimeError( - "Unexpected output from span_interface_dump.") + "Unexpected output from snat_interface_dump.") return data diff --git a/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py b/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py index 1e0883db27..a62cee85c7 100644 --- a/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py +++ b/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py @@ -1143,7 +1143,7 @@ class InterfaceKeywords(object): path = ("interfaces", ("interface", "name", super_interface), "vpp-vlan:sub-interfaces", - ("sub-interface", "identifier", identifier), + ("sub-interface", "identifier", int(identifier)), "enabled") return InterfaceKeywords._set_interface_properties( @@ -1375,10 +1375,11 @@ class InterfaceKeywords(object): else: raise HoneycombError( - "Unexpected data type {data_type}, reference type is" - " {ref_type}. Must be list or dictionary.".format( + "Unexpected data type {data_type} in path {path}, reference" + " type is {ref_type}. Must be list or dictionary.".format( data_type=type(data), - ref_type=type(ref))) + ref_type=type(ref), + path=_path)) @staticmethod def compare_interface_lists(list1, list2): diff --git a/resources/libraries/robot/honeycomb/interfaces.robot b/resources/libraries/robot/honeycomb/interfaces.robot index 765aaef7c0..3c91c77eb7 100644 --- a/resources/libraries/robot/honeycomb/interfaces.robot +++ b/resources/libraries/robot/honeycomb/interfaces.robot @@ -220,25 +220,23 @@ | IPv4 neighbor from Honeycomb should be | | [Documentation] | Retrieves ipv4 neighbor list through Honeycomb\ -| | ... | and compares with neighbor list supplied in argument. +| | ... | and compares the first entry with addresses supplied in arguments. | | ... | | ... | *Arguments:* | | ... | - node - information about a DUT node. Type: dictionary | | ... | - interface - name of an interface on the specified node. Type: string -| | ... | - neighbors - list of ipv4 neighbor dictionaries. Type: list +| | ... | - ip_address - ipv4 address of expected neighbor entry. Type: string +| | ... | - mac_address - MAC address of expected neighbor entry. Type: string | | ... | | ... | *Example:* | | ... | | ... | \| IPv4 neighbor from Honeycomb should be \| ${nodes['DUT1']} \ | | ... | \| GigabitEthernet0/8/0 \| 192.168.0.4 \| 08:00:27:60:26:ab \| -| | [Arguments] | ${node} | ${interface} | @{neighbors} +| | [Arguments] | ${node} | ${interface} | ${ip_address} | ${mac_address} | | ${api_data}= | interfaceAPI.Get interface oper data | ${node} | ${interface} -| | ${data_neighbors}= | Set Variable | ${api_data['ietf-ip:ipv4']['neighbor']} -| | Compare data structures -| | ... | ${data_neighbors} | ${neighbors} -| | Should be equal | ${neighbor['fib_address']} +| | Should be equal | ${ip_address} | | ... | ${api_data['ietf-ip:ipv4']['neighbor'][0]['ip']} -| | Should be equal | ${neighbor['fib_mac']} +| | Should be equal | ${mac_address} | | ... | ${api_data['ietf-ip:ipv4']['neighbor'][0]['link-layer-address']} | Honeycomb clears all interface ipv4 neighbors @@ -290,11 +288,9 @@ | | ... | \| GigabitEthernet0/8/0 \| 10::10 \| 64 \| | | [Arguments] | ${node} | ${interface} | ${address} | ${prefix} | | ${api_data}= | interfaceAPI.Get interface oper data | ${node} | ${interface} -| | Should be equal | ${address} -| | ... | ${api_data['ietf-ip:ipv6']['address'][0]['ip']} -| | Should be equal | ${prefix} -| | ... | ${api_data['ietf-ip:ipv6']['address'][0]['prefix-length']} -| | Should be equal | ${fib_address} +| | ${settings}= | Create Dictionary +| | ... | ip=${address} | prefix-length=${prefix} +| | Should contain | ${api_data['ietf-ip:ipv6']['address']} | ${settings} | IPv6 address from VAT should be | | [Documentation] | Retrieves interface ipv6 address through VAT and\ @@ -313,8 +309,9 @@ | | [Arguments] | ${node} | ${interface} | ${address} | ${prefix} | | ${vpp_data}= | interfaceCLI.VPP get interface ip addresses | | ... | ${node} | ${interface} | ipv6 -| | Should be equal | ${vpp_data[0]['ip']} | ${address} -| | Should be equal | ${vpp_data[0]['prefix-length']} | ${prefix} +| | ${settings}= | Create Dictionary +| | ... | ip=${address} | prefix_length=${prefix} +| | Should contain | ${vpp_data} | ${settings} | Honeycomb sets interface ethernet configuration | | [Documentation] | Uses Honeycomb API to change interface ethernet\ diff --git a/resources/libraries/robot/honeycomb/nat.robot b/resources/libraries/robot/honeycomb/nat.robot index af24d56e37..17cda4763e 100644 --- a/resources/libraries/robot/honeycomb/nat.robot +++ b/resources/libraries/robot/honeycomb/nat.robot @@ -171,4 +171,4 @@ | | ... | \| ${nodes['DUT1']} \| ${settings} \| | | [Arguments] | ${node} | ${settings} | | ${data}= | VPP get NAT interfaces | ${node} -| | Compare data structures | ${data[0]} | ${settings} +| | Compare data structures | ${data} | ${settings} diff --git a/resources/libraries/robot/honeycomb/persistence.robot b/resources/libraries/robot/honeycomb/persistence.robot index 84607a8991..aac920914c 100644 --- a/resources/libraries/robot/honeycomb/persistence.robot +++ b/resources/libraries/robot/honeycomb/persistence.robot @@ -103,7 +103,7 @@ | | Honeycomb creates TAP interface | | ... | ${node} | ${tap_interface} | ${tap_settings} | | Honeycomb creates vhost-user interface -| | ... | ${node} | ${vhost_interface} | ${vhost_user_server} +| | ... | ${node} | ${vhost_interface} | ${vhost_user_client} | | Honeycomb creates sub-interface | ${node} | ${interface} | | ... | ${sub_if_1_match} | ${sub_if_1_tags} | ${sub_if_1_settings} | | Honeycomb sets interface state | ${node} | ${interface} | up @@ -140,9 +140,9 @@ | | TAP configuration from VAT should be | | ... | ${node} | ${tap_interface} | ${tap_settings} | | Vhost-user configuration from Honeycomb should be -| | ... | ${node} | ${vhost_interface} | ${vhost_user_server} +| | ... | ${node} | ${vhost_interface} | ${vhost_user_client} | | Vhost-user configuration from VAT should be -| | ... | ${node} | ${vhost_user_server} +| | ... | ${node} | ${vhost_user_client} | | Sub-interface configuration from Honeycomb should be | | ... | ${node} | ${interface} | ${sub_if_id} | ${sub_if_1_oper} | | Sub-interface configuration from VAT should be |