コード例 #1
0
ファイル: test_agent.py プロジェクト: bmedx/prefect
def test_agent_process_raises_exception_and_logs(monkeypatch, runner_token):
    client = MagicMock()
    client.return_value.graphql.side_effect = ValueError("Error")
    monkeypatch.setattr("prefect.agent.agent.Client", client)

    agent = Agent()
    with pytest.raises(Exception):
        agent.agent_process("id")
        assert client.write_run_log.called
コード例 #2
0
ファイル: test_agent.py プロジェクト: bmedx/prefect
def test_agent_process(monkeypatch, runner_token):
    gql_return = MagicMock(return_value=MagicMock(data=MagicMock(
        set_flow_run_state=None,
        set_task_run_state=None,
        getRunsInQueue=MagicMock(flow_run_ids=["id"]),
        flow_run=[
            GraphQLResult({
                "id":
                "id",
                "serialized_state":
                Scheduled().serialize(),
                "version":
                1,
                "task_runs": [
                    GraphQLResult({
                        "id": "id",
                        "version": 1,
                        "serialized_state": Scheduled().serialize(),
                    })
                ],
            })
        ],
    )))
    client = MagicMock()
    client.return_value.graphql = gql_return
    monkeypatch.setattr("prefect.agent.agent.Client", client)

    # Assert it doesn't return everything but all functions are called properly
    agent = Agent()
    assert agent.agent_process("id")
コード例 #3
0
ファイル: test_agent.py プロジェクト: tulw4r/prefect
def test_agent_process(monkeypatch, runner_token, cloud_api):
    gql_return = MagicMock(return_value=MagicMock(data=MagicMock(
        set_flow_run_state=None,
        set_task_run_state=None,
        get_runs_in_queue=MagicMock(flow_run_ids=["id"]),
        flow_run=[
            GraphQLResult({
                "id":
                "id",
                "serialized_state":
                Scheduled().serialize(),
                "version":
                1,
                "task_runs": [
                    GraphQLResult({
                        "id": "id",
                        "version": 1,
                        "serialized_state": Scheduled().serialize(),
                    })
                ],
            })
        ],
    )))
    client = MagicMock()
    client.return_value.graphql = gql_return
    monkeypatch.setattr("prefect.agent.agent.Client", client)

    executor = MagicMock()
    future_mock = MagicMock()
    executor.submit = MagicMock(return_value=future_mock)

    agent = Agent()
    assert agent.agent_process(executor)
    assert executor.submit.called
    assert future_mock.add_done_callback.called
コード例 #4
0
ファイル: test_agent.py プロジェクト: bmedx/prefect
def test_agent_process_no_runs_found(monkeypatch, runner_token):
    gql_return = MagicMock(return_value=MagicMock(data=MagicMock(
        set_flow_run_state=None,
        set_task_run_state=None,
        getRunsInQueue=MagicMock(flow_run_ids=["id"]),
        flow_run=[],
    )))
    client = MagicMock()
    client.return_value.graphql = gql_return
    monkeypatch.setattr("prefect.agent.agent.Client", client)

    # Assert it doesn't return everything but all functions are called properly
    agent = Agent()
    assert not agent.agent_process("id")
コード例 #5
0
ファイル: test_agent.py プロジェクト: tulw4r/prefect
def test_agent_process_no_runs_found(monkeypatch, runner_token, cloud_api):
    gql_return = MagicMock(return_value=MagicMock(data=MagicMock(
        set_flow_run_state=None,
        set_task_run_state=None,
        get_runs_in_queue=MagicMock(flow_run_ids=["id"]),
        flow_run=[],
    )))
    client = MagicMock()
    client.return_value.graphql = gql_return
    monkeypatch.setattr("prefect.agent.agent.Client", client)

    executor = MagicMock()

    agent = Agent()
    assert not agent.agent_process(executor)
    assert not executor.submit.called