1
1
import os
2
2
3
3
import pytest
4
+ import importlib
4
5
5
6
from click .testing import CliRunner
6
7
97
98
Error: bgp summary from bgp container not in json format
98
99
"""
99
100
100
- show_error_no_v6_neighbor = """\
101
- No IPv6 neighbor is configured
101
+ show_error_no_v6_neighbor_single_asic = """\
102
+
103
+ IPv6 Unicast Summary:
104
+ BGP router identifier 10.1.0.32, local AS number 65100 vrf-id 0
105
+ BGP table version 8972
106
+ RIB entries 0, using 0 bytes of memory
107
+ Peers 0, using 0 KiB of memory
108
+ Peer groups 0, using 0 bytes of memory
109
+
110
+
111
+ Neighbhor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd NeighborName
112
+ ----------- --- ---- --------- --------- -------- ----- ------ --------- -------------- --------------
113
+
114
+ Total number of neighbors 0
115
+ """
116
+
117
+ show_error_no_v4_neighbor_single_asic = """\
118
+
119
+ IPv4 Unicast Summary:
120
+ BGP router identifier 10.1.0.32, local AS number 65100 vrf-id 0
121
+ BGP table version 8972
122
+ RIB entries 0, using 0 bytes of memory
123
+ Peers 0, using 0 KiB of memory
124
+ Peer groups 0, using 0 bytes of memory
125
+
126
+
127
+ Neighbhor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd NeighborName
128
+ ----------- --- ---- --------- --------- -------- ----- ------ --------- -------------- --------------
129
+
130
+ Total number of neighbors 0
102
131
"""
103
132
104
- show_error_no_v4_neighbor = """\
105
- No IPv4 neighbor is configured
133
+ show_error_no_v6_neighbor_multi_asic = """\
134
+
135
+ IPv6 Unicast Summary:
136
+ asic0: BGP router identifier 10.1.0.32, local AS number 65100 vrf-id 0
137
+ BGP table version 8972
138
+ asic1: BGP router identifier 10.1.0.32, local AS number 65100 vrf-id 0
139
+ BGP table version 8972
140
+ RIB entries 0, using 0 bytes of memory
141
+ Peers 0, using 0 KiB of memory
142
+ Peer groups 0, using 0 bytes of memory
143
+
144
+
145
+ Neighbhor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd NeighborName
146
+ ----------- --- ---- --------- --------- -------- ----- ------ --------- -------------- --------------
147
+
148
+ Total number of neighbors 0
149
+ """
150
+
151
+ show_error_no_v4_neighbor_multi_asic = """\
152
+
153
+ IPv4 Unicast Summary:
154
+ asic0: BGP router identifier 10.1.0.32, local AS number 65100 vrf-id 0
155
+ BGP table version 8972
156
+ asic1: BGP router identifier 10.1.0.32, local AS number 65100 vrf-id 0
157
+ BGP table version 8972
158
+ RIB entries 0, using 0 bytes of memory
159
+ Peers 0, using 0 KiB of memory
160
+ Peer groups 0, using 0 bytes of memory
161
+
162
+
163
+ Neighbhor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd NeighborName
164
+ ----------- --- ---- --------- --------- -------- ----- ------ --------- -------------- --------------
165
+
166
+ Total number of neighbors 0
106
167
"""
107
168
108
169
show_bgp_summary_v4_chassis = """\
217
278
"""
218
279
219
280
220
- class TestBgpCommands (object ):
281
+ class TestBgpCommandsSingleAsic (object ):
221
282
@classmethod
222
283
def setup_class (cls ):
223
284
print ("SETUP" )
285
+ from .mock_tables import mock_single_asic
286
+ importlib .reload (mock_single_asic )
224
287
from .mock_tables import dbconnector
288
+ dbconnector .load_namespace_config ()
225
289
226
290
@pytest .mark .parametrize ('setup_single_bgp_instance' ,
227
291
['v4' ], indirect = ['setup_single_bgp_instance' ])
@@ -337,10 +401,10 @@ def test_bgp_summary_no_v4_neigh(
337
401
show = setup_bgp_commands
338
402
runner = CliRunner ()
339
403
result = runner .invoke (
340
- show .cli .commands ["ipv6 " ].commands ["bgp" ].commands ["summary" ], [])
404
+ show .cli .commands ["ip " ].commands ["bgp" ].commands ["summary" ], [])
341
405
print ("{}" .format (result .output ))
342
406
assert result .exit_code == 0
343
- assert result .output == show_error_no_v6_neighbor
407
+ assert result .output == show_error_no_v4_neighbor_single_asic
344
408
345
409
@pytest .mark .parametrize ('setup_single_bgp_instance' ,
346
410
['show_bgp_summary_no_neigh' ], indirect = ['setup_single_bgp_instance' ])
@@ -350,8 +414,63 @@ def test_bgp_summary_no_v6_neigh(
350
414
setup_single_bgp_instance ):
351
415
show = setup_bgp_commands
352
416
runner = CliRunner ()
417
+ result = runner .invoke (
418
+ show .cli .commands ["ipv6" ].commands ["bgp" ].commands ["summary" ], [])
419
+ print ("{}" .format (result .output ))
420
+ assert result .exit_code == 0
421
+ assert result .output == show_error_no_v6_neighbor_single_asic
422
+
423
+ @classmethod
424
+ def teardown_class (cls ):
425
+ print ("TEARDOWN" )
426
+ os .environ ['UTILITIES_UNIT_TESTING' ] = "0"
427
+ from .mock_tables import mock_single_asic
428
+ importlib .reload (mock_single_asic )
429
+ from .mock_tables import dbconnector
430
+ dbconnector .load_database_config ()
431
+
432
+
433
+ class TestBgpCommandsMultiAsic (object ):
434
+ @classmethod
435
+ def setup_class (cls ):
436
+ print ("SETUP" )
437
+ from .mock_tables import mock_multi_asic
438
+ importlib .reload (mock_multi_asic )
439
+ from .mock_tables import dbconnector
440
+ dbconnector .load_namespace_config ()
441
+
442
+ @pytest .mark .parametrize ('setup_multi_asic_bgp_instance' ,
443
+ ['show_bgp_summary_no_neigh' ], indirect = ['setup_multi_asic_bgp_instance' ])
444
+ def test_bgp_summary_multi_asic_no_v4_neigh (
445
+ self ,
446
+ setup_bgp_commands ,
447
+ setup_multi_asic_bgp_instance ):
448
+ show = setup_bgp_commands
449
+ runner = CliRunner ()
353
450
result = runner .invoke (
354
451
show .cli .commands ["ip" ].commands ["bgp" ].commands ["summary" ], [])
355
452
print ("{}" .format (result .output ))
356
453
assert result .exit_code == 0
357
- assert result .output == show_error_no_v4_neighbor
454
+ assert result .output == show_error_no_v4_neighbor_multi_asic
455
+
456
+ @pytest .mark .parametrize ('setup_multi_asic_bgp_instance' ,
457
+ ['show_bgp_summary_no_neigh' ], indirect = ['setup_multi_asic_bgp_instance' ])
458
+ def test_bgp_summary_multi_asic_no_v6_neigh (
459
+ self ,
460
+ setup_bgp_commands ,
461
+ setup_multi_asic_bgp_instance ):
462
+ show = setup_bgp_commands
463
+ runner = CliRunner ()
464
+ result = runner .invoke (
465
+ show .cli .commands ["ipv6" ].commands ["bgp" ].commands ["summary" ], [])
466
+ print ("{}" .format (result .output ))
467
+ assert result .exit_code == 0
468
+ assert result .output == show_error_no_v6_neighbor_multi_asic
469
+
470
+ @classmethod
471
+ def teardown_class (cls ):
472
+ print ("TEARDOWN" )
473
+ from .mock_tables import mock_single_asic
474
+ importlib .reload (mock_single_asic )
475
+ from .mock_tables import dbconnector
476
+ dbconnector .load_database_config
0 commit comments