コード例 #1
0
def test_set_flow_run_state_with_error(patch_post):
    response = {
        "data": {"setFlowRunState": None},
        "errors": [{"message": "something went wrong"}],
    }
    post = patch_post(response)

    with set_temporary_config(
        {"cloud.api": "http://my-cloud.foo", "cloud.auth_token": "secret_token"}
    ):
        client = Client()
    with pytest.raises(ClientError, match="something went wrong"):
        client.set_flow_run_state(flow_run_id="74-salt", version=0, state=Pending())
コード例 #2
0
ファイル: test_client.py プロジェクト: ryanmwhitephd/prefect
def test_set_flow_run_state_with_error(monkeypatch):
    response = {
        "data": {"setFlowRunState": None},
        "errors": [{"message": "something went wrong"}],
    }
    post = MagicMock(return_value=MagicMock(json=MagicMock(return_value=response)))
    monkeypatch.setattr("requests.post", post)
    with set_temporary_config(
        {"cloud.graphql": "http://my-cloud.foo", "cloud.auth_token": "secret_token"}
    ):
        client = Client()
    with pytest.raises(ClientError) as exc:
        client.set_flow_run_state(flow_run_id="74-salt", version=0, state=Pending())
    assert "something went wrong" in str(exc.value)
コード例 #3
0
ファイル: test_client.py プロジェクト: shalika10/prefect
def test_set_flow_run_state_gets_queued(patch_post):
    response = {
        "data": {
            "set_flow_run_states": {
                "states": [{
                    "id": "74-salt",
                    "status": "QUEUED",
                    "message": None
                }]
            }
        }
    }
    post = patch_post(response)
    with set_temporary_config({
            "cloud.api": "http://my-cloud.foo",
            "cloud.auth_token": "secret_token",
            "backend": "cloud",
    }):
        client = Client()

    state = Running()
    result = client.set_flow_run_state(flow_run_id="74-salt",
                                       version=0,
                                       state=state)
    assert isinstance(result, State)
    assert state != result
    assert result.is_queued()
コード例 #4
0
ファイル: test_client.py プロジェクト: shalika10/prefect
def test_set_flow_run_state_uses_config_queue_interval(patch_post,
                                                       interval_seconds,
                                                       monkeypatch):
    response = {
        "data": {
            "set_flow_run_states": {
                "states": [{
                    "id": "74-salt",
                    "status": "QUEUED",
                    "message": None
                }]
            }
        }
    }
    post = patch_post(response)

    with set_temporary_config({
            "cloud.api": "http://my-cloud.foo",
            "cloud.auth_token": "secret_token",
            "backend": "cloud",
            "cloud.queue_interval": interval_seconds,
    }):
        client = Client()

        # Mocking the concept of "now" so we can have consistent assertions
        now = pendulum.now("UTC")
        mock_now = MagicMock(return_value=now)
        monkeypatch.setattr("prefect.client.client.pendulum.now", mock_now)

        result = client.set_flow_run_state(flow_run_id="74-salt",
                                           version=0,
                                           state=Running())
    mock_now.assert_called_once()

    assert now.add(seconds=interval_seconds) == result.start_time
コード例 #5
0
def test_set_flow_run_state(patch_post):
    response = {
        "data": {
            "set_flow_run_states": {
                "states": [{
                    "id": 1,
                    "status": "SUCCESS",
                    "message": None
                }]
            }
        }
    }
    post = patch_post(response)

    with set_temporary_config({
            "cloud.api": "http://my-cloud.foo",
            "cloud.auth_token": "secret_token"
    }):
        client = Client()

    state = Pending()
    result = client.set_flow_run_state(flow_run_id="74-salt",
                                       version=0,
                                       state=state)
    assert isinstance(result, State)
    assert isinstance(result, Pending)
コード例 #6
0
def test_set_flow_run_state(patch_post):
    response = {"data": {"setFlowRunState": {"id": 1}}}
    post = patch_post(response)

    with set_temporary_config(
        {"cloud.api": "http://my-cloud.foo", "cloud.auth_token": "secret_token"}
    ):
        client = Client()
    result = client.set_flow_run_state(
        flow_run_id="74-salt", version=0, state=Pending()
    )
    assert result is None
コード例 #7
0
ファイル: test_client.py プロジェクト: ryanmwhitephd/prefect
def test_set_flow_run_state(monkeypatch):
    response = {"data": {"setFlowRunState": {"id": 1}}}
    post = MagicMock(return_value=MagicMock(json=MagicMock(return_value=response)))
    monkeypatch.setattr("requests.post", post)
    with set_temporary_config(
        {"cloud.graphql": "http://my-cloud.foo", "cloud.auth_token": "secret_token"}
    ):
        client = Client()
    result = client.set_flow_run_state(
        flow_run_id="74-salt", version=0, state=Pending()
    )
    assert result is None