From 3b5b452c67f8d140ccac5fd8448bc8a51bf90ab3 Mon Sep 17 00:00:00 2001 From: chidanandpujar Date: Wed, 29 May 2024 16:51:35 +0530 Subject: [PATCH 1/3] Fix no_diff with missing pre and post snapfile --- lib/jnpr/jsnapy/operator.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/jnpr/jsnapy/operator.py b/lib/jnpr/jsnapy/operator.py index 9427ba7..222adb9 100755 --- a/lib/jnpr/jsnapy/operator.py +++ b/lib/jnpr/jsnapy/operator.py @@ -2739,6 +2739,18 @@ def no_diff( + "ERROR!! 'no-diff' operator requires node value to test !!", extra=self.log_detail, ) + elif xml1 is None or xml2 is None: + self._error_nodes_logger("Xpath for snapshot", x_path) + res = False + count_fail = count_fail + 1 + node_value_failed = { + "id": iddict, + "pre": predict, + "post": postdict, + "actual_node_value": None, + "xpath_error": True, + } + tresult["failed"].append(deepcopy(node_value_failed)) else: if (not pre_nodes) or (not post_nodes): # if ignore_null is True, just skip @@ -2873,7 +2885,8 @@ def no_diff( else: # mapping id name to its value for length in range(len(k)): - id_val[id_list[length]] = k[length][0].strip() + if (len(k[0]) > 0): + id_val[id_list[length]] = k[length][0].strip() if k in data1: predict, postdict = self._get_nodevalue( predict, From 0cc246ba882805503ded0273c57e483d967955c8 Mon Sep 17 00:00:00 2001 From: chidanandpujar Date: Wed, 29 May 2024 16:58:22 +0530 Subject: [PATCH 2/3] Fix no_diff with missing pre and post snapfile --- lib/jnpr/jsnapy/operator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/jnpr/jsnapy/operator.py b/lib/jnpr/jsnapy/operator.py index 222adb9..fb11afb 100755 --- a/lib/jnpr/jsnapy/operator.py +++ b/lib/jnpr/jsnapy/operator.py @@ -2885,7 +2885,7 @@ def no_diff( else: # mapping id name to its value for length in range(len(k)): - if (len(k[0]) > 0): + if len(k[0]) > 0: id_val[id_list[length]] = k[length][0].strip() if k in data1: predict, postdict = self._get_nodevalue( From 28e0b6ec500f7b5d221abf723333ec59e603901f Mon Sep 17 00:00:00 2001 From: chidanandpujar Date: Wed, 29 May 2024 17:02:32 +0530 Subject: [PATCH 3/3] Fix no_diff with missing pre and post snapfile --- lib/jnpr/jsnapy/operator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/jnpr/jsnapy/operator.py b/lib/jnpr/jsnapy/operator.py index fb11afb..bda8aaa 100755 --- a/lib/jnpr/jsnapy/operator.py +++ b/lib/jnpr/jsnapy/operator.py @@ -559,8 +559,8 @@ def not_exists( count_pass = count_pass + 1 node_value_passed = { "id": id_val, - "PRE": predict, - "POST": postdict, + "pre": predict, + "post": postdict, "message": message, } tresult["passed"].append(deepcopy(node_value_passed))