def test_docker_agent_heartbeat_exits_on_failure(api, caplog): agent = DockerAgent() api.ping.return_value = False for _ in range(5): agent.heartbeat() with pytest.raises(SystemExit): agent.heartbeat() assert "Cannot reconnect to Docker daemon. Agent is shutting down." in caplog.text assert api.ping.call_count == 7
def test_docker_agent_heartbeat_logs_reconnect(api, caplog): agent = DockerAgent() api.ping.return_value = False agent.heartbeat() agent.heartbeat() api.ping.return_value = True agent.heartbeat() assert api.ping.call_count == 4 assert "Reconnected to Docker daemon" in caplog.text
def test_docker_agent_heartbeat_resets_fail_count(api, caplog): agent = DockerAgent() api.ping.return_value = False agent.heartbeat() agent.heartbeat() assert agent.failed_connections == 2 api.ping.return_value = True agent.heartbeat() assert agent.failed_connections == 0 assert api.ping.call_count == 4
def test_docker_agent_heartbeat_gocase(monkeypatch, cloud_api): api = MagicMock() api.ping.return_value = True monkeypatch.setattr( "prefect.agent.docker.agent.DockerAgent._get_docker_client", MagicMock(return_value=api), ) agent = DockerAgent() agent.heartbeat() assert api.ping.call_count == 2
def test_docker_agent_heartbeat_logs_reconnect(monkeypatch, cloud_api, caplog): api = MagicMock() api.ping.return_value = True monkeypatch.setattr( "prefect.agent.docker.agent.DockerAgent._get_docker_client", MagicMock(return_value=api), ) agent = DockerAgent() api.ping.return_value = False agent.heartbeat() agent.heartbeat() api.ping.return_value = True agent.heartbeat() assert api.ping.call_count == 4 assert "Reconnected to Docker daemon" in caplog.text
def test_docker_agent_heartbeat_resets_fail_count(monkeypatch, cloud_api, caplog): api = MagicMock() api.ping.return_value = True monkeypatch.setattr( "prefect.agent.docker.agent.DockerAgent._get_docker_client", MagicMock(return_value=api), ) agent = DockerAgent() api.ping.return_value = False agent.heartbeat() agent.heartbeat() assert agent.failed_connections == 2 api.ping.return_value = True agent.heartbeat() assert agent.failed_connections == 0 assert api.ping.call_count == 4
def test_docker_agent_heartbeat_exits_on_failure(monkeypatch, cloud_api, caplog): api = MagicMock() api.ping.return_value = True monkeypatch.setattr( "prefect.agent.docker.agent.DockerAgent._get_docker_client", MagicMock(return_value=api), ) agent = DockerAgent() api.ping.return_value = False agent.heartbeat() agent.heartbeat() agent.heartbeat() agent.heartbeat() agent.heartbeat() with pytest.raises(SystemExit): agent.heartbeat() assert "Cannot reconnect to Docker daemon. Agent is shutting down." in caplog.text assert api.ping.call_count == 7
def test_docker_agent_heartbeat_gocase(api): agent = DockerAgent() agent.heartbeat() assert api.ping.call_count == 2