@@ -17,24 +17,80 @@ def setup_single_bgp_instance(request):
17
17
import utilities_common .bgp_util as bgp_util
18
18
19
19
if request .param == 'v4' :
20
- bgp_summary_json = os .path .join (
20
+ bgp_mocked_json = os .path .join (
21
21
test_path , 'mock_tables' , 'ipv4_bgp_summary.json' )
22
22
elif request .param == 'v6' :
23
- bgp_summary_json = os .path .join (
23
+ bgp_mocked_json = os .path .join (
24
24
test_path , 'mock_tables' , 'ipv6_bgp_summary.json' )
25
+ elif request .param == 'ip_route' :
26
+ bgp_mocked_json = os .path .join (
27
+ test_path , 'mock_tables' , 'ip_route.json' )
28
+ elif request .param == 'ip_specific_route' :
29
+ bgp_mocked_json = os .path .join (
30
+ test_path , 'mock_tables' , 'ip_specific_route.json' )
31
+ elif request .param == 'ip_special_route' :
32
+ bgp_mocked_json = os .path .join (
33
+ test_path , 'mock_tables' , 'ip_special_route.json' )
34
+ elif request .param == 'ipv6_route' :
35
+ bgp_mocked_json = os .path .join (
36
+ test_path , 'mock_tables' , 'ipv6_route.json' )
37
+ elif request .param == 'ipv6_specific_route' :
38
+ bgp_mocked_json = os .path .join (
39
+ test_path , 'mock_tables' , 'ipv6_specific_route.json' )
25
40
else :
26
- bgp_summary_json = os .path .join (
41
+ bgp_mocked_json = os .path .join (
27
42
test_path , 'mock_tables' , 'dummy.json' )
28
43
29
44
def mock_run_bgp_command (vtysh_cmd , bgp_namespace ):
30
- if os .path .isfile (bgp_summary_json ):
31
- with open (bgp_summary_json ) as json_data :
45
+ if os .path .isfile (bgp_mocked_json ):
46
+ with open (bgp_mocked_json ) as json_data :
32
47
mock_frr_data = json_data .read ()
33
48
return mock_frr_data
34
49
return ""
35
50
36
- bgp_util .run_bgp_command = mock .MagicMock (
37
- return_value = mock_run_bgp_command ("" , "" ))
51
+ def mock_run_bgp_ipv6_err_command (vtysh_cmd , bgp_namespace ):
52
+ return "% Unknown command: show ipv6 route garbage"
53
+
54
+ if request .param == 'ipv6_route_err' :
55
+ bgp_util .run_bgp_command = mock .MagicMock (
56
+ return_value = mock_run_bgp_ipv6_err_command ("" , "" ))
57
+ else :
58
+ bgp_util .run_bgp_command = mock .MagicMock (
59
+ return_value = mock_run_bgp_command ("" , "" ))
60
+
61
+
62
+ @pytest .fixture
63
+ def setup_multi_asic_bgp_instance (request ):
64
+ import utilities_common .bgp_util as bgp_util
65
+
66
+ if request .param == 'ip_route' :
67
+ m_asic_json_file = 'ip_route.json'
68
+ elif request .param == 'ip_specific_route' :
69
+ m_asic_json_file = 'ip_specific_route.json'
70
+ elif request .param == 'ipv6_specific_route' :
71
+ m_asic_json_file = 'ipv6_specific_route.json'
72
+ elif request .param == 'ipv6_route' :
73
+ m_asic_json_file = 'ipv6_route.json'
74
+ else :
75
+ m_asic_json_file = os .path .join (
76
+ test_path , 'mock_tables' , 'dummy.json' )
77
+
78
+ def mock_run_bgp_command (vtysh_cmd , bgp_namespace ):
79
+ bgp_mocked_json = os .path .join (
80
+ test_path , 'mock_tables' , bgp_namespace , m_asic_json_file )
81
+ if os .path .isfile (bgp_mocked_json ):
82
+ with open (bgp_mocked_json ) as json_data :
83
+ mock_frr_data = json_data .read ()
84
+ return mock_frr_data
85
+ else :
86
+ return ""
87
+
88
+ _old_run_bgp_command = bgp_util .run_bgp_command
89
+ bgp_util .run_bgp_command = mock_run_bgp_command
90
+
91
+ yield
92
+
93
+ bgp_util .run_bgp_command = _old_run_bgp_command
38
94
39
95
40
96
@pytest .fixture
@@ -45,4 +101,11 @@ def setup_bgp_commands():
45
101
46
102
show .ip .add_command (bgpv4 )
47
103
show .ipv6 .add_command (bgpv6 )
48
- return show
104
+ return show
105
+
106
+
107
+ @pytest .fixture
108
+ def setup_ip_route_commands ():
109
+ import show .main as show
110
+
111
+ return show
0 commit comments