27
27
bmpcfgd = load_module_from_source ('bmpcfgd' , bmpcfgd_path )
28
28
29
29
30
- from bmpcfgd import signal_handler
31
-
32
30
original_syslog = bmpcfgd .syslog
33
31
34
32
# Mock swsscommon classes
@@ -46,71 +44,42 @@ def setUp(self):
46
44
self .test_data ['BMP' ] = {}
47
45
self .test_data ['BMP' ]['table' ] = {'bgp_neighbor_table' : 'false' , 'bgp_rib_in_table' : 'false' , 'bgp_rib_out_table' : 'false' }
48
46
49
- @mock .patch ('sonic_installer.bootloader.get_bootloader' , side_effect = [MockBootloader ()])
50
- @mock .patch ('syslog.syslog' )
51
47
@mock .patch ('subprocess.call' )
52
- def test_bmpcfgd_neighbor_enable (self , mock_check_call , mock_syslog , mock_get_bootloader ):
48
+ @mock .patch ('bmpcfgd.BMPCfg.log_info' )
49
+ def test_bmpcfgd_neighbor_enable (self , mock_call , mock_log_info ):
53
50
self .test_data ['BMP' ]['table' ]['bgp_neighbor_table' ] = 'true'
54
51
MockConfigDb .set_config_db (self .test_data )
55
52
bmp_config_daemon = bmpcfgd .BMPCfgDaemon ()
56
53
bmp_config_daemon .register_callbacks ()
57
54
bmp_config_daemon .bmp_handler ("BMP" , '' , self .test_data )
58
55
expected_calls = [
59
- mock .call (original_syslog .LOG_INFO , 'BMPCfg: update : True, False, False' ),
60
- mock .call (original_syslog .LOG_INFO , 'BMPCfg: stop bmp daemon' ),
61
- mock .call (original_syslog .LOG_INFO , 'BMPCfg: Reset bmp table from state_db' ),
62
- mock .call (original_syslog .LOG_INFO , 'BMPCfg: start bmp daemon' ),
56
+ mock .call (["supervisorctl" , "stop" , "openbmpd" ]),
57
+ mock .call (["supervisorctl" , "start" , "openbmpd" ])
63
58
]
64
- mock_syslog .assert_has_calls (expected_calls )
59
+ mock_log_info .assert_has_calls (expected_calls )
65
60
66
- @mock .patch ('sonic_installer.bootloader.get_bootloader' , side_effect = [MockBootloader ()])
67
- @mock .patch ('syslog.syslog' )
68
- @mock .patch ('subprocess.check_call' )
69
- def test_bmpcfgd_bgp_rib_in_enable (self , mock_check_call , mock_syslog , mock_get_bootloader ):
61
+ @mock .patch ('subprocess.call' )
62
+ @mock .patch ('bmpcfgd.BMPCfg.log_info' )
63
+ def test_bmpcfgd_bgp_rib_in_enable (self , mock_call , mock_log_info ):
70
64
self .test_data ['BMP' ]['table' ]['bgp_rib_in_table' ] = 'true'
71
65
MockConfigDb .set_config_db (self .test_data )
72
66
bmp_config_daemon = bmpcfgd .BMPCfgDaemon ()
73
67
bmp_config_daemon .bmp_handler ("BMP" , '' , self .test_data )
74
68
expected_calls = [
75
- mock .call (original_syslog .LOG_INFO , 'BMPCfg: update : False, True, False' ),
76
- mock .call (original_syslog .LOG_INFO , 'BMPCfg: stop bmp daemon' ),
77
- mock .call (original_syslog .LOG_INFO , 'BMPCfg: Reset bmp table from state_db' ),
78
- mock .call (original_syslog .LOG_INFO , 'BMPCfg: start bmp daemon' ),
69
+ mock .call (["supervisorctl" , "stop" , "openbmpd" ]),
70
+ mock .call (["supervisorctl" , "start" , "openbmpd" ])
79
71
]
80
- mock_syslog .assert_has_calls (expected_calls )
72
+ mock_log_info .assert_has_calls (expected_calls )
81
73
82
- @mock .patch ('sonic_installer.bootloader.get_bootloader' , side_effect = [MockBootloader ()])
83
- @mock .patch ('syslog.syslog' )
84
- @mock .patch ('subprocess.check_call' )
85
- def test_bmpcfgd_bgp_rib_out_enable (self , mock_check_call , mock_syslog , mock_get_bootloader ):
74
+ @mock .patch ('subprocess.call' )
75
+ @mock .patch ('bmpcfgd.BMPCfg.log_info' )
76
+ def test_bmpcfgd_bgp_rib_out_enable (self , mock_call , mock_log_info ):
86
77
self .test_data ['BMP' ]['table' ]['bgp_rib_out_table' ] = 'true'
87
78
MockConfigDb .set_config_db (self .test_data )
88
79
bmp_config_daemon = bmpcfgd .BMPCfgDaemon ()
89
80
bmp_config_daemon .bmp_handler ("BMP" , '' , self .test_data )
90
81
expected_calls = [
91
- mock .call (original_syslog .LOG_INFO , 'BMPCfg: update : False, False, True' ),
92
- mock .call (original_syslog .LOG_INFO , 'BMPCfg: stop bmp daemon' ),
93
- mock .call (original_syslog .LOG_INFO , 'BMPCfg: Reset bmp table from state_db' ),
94
- mock .call (original_syslog .LOG_INFO , 'BMPCfg: start bmp daemon' ),
82
+ mock .call (["supervisorctl" , "stop" , "openbmpd" ]),
83
+ mock .call (["supervisorctl" , "start" , "openbmpd" ])
95
84
]
96
- mock_syslog .assert_has_calls (expected_calls )
97
-
98
-
99
- @mock .patch ('syslog.syslog' )
100
- @mock .patch .object (sys , 'exit' )
101
- def test_signal_handler (self , mock_exit , mock_syslog ):
102
- # Test SIGHUP signal
103
- signal_handler (signal .SIGHUP , None )
104
- mock_syslog .assert_called_with (original_syslog .LOG_INFO , "bmpcfgd: signal 'SIGHUP' is caught and ignoring.." )
105
- mock_exit .assert_not_called ()
106
- # Test SIGINT signal
107
- signal_handler (signal .SIGINT , None )
108
- mock_syslog .assert_called_with (original_syslog .LOG_INFO , "bmpcfgd: signal 'SIGINT' is caught and exiting..." )
109
- mock_exit .assert_called_once_with (128 + signal .SIGINT )
110
- # Test SIGTERM signal
111
- signal_handler (signal .SIGTERM , None )
112
- mock_syslog .assert_called_with (original_syslog .LOG_INFO , "bmpcfgd: signal 'SIGTERM' is caught and exiting..." )
113
- mock_exit .assert_called_with (128 + signal .SIGTERM )
114
- # Test invalid signal
115
- signal_handler (999 , None )
116
- mock_syslog .assert_called_with (original_syslog .LOG_INFO , "bmpcfgd: invalid signal - ignoring.." )
85
+ mock_log_info .assert_has_calls (expected_calls )
0 commit comments