Skip to content

Commit 7a96e5b

Browse files
authored
Merge pull request #55 from networktocode-llc/lvrfrc87
Strip inner boolean from `operator` check
2 parents 82e1414 + 19334cc commit 7a96e5b

File tree

3 files changed

+87
-112
lines changed

3 files changed

+87
-112
lines changed

netcompare/check_types.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,6 @@ def validate(**kwargs) -> None:
324324
def evaluate(self, value_to_compare: Any, params: Any) -> Tuple[Mapping, bool]:
325325
"""Operator evaluator implementation."""
326326
self.validate(**params)
327-
# For naming consistency
327+
# For name consistency.
328328
reference_data = params
329-
evaluation_result = operator_evaluator(reference_data["params"], value_to_compare)
330-
return evaluation_result, not evaluation_result
329+
return operator_evaluator(reference_data["params"], value_to_compare)

netcompare/operator.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ def _loop_through_wrapper(self, call_ops: str) -> Tuple[bool, List]:
5050
elif ops[call_ops](evaluated_value, self.referance_data):
5151
result.append(item)
5252
if result:
53-
return (True, result)
54-
return (False, result)
53+
return (result, True)
54+
return (result, False)
5555

5656
def all_same(self) -> Tuple[bool, Any]:
5757
"""All same operator implementation."""
@@ -70,12 +70,12 @@ def all_same(self) -> Tuple[bool, Any]:
7070
result.append(True)
7171

7272
if self.referance_data and not all(result):
73-
return (False, self.value_to_compare)
73+
return (self.value_to_compare, False)
7474
if self.referance_data:
75-
return (True, self.value_to_compare)
75+
return (self.value_to_compare, True)
7676
if not all(result):
77-
return (True, self.value_to_compare)
78-
return (False, self.value_to_compare)
77+
return (self.value_to_compare, True)
78+
return (self.value_to_compare, False)
7979

8080
def contains(self) -> Tuple[bool, List]:
8181
"""Contains operator implementation."""

tests/test_operators.py

