@@ -252,7 +252,7 @@ def test___set_validation_4():
252252def test___set_validation_5 ():
253253 __set_validation_common ("all" , {"status" : "disabled" }, None , True )
254254
255- def __set_prepare_config_common (status , bbr_enabled_pgs , available_pgs , expected_cmds ):
255+ def __set_prepare_config_common (status , bbr_enabled_pgs , available_pgs , expected_cmds , bbr_applied_pgs = None ):
256256 cfg_mgr = MagicMock ()
257257 common_objs = {
258258 'directory' : Directory (),
@@ -269,10 +269,10 @@ def __set_prepare_config_common(status, bbr_enabled_pgs, available_pgs, expected
269269 }
270270 }
271271 m .bbr_enabled_pgs = bbr_enabled_pgs
272- m ._BBRMgr__get_available_peer_groups = MagicMock (return_value = available_pgs )
272+ m ._BBRMgr__get_available_peer_groups = MagicMock (return_value = sorted ( available_pgs ) )
273273 cmds , peer_groups = m ._BBRMgr__set_prepare_config (status )
274274 assert cmds == expected_cmds
275- assert set (peer_groups ) == available_pgs
275+ assert set (peer_groups ) == ( available_pgs if not bbr_applied_pgs else bbr_applied_pgs )
276276
277277def test___set_prepare_config_enabled ():
278278 __set_prepare_config_common ("enabled" , {
@@ -327,7 +327,41 @@ def test___set_prepare_config_disabled_part():
327327 ' no neighbor PEER_V4 allowas-in 1' ,
328328 ' no neighbor PEER_V6 allowas-in 1' ,
329329 ])
330+ def test___set_prepare_config_enabled_multiple_peers ():
331+ __set_prepare_config_common ("enabled" , {
332+ "PEER_V4" : ["ipv4" ],
333+ "PEER_V6" : ["ipv6" ],
334+ }, {"PEER_V4" , "PEER_V4_DEPLOYMENT_ID_0" , "PEER_V4_DEPLOYMENT_ID_1" , "PEER_V6" , "PEER_V6_DEPLOYMENT_ID_0" , "PEER_V6_DEPLOYMENT_ID_1" , "PEER_INVALID" },
335+ [
336+ 'router bgp 65500' ,
337+ ' address-family ipv4' ,
338+ ' neighbor PEER_V4 allowas-in 1' ,
339+ ' neighbor PEER_V4_DEPLOYMENT_ID_0 allowas-in 1' ,
340+ ' neighbor PEER_V4_DEPLOYMENT_ID_1 allowas-in 1' ,
341+ ' address-family ipv6' ,
342+ ' neighbor PEER_V6 allowas-in 1' ,
343+ ' neighbor PEER_V6_DEPLOYMENT_ID_0 allowas-in 1' ,
344+ ' neighbor PEER_V6_DEPLOYMENT_ID_1 allowas-in 1' ,
345+ ],
346+ {"PEER_V4" , "PEER_V4_DEPLOYMENT_ID_0" , "PEER_V4_DEPLOYMENT_ID_1" , "PEER_V6" , "PEER_V6_DEPLOYMENT_ID_0" , "PEER_V6_DEPLOYMENT_ID_1" })
330347
348+ def test___set_prepare_config_disabled_multiple_peers ():
349+ __set_prepare_config_common ("disabled" , {
350+ "PEER_V4" : ["ipv4" ],
351+ "PEER_V6" : ["ipv6" ],
352+ }, {"PEER_V4" , "PEER_V4_DEPLOYMENT_ID_0" , "PEER_V4_DEPLOYMENT_ID_1" , "PEER_V6" , "PEER_V6_DEPLOYMENT_ID_0" , "PEER_V6_DEPLOYMENT_ID_1" , "PEER_INVALID" },
353+ [
354+ 'router bgp 65500' ,
355+ ' address-family ipv4' ,
356+ ' no neighbor PEER_V4 allowas-in 1' ,
357+ ' no neighbor PEER_V4_DEPLOYMENT_ID_0 allowas-in 1' ,
358+ ' no neighbor PEER_V4_DEPLOYMENT_ID_1 allowas-in 1' ,
359+ ' address-family ipv6' ,
360+ ' no neighbor PEER_V6 allowas-in 1' ,
361+ ' no neighbor PEER_V6_DEPLOYMENT_ID_0 allowas-in 1' ,
362+ ' no neighbor PEER_V6_DEPLOYMENT_ID_1 allowas-in 1' ,
363+ ],
364+ {"PEER_V4" , "PEER_V4_DEPLOYMENT_ID_0" , "PEER_V4_DEPLOYMENT_ID_1" , "PEER_V6" , "PEER_V6_DEPLOYMENT_ID_0" , "PEER_V6_DEPLOYMENT_ID_1" })
331365
332366def test__get_available_peer_groups ():
333367 cfg_mgr = MagicMock ()
0 commit comments