def mark_host_at_risk(context, host):
    start = mesos_maintenance.datetime_to_nanoseconds(mesos_maintenance.now())
    duration = mesos_maintenance.parse_timedelta("1h")
    with contextlib.nested(
        mock.patch("paasta_tools.mesos_maintenance.get_principal", autospec=True),
        mock.patch("paasta_tools.mesos_maintenance.get_secret", autospec=True),
    ) as (mock_get_principal, mock_get_secret):
        credentials = mesos_maintenance.load_credentials(mesos_secrets="/etc/mesos-slave-secret")
        mock_get_principal.return_value = credentials.principal
        mock_get_secret.return_value = credentials.secret
        mesos_maintenance.drain([host], start, duration)
        context.at_risk_host = host
def mark_host_at_risk(context, host):
    start = mesos_maintenance.datetime_to_nanoseconds(mesos_maintenance.now())
    duration = mesos_maintenance.parse_timedelta('1h')
    with mock.patch(
        'paasta_tools.mesos_maintenance.get_principal', autospec=True,
    ) as mock_get_principal, mock.patch(
        'paasta_tools.mesos_maintenance.get_secret', autospec=True,
    ) as mock_get_secret:
        credentials = mesos_maintenance.load_credentials(mesos_secrets='/etc/mesos-slave-secret')
        mock_get_principal.return_value = credentials.principal
        mock_get_secret.return_value = credentials.secret
        mesos_maintenance.drain([host], start, duration)
        context.at_risk_host = host
def test_parse_timedelta():
    assert parse_timedelta(value='1 hour') == 3600 * 1000000000
def test_parse_timedelta_invalid():
    with pytest.raises(argparse.ArgumentTypeError):
        parse_timedelta(value='fake value')
def test_parse_timedelta_none():
    with pytest.raises(argparse.ArgumentTypeError):
        parse_timedelta(value=None)
def test_parse_timedelta():
    assert parse_timedelta(value='1 hour') == 3600 * 1000000000
def test_parse_timedelta_invalid():
    with pytest.raises(argparse.ArgumentTypeError):
        parse_timedelta(value='fake value')
def test_parse_timedelta_none():
    with pytest.raises(argparse.ArgumentTypeError):
        parse_timedelta(value=None)