Пример #1
0
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
Пример #2
0
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"
Пример #3
0
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