Lines changed: 79 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,36 @@
99
{"params": {"mode": "all-same", "operator_data": True}},
1010
"result[0].vrfs.default.peerList[*].[$peerAddress$,peerGroup,vrf,state]",
1111
(
12-
(
13-
False,
14-
[
15-
{
16-
"7.7.7.7": {
17-
"peerGroup": "EVPN-OVERLAY-SPINE",
18-
"state": "Idle",
19-
"vrf": "default",
20-
}
21-
},
22-
{
23-
"10.1.0.0": {
24-
"peerGroup": "IPv4-UNDERLAY-SPINE",
25-
"state": "Idle",
26-
"vrf": "default",
27-
}
28-
},
29-
{
30-
"10.2.0.0": {
31-
"peerGroup": "IPv4-UNDERLAY-SPINE",
32-
"state": "Idle",
33-
"vrf": "default",
34-
}
35-
},
36-
{
37-
"10.64.207.255": {
38-
"peerGroup": "IPv4-UNDERLAY-MLAG-PEER",
39-
"state": "Idle",
40-
"vrf": "default",
41-
}
42-
},
43-
],
44-
),
12+
[
13+
{
14+
"7.7.7.7": {
15+
"peerGroup": "EVPN-OVERLAY-SPINE",
16+
"state": "Idle",
17+
"vrf": "default",
18+
}
19+
},
20+
{
21+
"10.1.0.0": {
22+
"peerGroup": "IPv4-UNDERLAY-SPINE",
23+
"state": "Idle",
24+
"vrf": "default",
25+
}
26+
},
27+
{
28+
"10.2.0.0": {
29+
"peerGroup": "IPv4-UNDERLAY-SPINE",
30+
"state": "Idle",
31+
"vrf": "default",
32+
}
33+
},
34+
{
35+
"10.64.207.255": {
36+
"peerGroup": "IPv4-UNDERLAY-MLAG-PEER",
37+
"state": "Idle",
38+
"vrf": "default",
39+
}
40+
},
41+
],
4542
False,
4643
),
4744
)
@@ -50,23 +47,20 @@
5047
"operator",
5148
{"params": {"mode": "contains", "operator_data": "EVPN"}},
5249
"result[0].vrfs.default.peerList[*].[$peerAddress$,peerGroup]",
53-
((True, [{"7.7.7.7": {"peerGroup": "EVPN-OVERLAY-SPINE"}}]), False),
50+
([{"7.7.7.7": {"peerGroup": "EVPN-OVERLAY-SPINE"}}], True),
5451
)
5552
operator_not_contains = (
5653
"pre.json",
5754
"operator",
5855
{"params": {"mode": "not-contains", "operator_data": "EVPN"}},
5956
"result[0].vrfs.default.peerList[*].[$peerAddress$,peerGroup]",
6057
(
61-
(
62-
True,
63-
[
64-
{"10.1.0.0": {"peerGroup": "IPv4-UNDERLAY-SPINE"}},
65-
{"10.2.0.0": {"peerGroup": "IPv4-UNDERLAY-SPINE"}},
66-
{"10.64.207.255": {"peerGroup": "IPv4-UNDERLAY-MLAG-PEER"}},
67-
],
68-
),
69-
False,
58+
[
59+
{"10.1.0.0": {"peerGroup": "IPv4-UNDERLAY-SPINE"}},
60+
{"10.2.0.0": {"peerGroup": "IPv4-UNDERLAY-SPINE"}},
61+
{"10.64.207.255": {"peerGroup": "IPv4-UNDERLAY-MLAG-PEER"}},
62+
],
63+
True,
7064
),
7165
)
7266
operator_is_gt = (
@@ -75,16 +69,13 @@
7569
{"params": {"mode": "is-gt", "operator_data": 20}},
7670
"result[0].vrfs.default.peerList[*].[$peerAddress$,prefixesSent]",
7771
(
78-
(
79-
True,
80-
[
81-
{"7.7.7.7": {"prefixesSent": 50}},
82-
{"10.1.0.0": {"prefixesSent": 50}},
83-
{"10.2.0.0": {"prefixesSent": 50}},
84-
{"10.64.207.255": {"prefixesSent": 50}},
85-
],
86-
),
87-
False,
72+
[
73+
{"7.7.7.7": {"prefixesSent": 50}},
74+
{"10.1.0.0": {"prefixesSent": 50}},
75+
{"10.2.0.0": {"prefixesSent": 50}},
76+
{"10.64.207.255": {"prefixesSent": 50}},
77+
],
78+
True,
8879
),
8980
)
9081
operator_is_lt = (
@@ -93,16 +84,13 @@
9384
{"params": {"mode": "is-lt", "operator_data": 60}},
9485
"result[0].vrfs.default.peerList[*].[$peerAddress$,prefixesSent]",
9586
(
96-
(
97-
True,
98-
[
99-
{"7.7.7.7": {"prefixesSent": 50}},
100-
{"10.1.0.0": {"prefixesSent": 50}},
101-
{"10.2.0.0": {"prefixesSent": 50}},
102-
{"10.64.207.255": {"prefixesSent": 50}},
103-
],
104-
),
105-
False,
87+
[
88+
{"7.7.7.7": {"prefixesSent": 50}},
89+
{"10.1.0.0": {"prefixesSent": 50}},
90+
{"10.2.0.0": {"prefixesSent": 50}},
91+
{"10.64.207.255": {"prefixesSent": 50}},
92+
],
93+
True,
10694
),
10795
)
10896
operator_is_in = (
@@ -111,16 +99,13 @@
11199
{"params": {"mode": "is-in", "operator_data": [20, 40, 50]}},
112100
"result[0].vrfs.default.peerList[*].[$peerAddress$,prefixesSent]",
113101
(
114-
(
115-
True,
116-
[
117-
{"7.7.7.7": {"prefixesSent": 50}},
118-
{"10.1.0.0": {"prefixesSent": 50}},
119-
{"10.2.0.0": {"prefixesSent": 50}},
120-
{"10.64.207.255": {"prefixesSent": 50}},
121-
],
122-
),
123-
False,
102+
[
103+
{"7.7.7.7": {"prefixesSent": 50}},
104+
{"10.1.0.0": {"prefixesSent": 50}},
105+
{"10.2.0.0": {"prefixesSent": 50}},
106+
{"10.64.207.255": {"prefixesSent": 50}},
107+
],
108+
True,
124109
),
125110
)
126111
operator_not_in = (
@@ -129,16 +114,13 @@
129114
{"params": {"mode": "not-in", "operator_data": [20, 40, 60]}},
130115
"result[0].vrfs.default.peerList[*].[$peerAddress$,prefixesSent]",
131116
(
132-
(
133-
True,
134-
[
135-
{"7.7.7.7": {"prefixesSent": 50}},
136-
{"10.1.0.0": {"prefixesSent": 50}},
137-
{"10.2.0.0": {"prefixesSent": 50}},
138-
{"10.64.207.255": {"prefixesSent": 50}},
139-
],
140-
),
141-
False,
117+
[
118+
{"7.7.7.7": {"prefixesSent": 50}},
119+
{"10.1.0.0": {"prefixesSent": 50}},
120+
{"10.2.0.0": {"prefixesSent": 50}},
121+
{"10.64.207.255": {"prefixesSent": 50}},
122+
],
123+
True,
142124
),
143125
)
144126
operator_in_range = (
@@ -147,16 +129,13 @@
147129
{"params": {"mode": "in-range", "operator_data": (20, 60)}},
148130
"result[0].vrfs.default.peerList[*].[$peerAddress$,prefixesSent]",
149131
(
150-
(
151-
True,
152-
[
153-
{"7.7.7.7": {"prefixesSent": 50}},
154-
{"10.1.0.0": {"prefixesSent": 50}},
155-
{"10.2.0.0": {"prefixesSent": 50}},
156-
{"10.64.207.255": {"prefixesSent": 50}},
157-
],
158-
),
159-
False,
132+
[
133+
{"7.7.7.7": {"prefixesSent": 50}},
134+
{"10.1.0.0": {"prefixesSent": 50}},
135+
{"10.2.0.0": {"prefixesSent": 50}},
136+
{"10.64.207.255": {"prefixesSent": 50}},
137+
],
138+
True,
160139
),
161140
)
162141
operator_not_in_range = (
@@ -165,16 +144,13 @@
165144
{"params": {"mode": "not-range", "operator_data": (20, 40)}},
166145
"result[0].vrfs.default.peerList[*].[$peerAddress$,prefixesSent]",
167146
(
168-
(
169-
True,
170-
[
171-
{"7.7.7.7": {"prefixesSent": 50}},
172-
{"10.1.0.0": {"prefixesSent": 50}},
173-
{"10.2.0.0": {"prefixesSent": 50}},
174-
{"10.64.207.255": {"prefixesSent": 50}},
175-
],
176-
),
177-
False,
147+
[
148+
{"7.7.7.7": {"prefixesSent": 50}},
149+
{"10.1.0.0": {"prefixesSent": 50}},
150+
{"10.2.0.0": {"prefixesSent": 50}},
151+
{"10.64.207.255": {"prefixesSent": 50}},
152+
],
153+
True,
178154
),
179155
)
180156

0 commit comments

Comments
 (0)