Beispiel #1
0
def test_docker_agent_start_max_polls_zero(monkeypatch, runner_token, cloud_api):
    api = MagicMock()
    monkeypatch.setattr(
        "prefect.agent.docker.agent.DockerAgent._get_docker_client",
        MagicMock(return_value=api),
    )

    on_shutdown = MagicMock()
    monkeypatch.setattr(
        "prefect.agent.docker.agent.DockerAgent.on_shutdown", on_shutdown
    )

    agent_process = MagicMock()
    monkeypatch.setattr("prefect.agent.agent.Agent.agent_process", agent_process)

    agent_connect = MagicMock(return_value="id")
    monkeypatch.setattr("prefect.agent.agent.Agent.agent_connect", agent_connect)

    heartbeat = MagicMock()
    monkeypatch.setattr("prefect.agent.docker.agent.DockerAgent.heartbeat", heartbeat)

    agent = DockerAgent(max_polls=0)
    agent.start()

    assert on_shutdown.call_count == 1
    assert agent_process.call_count == 0
    assert heartbeat.call_count == 1
Beispiel #2
0
def test_docker_agent_start_max_polls(max_polls, api, monkeypatch,
                                      runner_token):
    on_shutdown = MagicMock()
    monkeypatch.setattr("prefect.agent.docker.agent.DockerAgent.on_shutdown",
                        on_shutdown)

    agent_process = MagicMock()
    monkeypatch.setattr("prefect.agent.agent.Agent.agent_process",
                        agent_process)

    agent_connect = MagicMock(return_value="id")
    monkeypatch.setattr("prefect.agent.agent.Agent.agent_connect",
                        agent_connect)

    heartbeat = MagicMock()
    monkeypatch.setattr("prefect.agent.docker.agent.DockerAgent.heartbeat",
                        heartbeat)

    agent = DockerAgent(max_polls=max_polls)
    agent.start()

    assert agent_connect.call_count == 1
    assert agent_process.call_count == max_polls
    assert heartbeat.call_count == 1
    assert on_shutdown.call_count == 1