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
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