def __restart_peers_common(run_command_results, run_command_expects, last_log_crit_message, mocked_log_crit): cfg_mgr = MagicMock() common_objs = { 'directory': Directory(), 'cfg_mgr': cfg_mgr, 'tf': TemplateFabric(), 'constants': global_constants, } m = BBRMgr(common_objs, "CONFIG_DB", "BGP_BBR") m.bbr_enabled_pgs = { "PEER_V4": ["ipv4", "ipv6"], "PEER_V6": ["ipv6"], } def run_command_mock(cmd): assert cmd == run_command_expects[run_command_mock.run] res = run_command_results[run_command_mock.run] run_command_mock.run += 1 return res run_command_mock.run = 0 bgpcfgd.managers_bbr.run_command = run_command_mock #lambda cmd: (0, "", "") m._BBRMgr__restart_peers() if last_log_crit_message is not None: mocked_log_crit.assert_called_with(last_log_crit_message)
def set_handler_common(key, value, is_enabled, is_valid, has_no_push_cmd_errors, mocked_log_crit, mocked_log_info): cfg_mgr = MagicMock() common_objs = { 'directory': Directory(), 'cfg_mgr': cfg_mgr, 'tf': TemplateFabric(), 'constants': global_constants, } m = BBRMgr(common_objs, "CONFIG_DB", "BGP_BBR") m.enabled = is_enabled prepare_config_return_value = [[ "vtysh", "-c", "clear bgp peer-group PEER_V4 soft in" ], ["vtysh", "-c", "clear bgp peer-group PEER_V6 soft in"]] m._BBRMgr__set_prepare_config = MagicMock( return_value=prepare_config_return_value) m.cfg_mgr.push_list = MagicMock(return_value=has_no_push_cmd_errors) m._BBRMgr__restart_peers = MagicMock() res = m.set_handler(key, value) assert res, "Returns always True" if not is_enabled: mocked_log_info.assert_called_with( 'BBRMgr::BBR is disabled. Drop the request') else: if is_valid: m._BBRMgr__set_prepare_config.assert_called_once_with( value["status"]) m.cfg_mgr.push_list.assert_called_once_with( prepare_config_return_value) if has_no_push_cmd_errors: m._BBRMgr__restart_peers.assert_called_once() else: mocked_log_crit.assert_called_with( "BBRMgr::can't apply configuration") m._BBRMgr__restart_peers.assert_not_called() else: m._BBRMgr__set_prepare_config.assert_not_called() m.cfg_mgr.push_list.assert_not_called() m._BBRMgr__restart_peers.assert_not_called()