diff --git a/netcompare/check_types.py b/netcompare/check_types.py index e212715..430dacb 100644 --- a/netcompare/check_types.py +++ b/netcompare/check_types.py @@ -324,7 +324,6 @@ def validate(**kwargs) -> None: def evaluate(self, value_to_compare: Any, params: Any) -> Tuple[Mapping, bool]: """Operator evaluator implementation.""" self.validate(**params) - # For naming consistency + # For name consistency. reference_data = params - evaluation_result = operator_evaluator(reference_data["params"], value_to_compare) - return evaluation_result, not evaluation_result + return operator_evaluator(reference_data["params"], value_to_compare) diff --git a/netcompare/operator.py b/netcompare/operator.py index ba4effd..e57f4c5 100644 --- a/netcompare/operator.py +++ b/netcompare/operator.py @@ -50,8 +50,8 @@ def _loop_through_wrapper(self, call_ops: str) -> Tuple[bool, List]: elif ops[call_ops](evaluated_value, self.referance_data): result.append(item) if result: - return (True, result) - return (False, result) + return (result, True) + return (result, False) def all_same(self) -> Tuple[bool, Any]: """All same operator implementation.""" @@ -70,12 +70,12 @@ def all_same(self) -> Tuple[bool, Any]: result.append(True) if self.referance_data and not all(result): - return (False, self.value_to_compare) + return (self.value_to_compare, False) if self.referance_data: - return (True, self.value_to_compare) + return (self.value_to_compare, True) if not all(result): - return (True, self.value_to_compare) - return (False, self.value_to_compare) + return (self.value_to_compare, True) + return (self.value_to_compare, False) def contains(self) -> Tuple[bool, List]: """Contains operator implementation.""" diff --git a/tests/test_operators.py b/tests/test_operators.py index 9d3b5ab..0d67431 100644 --- a/tests/test_operators.py +++ b/tests/test_operators.py @@ -9,39 +9,36 @@ {"params": {"mode": "all-same", "operator_data": True}}, "result[0].vrfs.default.peerList[*].[$peerAddress$,peerGroup,vrf,state]", ( - ( - False, - [ - { - "7.7.7.7": { - "peerGroup": "EVPN-OVERLAY-SPINE", - "state": "Idle", - "vrf": "default", - } - }, - { - "10.1.0.0": { - "peerGroup": "IPv4-UNDERLAY-SPINE", - "state": "Idle", - "vrf": "default", - } - }, - { - "10.2.0.0": { - "peerGroup": "IPv4-UNDERLAY-SPINE", - "state": "Idle", - "vrf": "default", - } - }, - { - "10.64.207.255": { - "peerGroup": "IPv4-UNDERLAY-MLAG-PEER", - "state": "Idle", - "vrf": "default", - } - }, - ], - ), + [ + { + "7.7.7.7": { + "peerGroup": "EVPN-OVERLAY-SPINE", + "state": "Idle", + "vrf": "default", + } + }, + { + "10.1.0.0": { + "peerGroup": "IPv4-UNDERLAY-SPINE", + "state": "Idle", + "vrf": "default", + } + }, + { + "10.2.0.0": { + "peerGroup": "IPv4-UNDERLAY-SPINE", + "state": "Idle", + "vrf": "default", + } + }, + { + "10.64.207.255": { + "peerGroup": "IPv4-UNDERLAY-MLAG-PEER", + "state": "Idle", + "vrf": "default", + } + }, + ], False, ), ) @@ -50,7 +47,7 @@ "operator", {"params": {"mode": "contains", "operator_data": "EVPN"}}, "result[0].vrfs.default.peerList[*].[$peerAddress$,peerGroup]", - ((True, [{"7.7.7.7": {"peerGroup": "EVPN-OVERLAY-SPINE"}}]), False), + ([{"7.7.7.7": {"peerGroup": "EVPN-OVERLAY-SPINE"}}], True), ) operator_not_contains = ( "pre.json", @@ -58,15 +55,12 @@ {"params": {"mode": "not-contains", "operator_data": "EVPN"}}, "result[0].vrfs.default.peerList[*].[$peerAddress$,peerGroup]", ( - ( - True, - [ - {"10.1.0.0": {"peerGroup": "IPv4-UNDERLAY-SPINE"}}, - {"10.2.0.0": {"peerGroup": "IPv4-UNDERLAY-SPINE"}}, - {"10.64.207.255": {"peerGroup": "IPv4-UNDERLAY-MLAG-PEER"}}, - ], - ), - False, + [ + {"10.1.0.0": {"peerGroup": "IPv4-UNDERLAY-SPINE"}}, + {"10.2.0.0": {"peerGroup": "IPv4-UNDERLAY-SPINE"}}, + {"10.64.207.255": {"peerGroup": "IPv4-UNDERLAY-MLAG-PEER"}}, + ], + True, ), ) operator_is_gt = ( @@ -75,16 +69,13 @@ {"params": {"mode": "is-gt", "operator_data": 20}}, "result[0].vrfs.default.peerList[*].[$peerAddress$,prefixesSent]", ( - ( - True, - [ - {"7.7.7.7": {"prefixesSent": 50}}, - {"10.1.0.0": {"prefixesSent": 50}}, - {"10.2.0.0": {"prefixesSent": 50}}, - {"10.64.207.255": {"prefixesSent": 50}}, - ], - ), - False, + [ + {"7.7.7.7": {"prefixesSent": 50}}, + {"10.1.0.0": {"prefixesSent": 50}}, + {"10.2.0.0": {"prefixesSent": 50}}, + {"10.64.207.255": {"prefixesSent": 50}}, + ], + True, ), ) operator_is_lt = ( @@ -93,16 +84,13 @@ {"params": {"mode": "is-lt", "operator_data": 60}}, "result[0].vrfs.default.peerList[*].[$peerAddress$,prefixesSent]", ( - ( - True, - [ - {"7.7.7.7": {"prefixesSent": 50}}, - {"10.1.0.0": {"prefixesSent": 50}}, - {"10.2.0.0": {"prefixesSent": 50}}, - {"10.64.207.255": {"prefixesSent": 50}}, - ], - ), - False, + [ + {"7.7.7.7": {"prefixesSent": 50}}, + {"10.1.0.0": {"prefixesSent": 50}}, + {"10.2.0.0": {"prefixesSent": 50}}, + {"10.64.207.255": {"prefixesSent": 50}}, + ], + True, ), ) operator_is_in = ( @@ -111,16 +99,13 @@ {"params": {"mode": "is-in", "operator_data": [20, 40, 50]}}, "result[0].vrfs.default.peerList[*].[$peerAddress$,prefixesSent]", ( - ( - True, - [ - {"7.7.7.7": {"prefixesSent": 50}}, - {"10.1.0.0": {"prefixesSent": 50}}, - {"10.2.0.0": {"prefixesSent": 50}}, - {"10.64.207.255": {"prefixesSent": 50}}, - ], - ), - False, + [ + {"7.7.7.7": {"prefixesSent": 50}}, + {"10.1.0.0": {"prefixesSent": 50}}, + {"10.2.0.0": {"prefixesSent": 50}}, + {"10.64.207.255": {"prefixesSent": 50}}, + ], + True, ), ) operator_not_in = ( @@ -129,16 +114,13 @@ {"params": {"mode": "not-in", "operator_data": [20, 40, 60]}}, "result[0].vrfs.default.peerList[*].[$peerAddress$,prefixesSent]", ( - ( - True, - [ - {"7.7.7.7": {"prefixesSent": 50}}, - {"10.1.0.0": {"prefixesSent": 50}}, - {"10.2.0.0": {"prefixesSent": 50}}, - {"10.64.207.255": {"prefixesSent": 50}}, - ], - ), - False, + [ + {"7.7.7.7": {"prefixesSent": 50}}, + {"10.1.0.0": {"prefixesSent": 50}}, + {"10.2.0.0": {"prefixesSent": 50}}, + {"10.64.207.255": {"prefixesSent": 50}}, + ], + True, ), ) operator_in_range = ( @@ -147,16 +129,13 @@ {"params": {"mode": "in-range", "operator_data": (20, 60)}}, "result[0].vrfs.default.peerList[*].[$peerAddress$,prefixesSent]", ( - ( - True, - [ - {"7.7.7.7": {"prefixesSent": 50}}, - {"10.1.0.0": {"prefixesSent": 50}}, - {"10.2.0.0": {"prefixesSent": 50}}, - {"10.64.207.255": {"prefixesSent": 50}}, - ], - ), - False, + [ + {"7.7.7.7": {"prefixesSent": 50}}, + {"10.1.0.0": {"prefixesSent": 50}}, + {"10.2.0.0": {"prefixesSent": 50}}, + {"10.64.207.255": {"prefixesSent": 50}}, + ], + True, ), ) operator_not_in_range = ( @@ -165,16 +144,13 @@ {"params": {"mode": "not-range", "operator_data": (20, 40)}}, "result[0].vrfs.default.peerList[*].[$peerAddress$,prefixesSent]", ( - ( - True, - [ - {"7.7.7.7": {"prefixesSent": 50}}, - {"10.1.0.0": {"prefixesSent": 50}}, - {"10.2.0.0": {"prefixesSent": 50}}, - {"10.64.207.255": {"prefixesSent": 50}}, - ], - ), - False, + [ + {"7.7.7.7": {"prefixesSent": 50}}, + {"10.1.0.0": {"prefixesSent": 50}}, + {"10.2.0.0": {"prefixesSent": 50}}, + {"10.64.207.255": {"prefixesSent": 50}}, + ], + True, ), )