aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/honeycomb
diff options
context:
space:
mode:
authorselias <samelias@cisco.com>2016-07-12 16:19:05 +0200
committerSamuel Eliáš <samelias@cisco.com>2016-07-21 13:44:42 +0000
commit5d2ce55a8641a030ec6984089c51aa9313f46af1 (patch)
tree850db9abc3f1ca83a42c420eea158459fedd337c /resources/libraries/python/honeycomb
parent80532e03b9d223407c4b9d2245449dbdc4c03c1b (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')
-rw-r--r--resources/libraries/python/honeycomb/HcAPIKwInterfaces.py25
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):