@@ -80,25 +80,80 @@ def setup_single_bgp_instance(request):
80
80
import utilities_common .bgp_util as bgp_util
81
81
82
82
if request .param == 'v4' :
83
- bgp_summary_json = os .path .join (
83
+ bgp_mocked_json = os .path .join (
84
84
test_path , 'mock_tables' , 'ipv4_bgp_summary.json' )
85
85
elif request .param == 'v6' :
86
- bgp_summary_json = os .path .join (
86
+ bgp_mocked_json = os .path .join (
87
87
test_path , 'mock_tables' , 'ipv6_bgp_summary.json' )
88
+ elif request .param == 'ip_route' :
89
+ bgp_mocked_json = os .path .join (
90
+ test_path , 'mock_tables' , 'ip_route.json' )
91
+ elif request .param == 'ip_specific_route' :
92
+ bgp_mocked_json = os .path .join (
93
+ test_path , 'mock_tables' , 'ip_specific_route.json' )
94
+ elif request .param == 'ip_special_route' :
95
+ bgp_mocked_json = os .path .join (
96
+ test_path , 'mock_tables' , 'ip_special_route.json' )
97
+ elif request .param == 'ipv6_route' :
98
+ bgp_mocked_json = os .path .join (
99
+ test_path , 'mock_tables' , 'ipv6_route.json' )
100
+ elif request .param == 'ipv6_specific_route' :
101
+ bgp_mocked_json = os .path .join (
102
+ test_path , 'mock_tables' , 'ipv6_specific_route.json' )
88
103
else :
89
- bgp_summary_json = os .path .join (
104
+ bgp_mocked_json = os .path .join (
90
105
test_path , 'mock_tables' , 'dummy.json' )
91
106
92
107
def mock_run_bgp_command (vtysh_cmd , bgp_namespace ):
93
- if os .path .isfile (bgp_summary_json ):
94
- with open (bgp_summary_json ) as json_data :
108
+ if os .path .isfile (bgp_mocked_json ):
109
+ with open (bgp_mocked_json ) as json_data :
95
110
mock_frr_data = json_data .read ()
96
111
return mock_frr_data
97
112
return ""
98
113
99
- bgp_util . run_bgp_command = mock . MagicMock (
100
- return_value = mock_run_bgp_command ( "" , "" ))
114
+ def mock_run_bgp_ipv6_err_command ( vtysh_cmd , bgp_namespace ):
115
+ return "% Unknown command: show ipv6 route garbage"
101
116
117
+ if request .param == 'ipv6_route_err' :
118
+ bgp_util .run_bgp_command = mock .MagicMock (
119
+ return_value = mock_run_bgp_ipv6_err_command ("" , "" ))
120
+ else :
121
+ bgp_util .run_bgp_command = mock .MagicMock (
122
+ return_value = mock_run_bgp_command ("" , "" ))
123
+
124
+
125
+ @pytest .fixture
126
+ def setup_multi_asic_bgp_instance (request ):
127
+ import utilities_common .bgp_util as bgp_util
128
+
129
+ if request .param == 'ip_route' :
130
+ m_asic_json_file = 'ip_route.json'
131
+ elif request .param == 'ip_specific_route' :
132
+ m_asic_json_file = 'ip_specific_route.json'
133
+ elif request .param == 'ipv6_specific_route' :
134
+ m_asic_json_file = 'ipv6_specific_route.json'
135
+ elif request .param == 'ipv6_route' :
136
+ m_asic_json_file = 'ipv6_route.json'
137
+ else :
138
+ bgp_mocked_json = os .path .join (
139
+ test_path , 'mock_tables' , 'dummy.json' )
140
+
141
+ def mock_run_bgp_command (vtysh_cmd , bgp_namespace ):
142
+ bgp_mocked_json = os .path .join (
143
+ test_path , 'mock_tables' , bgp_namespace , m_asic_json_file )
144
+ if os .path .isfile (bgp_mocked_json ):
145
+ with open (bgp_mocked_json ) as json_data :
146
+ mock_frr_data = json_data .read ()
147
+ return mock_frr_data
148
+ else :
149
+ return ""
150
+
151
+ _old_run_bgp_command = bgp_util .run_bgp_command
152
+ bgp_util .run_bgp_command = mock_run_bgp_command
153
+
154
+ yield
155
+
156
+ bgp_util .run_bgp_command = _old_run_bgp_command
102
157
103
158
@pytest .fixture
104
159
def setup_bgp_commands ():
@@ -109,3 +164,10 @@ def setup_bgp_commands():
109
164
show .ip .add_command (bgpv4 )
110
165
show .ipv6 .add_command (bgpv6 )
111
166
return show
167
+
168
+
169
+ @pytest .fixture
170
+ def setup_ip_route_commands ():
171
+ import show .main as show
172
+
173
+ return show
0 commit comments