def test_outputs_succeeded(self): poller = mock.Mock() api_result = mock.Mock() api_result.state = 'succeeded' mock_client = create_client_mock() expected_return = [{'test': 'test_result'}] mock_client.jobs.list_runs_outputs.return_value = expected_return result = CivisFuture(poller, (1, 2), client=mock_client) result._set_api_result(api_result) assert result.outputs() == expected_return
def test_set_api_result_result_succeeded(self, mock_subscribe, mock_api): mock_pubnub = mock.Mock() mock_pubnub.unsubscribe_all.return_value = None mock_subscribe.return_value = mock_pubnub poller = mock.Mock() api_result = mock.Mock() api_result.state = 'succeeded' result = CivisFuture(poller, (1, 2)) result._set_api_result(api_result) assert poller.call_count == 0 assert mock_pubnub.unsubscribe_all.call_count == 1 assert result._state == 'FINISHED'
def test_set_api_result_failed(self, mock_subscribe, mock_api): mock_pubnub = mock.Mock() mock_pubnub.unsubscribe_all.return_value = None mock_subscribe.return_value = mock_pubnub poller = mock.Mock() api_result = mock.Mock() api_result.state = 'failed' result = CivisFuture(poller, (1, 2)) result._set_api_result(api_result) assert mock_pubnub.unsubscribe_all.call_count == 1 assert result._state == 'FINISHED' with pytest.raises(CivisJobFailure): result.result()