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())
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())
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) )
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)
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
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))
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
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
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