@@ -37,7 +37,7 @@ def bfd_mgr(mocked_check_output, mocked_run_command):
37
37
def test_constructor (bfd_mgr ):
38
38
assert len (bfd_mgr .bfd_sessions ) == 0
39
39
40
- @patch ('bgpcfgd.managers_bfd.run_command ' , return_value = ( 0 , '' , '' ))
40
+ @patch ('subprocess.run ' , return_value = subprocess . CompletedProcess ( args = [], returncode = 0 , stdout = '' ))
41
41
@patch ('bgpcfgd.managers_bfd.subprocess.check_output' , side_effect = subprocess .CalledProcessError (1 , 'pgrep' ))
42
42
@patch ('bgpcfgd.managers_bfd.log_warn' )
43
43
def test_check_and_start_bfdd_stopped (mocked_log_warn , mocked_check_output , mocked_run_command , bfd_mgr ):
@@ -48,7 +48,7 @@ def test_check_and_start_bfdd_stopped(mocked_log_warn, mocked_check_output, mock
48
48
mocked_run_command .assert_called_once_with (cmd )
49
49
mocked_log_warn .assert_called_with ("bfdd process is not running, starting now..." )
50
50
51
- @patch ('bgpcfgd.managers_bfd.run_command ' , return_value = ( 1 , '' , 'Error ' ))
51
+ @patch ('subprocess.run ' , return_value = subprocess . CompletedProcess ( args = [], returncode = 1 , stdout = ' ' ))
52
52
@patch ('bgpcfgd.managers_bfd.subprocess.check_output' , side_effect = subprocess .CalledProcessError (1 , 'pgrep' ))
53
53
@patch ('bgpcfgd.managers_bfd.log_err' )
54
54
@patch ('bgpcfgd.managers_bfd.log_warn' )
@@ -59,16 +59,16 @@ def test_check_and_start_bfdd_error(mocked_log_warn, mocked_log_err, mocked_chec
59
59
assert bfd_mgr .check_and_start_bfdd () == False
60
60
mocked_run_command .assert_called_once_with (cmd )
61
61
mocked_log_warn .assert_called_with ("bfdd process is not running, starting now..." )
62
- mocked_log_err .assert_called_with ("Can't start bfdd: Error " )
62
+ mocked_log_err .assert_called_with ("Can't start bfdd: 1 " )
63
63
64
64
def test_get_def_res_fields (bfd_mgr ):
65
65
result = bfd_mgr .get_def_res_fields ()
66
66
expected_result = {
67
67
'multihop' : False ,
68
68
'local' : '' ,
69
69
'detect-multiplier' : 3 ,
70
- 'receive-interval ' : 200 ,
71
- 'transmit-interval ' : 200 ,
70
+ 'receive-interval_ms ' : 200 ,
71
+ 'transmit-interval_ms ' : 200 ,
72
72
'passive-mode' : True ,
73
73
}
74
74
assert result == expected_result
@@ -87,8 +87,8 @@ def test_redis_to_local_res(bfd_mgr):
87
87
'multihop' : False ,
88
88
'local' : '127.0.0.1' ,
89
89
'detect-multiplier' : 5 ,
90
- 'receive-interval ' : 300 ,
91
- 'transmit-interval ' : 300 ,
90
+ 'receive-interval_ms ' : 300 ,
91
+ 'transmit-interval_ms ' : 300 ,
92
92
'passive-mode' : False ,
93
93
}
94
94
assert result == expected_result
@@ -106,8 +106,8 @@ def test_redis_to_local_res_no_mh(bfd_mgr):
106
106
'multihop' : False ,
107
107
'local' : '127.0.0.1' ,
108
108
'detect-multiplier' : 5 ,
109
- 'receive-interval ' : 300 ,
110
- 'transmit-interval ' : 300 ,
109
+ 'receive-interval_ms ' : 300 ,
110
+ 'transmit-interval_ms ' : 300 ,
111
111
'passive-mode' : True ,
112
112
}
113
113
assert result == expected_result
@@ -121,8 +121,8 @@ def test_redis_to_local_res_basic(bfd_mgr):
121
121
'multihop' : False ,
122
122
'local' : '127.0.0.1' ,
123
123
'detect-multiplier' : 3 ,
124
- 'receive-interval ' : 200 ,
125
- 'transmit-interval ' : 200 ,
124
+ 'receive-interval_ms ' : 200 ,
125
+ 'transmit-interval_ms ' : 200 ,
126
126
'passive-mode' : True ,
127
127
}
128
128
assert result == expected_result
@@ -156,7 +156,7 @@ def test_add_frr_session_failure(mocked_log_err, mocked_run_command, bfd_mgr):
156
156
"type" : "async_active" ,
157
157
}
158
158
assert bfd_mgr .add_frr_session (session_key , data ) == False
159
- mocked_log_err .assert_called_with ("Can't add bfd session: Error" )
159
+ mocked_log_err .assert_called_with ("Can't add bfd session: {'vrf': 'default', 'interface': 'default', 'peer': '10.0.0.1'}, err: Error" )
160
160
assert len (bfd_mgr .bfd_sessions ) == 0
161
161
162
162
@patch ('bgpcfgd.managers_bfd.run_command' , return_value = (0 , '' , '' ))
@@ -166,8 +166,8 @@ def test_del_frr_session_success(mocked_run_command, bfd_mgr):
166
166
'multihop' : True ,
167
167
'local' : '127.0.0.1' ,
168
168
'detect-multiplier' : 3 ,
169
- 'receive-interval ' : 200 ,
170
- 'transmit-interval ' : 200 ,
169
+ 'receive-interval_ms ' : 200 ,
170
+ 'transmit-interval_ms ' : 200 ,
171
171
'passive-mode' : False ,
172
172
}
173
173
bfd_mgr .bfd_sessions [bfd_mgr .dict_to_fs (session_key )] = local_res_data
@@ -188,8 +188,8 @@ def test_del_frr_session_failure(mocked_log_err, mocked_run_command, bfd_mgr):
188
188
'multihop' : True ,
189
189
'local' : '127.0.0.1' ,
190
190
'detect-multiplier' : 3 ,
191
- 'receive-interval ' : 200 ,
192
- 'transmit-interval ' : 200 ,
191
+ 'receive-interval_ms ' : 200 ,
192
+ 'transmit-interval_ms ' : 200 ,
193
193
'passive-mode' : False ,
194
194
}
195
195
bfd_mgr .bfd_sessions [bfd_mgr .dict_to_fs (session_key )] = local_res_data
@@ -207,8 +207,8 @@ def test_load_bfd_sessions(mocked_log_err, mocked_run_command, bfd_mgr):
207
207
"local": "180.1.1.1",
208
208
"vrf": "default",
209
209
"detect-multiplier": 5,
210
- "transmit-interval ": 500,
211
- "receive-interval ": 200,
210
+ "transmit-interval_ms ": 500,
211
+ "receive-interval_ms ": 200,
212
212
"passive-mode": true
213
213
},
214
214
{
@@ -220,9 +220,27 @@ def test_load_bfd_sessions(mocked_log_err, mocked_run_command, bfd_mgr):
220
220
"local": "180.1.1.2",
221
221
"vrf": "default",
222
222
"detect-multiplier": 6,
223
- "transmit-interval": 100,
224
- "receive-interval": 300,
223
+ "transmit-interval_ms": 100,
224
+ "receive-interval_ms": 300,
225
+ "passive-mode": false
226
+ },
227
+ {
228
+ "peer": "105::109",
229
+ "local": "180::220",
230
+ "vrf": "default",
231
+ "detect-multiplier": 4,
232
+ "transmit-interval_ms": 900,
233
+ "receive-interval_ms": 700,
225
234
"passive-mode": false
235
+ },
236
+ {
237
+ "peer": "110::101",
238
+ "local": "190::57",
239
+ "vrf": "default",
240
+ "detect-multiplier": 3,
241
+ "transmit-interval_ms": 100,
242
+ "receive-interval_ms": 100,
243
+ "passive-mode": true
226
244
}
227
245
]
228
246
'''
@@ -232,23 +250,39 @@ def test_load_bfd_sessions(mocked_log_err, mocked_run_command, bfd_mgr):
232
250
'local' : '180.1.1.1' ,
233
251
'multihop' : False ,
234
252
'passive-mode' : True ,
235
- 'receive-interval ' : 200 ,
236
- 'transmit-interval ' : 500
253
+ 'receive-interval_ms ' : 200 ,
254
+ 'transmit-interval_ms ' : 500
237
255
},
238
256
frozenset ({('peer' , '192.168.1.2' ), ('vrf' , 'default' ), ('interface' , 'default' )}): {
239
257
'detect-multiplier' : 6 ,
240
258
'local' : '180.1.1.2' ,
241
259
'multihop' : False ,
242
260
'passive-mode' : False ,
243
- 'receive-interval' : 300 ,
244
- 'transmit-interval' : 100
261
+ 'receive-interval_ms' : 300 ,
262
+ 'transmit-interval_ms' : 100
263
+ },
264
+ frozenset ({('peer' , '105::109' ), ('vrf' , 'default' ), ('interface' , 'default' )}): {
265
+ 'detect-multiplier' : 4 ,
266
+ 'local' : '180::220' ,
267
+ 'multihop' : False ,
268
+ 'passive-mode' : False ,
269
+ 'receive-interval_ms' : 700 ,
270
+ 'transmit-interval_ms' : 900
271
+ },
272
+ frozenset ({('peer' , '110::101' ), ('vrf' , 'default' ), ('interface' , 'default' )}): {
273
+ 'detect-multiplier' : 3 ,
274
+ 'local' : '190::57' ,
275
+ 'multihop' : False ,
276
+ 'passive-mode' : True ,
277
+ 'receive-interval_ms' : 100 ,
278
+ 'transmit-interval_ms' : 100
245
279
},
246
280
}
247
281
mocked_run_command .return_value = (0 , bfd_frr_json , "" )
248
282
bfd_sessions = bfd_mgr .load_bfd_sessions ()
249
283
mocked_log_err .assert_called_with ("Peer is not set in frr bfd session, skipping" )
250
284
mocked_run_command .assert_called_once_with (["vtysh" , "-c" , "show bfd peers json" ])
251
- assert len (bfd_sessions ) == 2
285
+ assert len (bfd_sessions ) == 4
252
286
assert bfd_sessions == expected_sessions
253
287
254
288
@patch ('bgpcfgd.managers_bfd.run_command' , return_value = (1 , '' , 'Error' ))
@@ -265,8 +299,8 @@ def test_update_frr_session_success(mocked_run_command, bfd_mgr):
265
299
'multihop' : True ,
266
300
'local' : '127.0.0.1' ,
267
301
'detect-multiplier' : 3 ,
268
- 'receive-interval ' : 200 ,
269
- 'transmit-interval ' : 200 ,
302
+ 'receive-interval_ms ' : 200 ,
303
+ 'transmit-interval_ms ' : 200 ,
270
304
'passive-mode' : False ,
271
305
}
272
306
data = {
@@ -316,7 +350,7 @@ def test_update_frr_session_failure(mocked_log_warn, mocked_log_err, mocked_run_
316
350
#Error while running command
317
351
data ["local_addr" ] = "127.0.0.2"
318
352
assert bfd_mgr .update_frr_session (session_key , data ) == False
319
- mocked_log_err .assert_called_with ("Can't update bfd session: Error" )
353
+ mocked_log_err .assert_called_with ("Can't update bfd session: {'vrf': 'default', 'interface': 'default', 'peer': '10.0.0.1'}, err: Error" )
320
354
321
355
@patch ('bgpcfgd.managers_bfd.run_command' , return_value = (0 , '' , '' ))
322
356
@patch ('bgpcfgd.managers_bfd.log_warn' )
@@ -366,8 +400,8 @@ def test_set_handler_upd(mocked_log_warn, mocked_run_command, bfd_mgr):
366
400
'multihop' : True ,
367
401
'local' : '127.0.0.1' ,
368
402
'detect-multiplier' : 3 ,
369
- 'receive-interval ' : 200 ,
370
- 'transmit-interval ' : 200 ,
403
+ 'receive-interval_ms ' : 200 ,
404
+ 'transmit-interval_ms ' : 200 ,
371
405
'passive-mode' : False ,
372
406
}
373
407
data = {
@@ -399,8 +433,8 @@ def test_del_handler(mocked_log_warn, mocked_run_command, bfd_mgr):
399
433
'multihop' : True ,
400
434
'local' : '127.0.0.1' ,
401
435
'detect-multiplier' : 3 ,
402
- 'receive-interval ' : 200 ,
403
- 'transmit-interval ' : 200 ,
436
+ 'receive-interval_ms ' : 200 ,
437
+ 'transmit-interval_ms ' : 200 ,
404
438
'passive-mode' : False ,
405
439
}
406
440
data = {
0 commit comments