From 68d20c90a35c886cb0b187cb5d6234b232ad0bb4 Mon Sep 17 00:00:00 2001 From: selias Date: Tue, 22 Nov 2016 15:05:19 +0100 Subject: CSIT-460: HC Test: Rework existing PBB tests Rework PBB tests to account for changes in: https://gerrit.fd.io/r/2520 https://gerrit.fd.io/r/1833 Change-Id: Id18027c23e57180b76c8478b010a4e3a69a75e43 Signed-off-by: selias --- .../python/honeycomb/HcAPIKwInterfaces.py | 121 ++++++++++----------- .../robot/honeycomb/provider_backbone_bridge.robot | 21 ++-- 2 files changed, 67 insertions(+), 75 deletions(-) (limited to 'resources/libraries') diff --git a/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py b/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py index 035016c276..3271413d1c 100644 --- a/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py +++ b/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py @@ -85,7 +85,7 @@ class InterfaceKeywords(object): :type interface: str :type data: dict :type data_representation: DataRepresentation - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the status code in response on PUT is not 200 = OK. @@ -106,7 +106,7 @@ class InterfaceKeywords(object): :param node: Honeycomb node. :type node: dict - :return: Configuration data about all interfaces from Honeycomb. + :returns: Configuration data about all interfaces from Honeycomb. :rtype: list :raises HoneycombError: If it is not possible to get configuration data. """ @@ -131,7 +131,7 @@ class InterfaceKeywords(object): :param interface: The name of interface. :type node: dict :type interface: str - :return: Configuration data about the given interface from Honeycomb. + :returns: Configuration data about the given interface from Honeycomb. :rtype: dict """ @@ -147,7 +147,7 @@ class InterfaceKeywords(object): :param node: Honeycomb node. :type node: dict - :return: Operational data about all interfaces from Honeycomb. + :returns: Operational data about all interfaces from Honeycomb. :rtype: list :raises HoneycombError: If it is not possible to get operational data. """ @@ -170,7 +170,7 @@ class InterfaceKeywords(object): :param node: Honeycomb node. :type node: dict - :return: Operational data about disabled interfaces. + :returns: Operational data about disabled interfaces. :rtype: list :raises HoneycombError: If it is not possible to get operational data. """ @@ -199,7 +199,7 @@ class InterfaceKeywords(object): :param interface: The name of interface. :type node: dict :type interface: str - :return: Operational data about the given interface from Honeycomb. + :returns: Operational data about the given interface from Honeycomb. :rtype: dict """ @@ -225,7 +225,7 @@ class InterfaceKeywords(object): :type interface: str :type path: tuple :type new_value: str, dict or list - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If it is not possible to get or set the data. """ @@ -257,7 +257,7 @@ class InterfaceKeywords(object): :type node: dict :type interface: str :type state: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises KeyError: If the argument "state" is nor "up" or "down". :raises HoneycombError: If the interface is not present on the node. @@ -298,7 +298,7 @@ class InterfaceKeywords(object): :param interface: The name of interface. :type node: dict :type interface: str - :return: Content of response + :returns: Content of response :rtype: bytearray """ @@ -312,7 +312,7 @@ class InterfaceKeywords(object): :param interface: The name of interface. :type node: dict :type interface: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -333,7 +333,7 @@ class InterfaceKeywords(object): :type bd_name: str :type split_horizon_group: str :type bvi: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the interface is not present on the node. """ @@ -391,7 +391,7 @@ class InterfaceKeywords(object): :param interface: The name of interface. :type node: dict :type interface: str - :return: Operational data about bridge domain settings in the + :returns: Operational data about bridge domain settings in the interface. :rtype: dict """ @@ -418,7 +418,7 @@ class InterfaceKeywords(object): :type interface: str :type param: str :type value: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the parameter is not valid. """ @@ -443,7 +443,7 @@ class InterfaceKeywords(object): :type interface: str :type param: str :type value: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the parameter is not valid. """ @@ -473,7 +473,7 @@ class InterfaceKeywords(object): :type interface: str :type ip_addr: str :type network: str or int - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the provided netmask or prefix is not valid. """ @@ -504,7 +504,7 @@ class InterfaceKeywords(object): :type interface: str :type ip_addr: str :type network: str or int - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the provided netmask or prefix is not valid. """ @@ -532,7 +532,7 @@ class InterfaceKeywords(object): :param interface: The name of interface. :type node: dict :type interface: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -553,7 +553,7 @@ class InterfaceKeywords(object): :type interface: str :type ip_addr: str :type link_layer_address: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -571,7 +571,7 @@ class InterfaceKeywords(object): :param interface: The name of interface. :type node: dict :type interface: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -593,7 +593,7 @@ class InterfaceKeywords(object): :type interface: str :type param: str :type value: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the parameter is not valid. """ @@ -624,7 +624,7 @@ class InterfaceKeywords(object): :type interface: str :type ip_addr: str :type prefix_len: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -645,7 +645,7 @@ class InterfaceKeywords(object): :type interface: str :type ip_addr: str :type prefix_len: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -663,7 +663,7 @@ class InterfaceKeywords(object): :param interface: The name of interface. :type node: dict :type interface: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -684,7 +684,7 @@ class InterfaceKeywords(object): :type interface: str :type ip_addr: str :type link_layer_address: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -702,7 +702,7 @@ class InterfaceKeywords(object): :param interface: The name of interface. :type node: dict :type interface: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -724,7 +724,7 @@ class InterfaceKeywords(object): :type interface: str :type param: str :type value: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the parameter is not valid. """ @@ -749,7 +749,7 @@ class InterfaceKeywords(object): :type interface: str :type param: str :type value: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the parameter is not valid. """ @@ -773,7 +773,7 @@ class InterfaceKeywords(object): :type node: dict :type interface: str :type kwargs: dict - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the parameter is not valid. """ @@ -802,7 +802,7 @@ class InterfaceKeywords(object): :param interface: The name of interface. :type node: dict :type interface: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If it is not possible to get information about interfaces or it is not possible to delete the interface. @@ -844,7 +844,7 @@ class InterfaceKeywords(object): :type node: dict :type interface: str :type kwargs: dict - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the parameter is not valid. """ @@ -873,7 +873,7 @@ class InterfaceKeywords(object): :type interface: str :type param: str :type value: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the parameter is not valid. """ @@ -896,7 +896,7 @@ class InterfaceKeywords(object): :type node: dict :type interface: str :type kwargs: dict - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the parameter is not valid. """ @@ -935,7 +935,7 @@ class InterfaceKeywords(object): :type node: dict :type interface: str :type kwargs: dict - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the parameter is not valid. """ @@ -969,7 +969,7 @@ class InterfaceKeywords(object): :type node: dict :type interface: str :type kwargs: dict - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the parameter is not valid. """ @@ -997,7 +997,7 @@ class InterfaceKeywords(object): :type node: dict :type interface: str :type kwargs: dict - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the parameter is not valid. """ @@ -1034,7 +1034,7 @@ class InterfaceKeywords(object): :type match: str :type tags: list :type kwargs: dict - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the parameter is not valid. :raises KeyError: If the parameter 'match' is invalid. @@ -1090,7 +1090,7 @@ class InterfaceKeywords(object): :type node: dict :type super_interface: str :type identifier: int - :return: Sub-interface operational data. + :returns: Sub-interface operational data. :rtype: dict :raises HoneycombError: If there is no sub-interface with the given ID. """ @@ -1112,7 +1112,7 @@ class InterfaceKeywords(object): :param super_interface: Super interface. :type node: dict :type super_interface: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -1135,7 +1135,7 @@ class InterfaceKeywords(object): :type super_interface: str :type identifier: int :type state: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -1164,7 +1164,7 @@ class InterfaceKeywords(object): :type super_interface: str :type identifier: int :type config: dict - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -1187,7 +1187,7 @@ class InterfaceKeywords(object): :type node: dict :type super_interface: str :type identifier: int - :return: Operational data about the bridge domain. + :returns: Operational data about the bridge domain. :rtype: dict :raises HoneycombError: If there is no sub-interface with the given ID. """ @@ -1212,7 +1212,7 @@ class InterfaceKeywords(object): :type super_interface: str :type identifier: int :type config: dict - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -1236,7 +1236,7 @@ class InterfaceKeywords(object): :type node: dict :type super_interface: str :type identifier: int - :return: Operational data about tag rewrite. + :returns: Operational data about tag rewrite. :rtype: dict :raises HoneycombError: If there is no sub-interface with the given ID. """ @@ -1266,7 +1266,7 @@ class InterfaceKeywords(object): :type identifier: int :type ip_addr: str :type network: str or int - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the provided netmask or prefix is not valid. """ @@ -1301,7 +1301,7 @@ class InterfaceKeywords(object): :type node: dict :type super_interface: str :type identifier: int - :return: Content of response. + :returns: Content of response. :rtype: bytearray """ @@ -1390,7 +1390,7 @@ class InterfaceKeywords(object): :type node: dict :type interface: str :type kwargs: dict - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If a parameter in kwargs is not valid. """ @@ -1423,7 +1423,7 @@ class InterfaceKeywords(object): :type node: dict :type interface: str :type table_name: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the configuration of interface is not successful. @@ -1462,7 +1462,7 @@ class InterfaceKeywords(object): :param interface: The interface where the ACL will be disabled. :type node: dict :type interface: str - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the configuration of interface is not successful. @@ -1482,28 +1482,25 @@ class InterfaceKeywords(object): return resp @staticmethod - def create_pbb_sub_interface(node, intf, sub_if_id, params): + def create_pbb_sub_interface(node, intf, params): """Creates a PBB sub-interface on the given interface and sets its parameters. :param node: Honeycomb node. :param intf: The interface where PBB sub-interface will be configured. - :param sub_if_id: Sub-interface ID. :param params: Configuration parameters of the sub-interface to be created. :type node: dict :type intf: str - :type sub_if_id: str or int :type params: dict - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the configuration of sub-interface is not successful. """ interface = intf.replace("/", "%2F") - path = "/interface/{0}/sub-interfaces:sub-interfaces/sub-interface/" \ - "{1}".format(interface, sub_if_id) + path = "/interface/{0}/pbb-rewrite/".format(interface) status_code, resp = HcUtil. \ put_honeycomb_data(node, "config_vpp_interfaces", params, path, data_representation=DataRepresentation.JSON) @@ -1514,24 +1511,21 @@ class InterfaceKeywords(object): return resp @staticmethod - def delete_pbb_sub_interface(node, intf, sub_if_id): + def delete_pbb_sub_interface(node, intf): """Deletes the given PBB sub-interface. :param node: Honeycomb node. :param intf: The interface where PBB sub-interface will be deleted. - :param sub_if_id: ID of the PBB sub-interface to be deleted. :type node: dict :type intf: str - :type sub_if_id: str or int - :return: Content of response. + :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the removal of sub-interface is not successful. """ interface = intf.replace("/", "%2F") - path = "/interface/{0}/sub-interfaces:sub-interfaces/sub-interface/" \ - "{1}".format(interface, sub_if_id) + path = "/interface/{0}/pbb-rewrite".format(interface) status_code, resp = HcUtil. \ delete_honeycomb_data(node, "config_vpp_interfaces", path) @@ -1551,14 +1545,13 @@ class InterfaceKeywords(object): :type node: dict :type intf: str :type sub_if_id: str or int - :return: PBB sub-interface operational data. + :returns: PBB sub-interface operational data. :rtype: dict :raises HoneycombError: If the removal of sub-interface is not successful. """ - interface = "{0}.{1}".format(intf, sub_if_id) - return InterfaceKeywords.get_interface_oper_data(node, interface) + raise NotImplementedError @staticmethod def check_disabled_interface(node, interface): @@ -1569,7 +1562,7 @@ class InterfaceKeywords(object): :param interface: Index number of an interface on the node. :type node: dict :type interface: int - :return: True if the interface exists in disabled interfaces. + :returns: True if the interface exists in disabled interfaces. :rtype: bool :raises HoneycombError: If the interface is not present in retrieved list of disabled interfaces. diff --git a/resources/libraries/robot/honeycomb/provider_backbone_bridge.robot b/resources/libraries/robot/honeycomb/provider_backbone_bridge.robot index e088e69a83..dc15742b5b 100644 --- a/resources/libraries/robot/honeycomb/provider_backbone_bridge.robot +++ b/resources/libraries/robot/honeycomb/provider_backbone_bridge.robot @@ -29,13 +29,13 @@ | | ... | | ... | *Example:* | | ... | \| Honeycomb creates PBB sub interface \| ${node} \| ${super_if}\ -| | ... | \| ${cfg_pbb_sub_if_1_ID} \| ${cfg_pbb_sub_if_1} \| +| | ... | \| ${cfg_pbb_sub_if_1} \| | | ... -| | [Arguments] | ${node} | ${super_if} | ${sub_if_id} | ${params} +| | [Arguments] | ${node} | ${super_if} | ${params} | | ... | | IfAPI.Set Interface Up | ${node} | ${super_if} | | IfAPI.Create PBB Sub Interface -| | ... | ${node} | ${super_if} | ${sub_if_id} | ${params} +| | ... | ${node} | ${super_if} | ${params} | Honeycomb Removes PBB Sub Interface | | [Documentation] | Uses Honeycomb API to remove PBB sub-interface from its\ @@ -48,11 +48,11 @@ | | ... | | ... | *Example:* | | ... | \| Honeycomb Removes PBB sub interface\ -| | ... | \| ${node} \| ${super_if} \| ${cfg_pbb_sub_if_1_ID} \| +| | ... | \| ${node} \| ${super_if} \| | | ... -| | [Arguments] | ${node} | ${super_if} | ${sub_if_id} +| | [Arguments] | ${node} | ${super_if} | | ... -| | Delete PBB Sub Interface | ${node} | ${super_if} | ${sub_if_id} +| | Delete PBB Sub Interface | ${node} | ${super_if} | PBB Sub Interface Operational Data From Honeycomb Should Be | | [Documentation] | Retrieves PBB sub-interface operational data from @@ -107,12 +107,11 @@ | | ... | | ... | *Example:* | | ... | \| Honeycomb fails to create PBB sub interface\ -| | ... | \| ${node} \| ${super_if} \| ${cfg_pbb_sub_if_ID}\ -| | ... | \| ${cfg_pbb_sub_if_no_vlan_tag} \| +| | ... | \| ${node} \| ${super_if} \| ${cfg_pbb_sub_if_no_vlan_tag} \| | | ... -| | [Arguments] | ${node} | ${super_if} | ${sub_if_id} | ${params} +| | [Arguments] | ${node} | ${super_if} | ${params} | | ... | | IfAPI.Set Interface Up | ${node} | ${super_if} -| | Run keyword and expect error | *HoneycombError*not successful*code: *00. +| | Run keyword and expect error | *HoneycombError*not successful*. | | ... | IfAPI.Create PBB Sub Interface -| | ... | ${node} | ${super_if} | ${sub_if_id} | ${params} +| | ... | ${node} | ${super_if} | ${params} -- cgit 1.2.3-korg