Exemple #1
0
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)
Exemple #2
0
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()