2626 "result[0].vrfs.default.peerList[*].[peerAddress,prefixesReceived]" ,
2727)
2828
29+
30+ value_parser_tests = [
31+ value_parser_case_1 ,
32+ value_parser_case_2 ,
33+ value_parser_case_3 ,
34+ value_parser_case_4 ,
35+ ]
36+
37+
38+ @pytest .mark .parametrize ("path, expected_output" , value_parser_tests )
39+ def test_value_parser (path , expected_output ):
40+ output = jmespath_value_parser (path )
41+ assert expected_output == output , ASSERT_FAIL_MESSAGE .format (output = output , expected_output = expected_output )
42+
43+
2944keyref_parser_case_1 = (
3045 "result[0].vrfs.default.peerList[*].[$peerAddress$,prefixesReceived]" ,
3146 "result[0].vrfs.default.peerList[*].peerAddress" ,
4055)
4156keyref_parser_case_4 = (
4257 "result[0].$vrfs$.default.peerList[*].[peerAddress,prefixesReceived]" ,
43- "result[0].vrfs" ,
58+ "result[0]" ,
59+ )
60+ keyref_parser_case_5 = (
61+ "global.peers.$*$.*.ipv4.[accepted_prefixes,received_prefixes,sent_prefixes]" ,
62+ "global.peers" ,
4463)
4564
4665
47- value_parser_tests = [
48- value_parser_case_1 ,
49- value_parser_case_2 ,
50- value_parser_case_3 ,
51- value_parser_case_4 ,
52- ]
53-
5466keyref_parser_tests = [
5567 keyref_parser_case_1 ,
5668 keyref_parser_case_2 ,
5769 keyref_parser_case_3 ,
5870 keyref_parser_case_4 ,
71+ keyref_parser_case_5 ,
5972]
6073
6174
62- @pytest .mark .parametrize ("path, expected_output" , value_parser_tests )
63- def test_value_parser (path , expected_output ):
64- output = jmespath_value_parser (path )
65- assert expected_output == output , ASSERT_FAIL_MESSAGE .format (output = output , expected_output = expected_output )
66-
67-
6875@pytest .mark .parametrize ("path, expected_output" , keyref_parser_tests )
6976def test_keyref_parser (path , expected_output ):
7077 output = jmespath_refkey_parser (path )
@@ -77,28 +84,30 @@ def test_keyref_parser(path, expected_output):
7784 [{"10.1.0.0" : {"is_enabled" : False , "is_up" : False }}, {"10.2.0.0" : {"is_enabled" : True , "is_up" : True }}],
7885)
7986
80- keys_association_case_1 = (
81- "global.peers.*.[is_enabled,is_up]" ,
82- [[True , False ], [True , False ]],
83- [{"is_enabled" : True , "is_up" : False }, {"is_enabled" : True , "is_up" : False }],
84- )
85-
8687
8788keys_zipper_tests = [
8889 keys_zipper_case_1 ,
8990]
9091
91- keys_association_test = [
92- keys_association_case_1 ,
93- ]
94-
9592
9693@pytest .mark .parametrize ("ref_keys, wanted_values, expected_output" , keys_zipper_tests )
9794def test_keys_zipper (ref_keys , wanted_values , expected_output ):
9895 output = keys_values_zipper (ref_keys , wanted_values )
9996 assert expected_output == output , ASSERT_FAIL_MESSAGE .format (output = output , expected_output = expected_output )
10097
10198
99+ keys_association_case_1 = (
100+ "global.peers.*.[is_enabled,is_up]" ,
101+ [[True , False ], [True , False ]],
102+ [{"is_enabled" : True , "is_up" : False }, {"is_enabled" : True , "is_up" : False }],
103+ )
104+
105+
106+ keys_association_test = [
107+ keys_association_case_1 ,
108+ ]
109+
110+
102111@pytest .mark .parametrize ("path, wanted_values, expected_output" , keys_association_test )
103112def test_keys_association (path , wanted_values , expected_output ):
104113 output = associate_key_of_my_value (path , wanted_values )
0 commit comments