def test_local_agent_deploy_flows_no_registry_does_not_pull( monkeypatch, runner_token): api = MagicMock() api.ping.return_value = True api.create_container.return_value = {"Id": "container_id"} monkeypatch.setattr("prefect.agent.local.agent.docker.APIClient", MagicMock(return_value=api)) agent = LocalAgent() agent.deploy_flows(flow_runs=[ GraphQLResult({ "flow": GraphQLResult({ "storage": Docker(registry_url="", image_name="name", image_tag="tag").serialize() }), "id": "id", }) ]) assert not api.pull.called assert api.create_container.called assert api.start.called
def test_local_agent_deploy_flows(monkeypatch): api = MagicMock() api.ping.return_value = True api.create_container.return_value = {"Id": "container_id"} monkeypatch.setattr("prefect.agent.local.agent.docker.APIClient", MagicMock(return_value=api)) with set_temporary_config({"cloud.agent.auth_token": "token"}): agent = LocalAgent() agent.deploy_flows(flow_runs=[ GraphQLResult({ "flow": GraphQLResult({ "storage": Docker( registry_url="test", image_name="name", image_tag="tag", ).serialize() }), "id": "id", }) ]) assert api.pull.called assert api.create_container.called assert api.start.called assert (api.create_container.call_args[1]["command"] == "prefect execute cloud-flow") assert api.start.call_args[1]["container"] == "container_id"
def test_local_agent_deploy_flows_storage_continues(monkeypatch, runner_token): api = MagicMock() api.ping.return_value = True api.create_container.return_value = {"Id": "container_id"} monkeypatch.setattr("prefect.agent.local.agent.docker.APIClient", MagicMock(return_value=api)) agent = LocalAgent() agent.deploy_flows(flow_runs=[ GraphQLResult({ "flow": GraphQLResult({"storage": Local().serialize()}), "id": "id" }) ]) assert not api.pull.called