diff options
author | selias <samelias@cisco.com> | 2016-07-12 16:19:05 +0200 |
---|---|---|
committer | Samuel Eliáš <samelias@cisco.com> | 2016-07-21 13:44:42 +0000 |
commit | 5d2ce55a8641a030ec6984089c51aa9313f46af1 (patch) | |
tree | 850db9abc3f1ca83a42c420eea158459fedd337c /resources/libraries/python/honeycomb/HcAPIKwInterfaces.py | |
parent | 80532e03b9d223407c4b9d2245449dbdc4c03c1b (diff) |
CSIT-49: HC Test: Policy - security groups
- add test suite for ACLs
- add keywords used in tests
- add resource file with variables used in ACL tests
- add methods and VAT templates for reading VPP ACL data
Change-Id: I98c78bfbce67309ae33ebb05c04640f5029bf4e2
Signed-off-by: selias <samelias@cisco.com>
Diffstat (limited to 'resources/libraries/python/honeycomb/HcAPIKwInterfaces.py')
-rw-r--r-- | resources/libraries/python/honeycomb/HcAPIKwInterfaces.py | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py b/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py index ff1589f217..4eaef11bdb 100644 --- a/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py +++ b/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py @@ -307,8 +307,8 @@ class InterfaceKeywords(object): :param node: Honeycomb node. :param interface: The name of interface. - :type interface: str :type node: dict + :type interface: str :return: Operational data about bridge domain settings in the interface. :rtype: dict @@ -1224,27 +1224,36 @@ class InterfaceKeywords(object): node, super_interface, path, None) @staticmethod - def compare_data_structures(data, ref): + def compare_data_structures(data, ref, ignore=()): """Checks if data obtained from UUT is as expected. :param data: Data to be checked. :param ref: Referential data used for comparison. + :param ignore: Dictionary keys to be ignored. :type data: dict :type ref: dict + :type ignore: iterable :raises HoneycombError: If a parameter from referential data is not present in operational data or if it has different value. """ + errors = "" + for key, item in ref.items(): + if key in ignore: + continue try: if data[key] != item: - raise HoneycombError("The value of parameter '{0}' is " - "incorrect. It should be " - "'{1}' but it is '{2}'". - format(key, item, data[key])) + errors += ("\nThe value of parameter '{0}' is " + "incorrect. It should be " + "'{1}' but it is '{2}'". + format(key, item, data[key])) except KeyError: - raise HoneycombError("The parameter '{0}' is not present in " - "operational data".format(key)) + errors += ("\nThe parameter '{0}' is not present in " + "operational data".format(key)) + + if errors: + raise HoneycombError(errors) @staticmethod def compare_interface_lists(list1, list2): |