Ejemplo n.º 1
0
def test_set_task_run_state_with_error(monkeypatch):
    response = {
        "data": {
            "setTaskRunState": None
        },
        "errors": [{
            "message": "something went wrong"
        }],
    }
    post = MagicMock(return_value=MagicMock(json=MagicMock(
        return_value=response)))

    session = MagicMock()
    session.return_value.post = post
    monkeypatch.setattr("requests.Session", session)
    with set_temporary_config({
            "cloud.graphql": "http://my-cloud.foo",
            "cloud.auth_token": "secret_token"
    }):
        client = Client()

    with pytest.raises(ClientError, match="something went wrong"):
        client.set_task_run_state(task_run_id="76-salt",
                                  version=0,
                                  state=Pending())
Ejemplo n.º 2
0
def test_set_task_run_state_with_error(patch_post):
    response = {
        "data": {"setTaskRunStates": 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_task_run_state(task_run_id="76-salt", version=0, state=Pending())
Ejemplo n.º 3
0
def test_set_task_run_state_serializes(patch_post):
    response = {"data": {"setTaskRunStates": {"states": [{"status": "SUCCESS"}]}}}
    post = patch_post(response)

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

    res = SafeResult(lambda: None, result_handler=None)
    with pytest.raises(marshmallow.exceptions.ValidationError):
        client.set_task_run_state(
            task_run_id="76-salt", version=0, state=Pending(result=res)
        )
Ejemplo n.º 4
0
def test_set_task_run_state_responds_to_config_when_queued(patch_post):
    response = {
        "data": {
            "set_task_run_states": {
                "states": [{
                    "status": "QUEUED",
                    "message": "hol up"
                }]
            }
        }
    }
    post = patch_post(response)
    state = Pending()

    with set_temporary_config({
            "cloud.api": "http://my-cloud.foo",
            "cloud.auth_token": "secret_token",
            "backend": "cloud",
            "cloud.queue_interval": 750,
    }):
        client = Client()
        result = client.set_task_run_state(task_run_id="76-salt",
                                           version=0,
                                           state=state)

    assert result.is_queued()
    assert result.state is None  # caller should set this
    assert result.message == "hol up"
    assert result.start_time >= pendulum.now("UTC").add(seconds=749)
Ejemplo n.º 5
0
def test_set_task_run_state_responds_to_status(patch_post):
    response = {
        "data": {
            "set_task_run_states": {
                "states": [{
                    "status": "QUEUED"
                }]
            }
        }
    }
    post = patch_post(response)
    state = Pending()

    with set_temporary_config({
            "cloud.api": "http://my-cloud.foo",
            "cloud.auth_token": "secret_token",
            "backend": "cloud",
    }):
        client = Client()
    result = client.set_task_run_state(task_run_id="76-salt",
                                       version=0,
                                       state=state)

    assert result.is_queued()
    assert result.state is None  # caller should set this
Ejemplo n.º 6
0
def test_set_task_run_state_serializes(monkeypatch):
    response = {"data": {"setTaskRunState": None}}
    post = MagicMock(return_value=MagicMock(json=MagicMock(
        return_value=response)))

    session = MagicMock()
    session.return_value.post = post
    monkeypatch.setattr("requests.Session", session)
    with set_temporary_config({
            "cloud.graphql": "http://my-cloud.foo",
            "cloud.auth_token": "secret_token"
    }):
        client = Client()

    res = SafeResult(lambda: None, result_handler=None)
    with pytest.raises(marshmallow.exceptions.ValidationError):
        client.set_task_run_state(task_run_id="76-salt",
                                  version=0,
                                  state=Pending(result=res))
Ejemplo n.º 7
0
def test_set_task_run_state(patch_post):
    response = {"data": {"setTaskRunStates": {"states": [{"status": "SUCCESS"}]}}}
    post = patch_post(response)
    state = Pending()

    with set_temporary_config(
        {"cloud.api": "http://my-cloud.foo", "cloud.auth_token": "secret_token"}
    ):
        client = Client()
    result = client.set_task_run_state(task_run_id="76-salt", version=0, state=state)

    assert result is state
Ejemplo n.º 8
0
def test_set_task_run_state(patch_post):
    response = {"data": {"setTaskRunState": None}}
    post = patch_post(response)

    with set_temporary_config({
            "cloud.graphql": "http://my-cloud.foo",
            "cloud.auth_token": "secret_token"
    }):
        client = Client()
    result = client.set_task_run_state(task_run_id="76-salt",
                                       version=0,
                                       state=Pending())

    assert result is None
Ejemplo n.º 9
0
def test_set_task_run_state(monkeypatch):
    response = {"data": {"setTaskRunState": None}}
    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_task_run_state(
        task_run_id="76-salt", version=0, state=Pending()
    )

    assert result is None