[ARVADOS] updated: a8688fdd6fbacc7cbcf95785a929e82a2c30bec6
git at public.curoverse.com
git at public.curoverse.com
Wed Sep 9 11:37:35 EDT 2015
Summary of changes:
sdk/python/arvados/__init__.py | 137 +++++++----------------------
sdk/python/tests/test_crunch_job_retry.py | 70 ++++++++-------
sdk/python/tests/test_crunch_task_retry.py | 65 +++++++-------
sdk/python/tests/test_task_output_retry.py | 68 +++++++-------
4 files changed, 136 insertions(+), 204 deletions(-)
via a8688fdd6fbacc7cbcf95785a929e82a2c30bec6 (commit)
from c45afe0bb9b7edcfb09f2ef75097159e63a08251 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit a8688fdd6fbacc7cbcf95785a929e82a2c30bec6
Author: Bryan Cosca <bcosc at curoverse.com>
Date: Wed Sep 9 11:37:30 2015 -0400
6600: Removed ApiError from exception list and formatted unit tests to look for HttpError
diff --git a/sdk/python/arvados/__init__.py b/sdk/python/arvados/__init__.py
index f5797c0..54ae12f 100644
--- a/sdk/python/arvados/__init__.py
+++ b/sdk/python/arvados/__init__.py
@@ -38,16 +38,13 @@ logger.addHandler(log_handler)
logger.setLevel(logging.DEBUG if config.get('ARVADOS_DEBUG')
else logging.WARNING)
-def task_set_output(self,s,api_client=None,num_retries=None):
+def task_set_output(self,s,api_client=None,num_retries=5):
if not api_client:
api_client = api('v1')
- if not num_retries:
- num_retries = 5
-
- output_retry_loop = RetryLoop(num_retries=num_retries, backoff_start=0)
- for tries_left in output_retry_loop:
+ loop = RetryLoop(num_retries=num_retries, backoff_start=0)
+ for tries_left in loop:
try:
result = api_client.job_tasks().update(uuid=self['uuid'],
body={
@@ -55,42 +52,19 @@ def task_set_output(self,s,api_client=None,num_retries=None):
'success':True,
'progress':1.0
}).execute()
- except errors.ApiError as error:
- if not retry.check_http_response_success(error.resp.status):
- if retry.check_http_response_success(error.resp.status) == False:
- logger.debug("Non-retryable ApiError raised, logging error: {}".format(error))
- output_retry_loop.save_result(error)
- raise
- else:
- if tries_left > 0:
- logger.debug("ApiError returned {}, retrying with {} tries left".format(error.resp.status,tries_left))
- else:
- logger.debug("No more retries left, logging error: {}".format(error))
- output_retry_loop.save_result(error)
- raise
except errors.HttpError as error:
- if not retry.check_http_response_success(error.status_code):
- if retry.check_http_response_success(error.status_code) == False:
- logger.debug("Non-retryable HttpError raised, logging error: {}".format(error.status_code))
- output_retry_loop.save_result(error)
- else:
- if tries_left > 0:
- logger.debug("HttpError returned {}, retrying with {} tries left".format(error.status_code,tries_left))
- else:
- logger.debug("No more retries left, logging error: {}".format(error))
- output_retry_loop.save_result(error)
- raise
+ if retry.check_http_response_success(error.status_code) is None and tries_left > 0:
+ logger.debug("task_set_output: job_tasks().update() raised {}, retrying with {} tries left".format(repr(error),tries_left))
+ else:
+ raise
else:
- output_retry_loop.save_result(result)
- if output_retry_loop.success():
+ loop.save_result(result)
+ if loop.success():
logger.debug("task_set_output is successful")
- return output_retry_loop.last_result()
- else:
- raise
-
+ return result
_current_task = None
-def current_task(api_client=None, num_retries=None):
+def current_task(api_client=None, num_retries=5):
global _current_task
if _current_task:
@@ -99,51 +73,26 @@ def current_task(api_client=None, num_retries=None):
if not api_client:
api_client = api('v1')
- if not num_retries:
- num_retries = 5
-
- current_task_retry_loop = RetryLoop(num_retries=num_retries, backoff_start=0)
- for tries_left in current_task_retry_loop:
+ current_task_loop = RetryLoop(num_retries=num_retries, backoff_start=0)
+ for tries_left in current_task_loop:
try:
result = api_client.job_tasks().get(uuid=os.environ['TASK_UUID']).execute()
- except errors.ApiError as error:
- if not retry.check_http_response_success(error.resp.status):
- if retry.check_http_response_success(error.resp.status) == False:
- logger.debug("Non-retryable ApiError raised, logging error: {}".format(error))
- current_task_retry_loop.save_result(error)
- raise
- else:
- if tries_left > 0:
- logger.debug("ApiError returned {}, retrying with {} tries left".format(error.resp.status,tries_left))
- else:
- logger.debug("No more retries left, logging error: {}".format(error))
- current_task_retry_loop.save_result(error)
- raise
except errors.HttpError as error:
- if not retry.check_http_response_success(error.status_code):
- if retry.check_http_response_success(error.status_code) == False:
- logger.debug("Non-retryable HttpError raised, logging error: {}".format(error))
- current_task_retry_loop.save_result(error)
- else:
- if tries_left > 0:
- logger.debug("HttpError returned {}, retrying with {} tries left".format(error.status_code,tries_left))
- else:
- logger.debug("No more retries left, logging error: {}".format(error))
- current_job_retry_loop.save_result(error)
- raise
+ if retry.check_http_response_success(error.status_code) is None and tries_left > 0:
+ logger.debug("current_task: job_tasks().get() raised {}, retrying with {} tries left".format(repr(error),tries_left))
+ else:
+ raise
else:
- current_task_retry_loop.save_result(result)
- if current_task_retry_loop.success():
- result = UserDict.UserDict(current_task_retry_loop.last_result())
+ current_task_loop.save_result(result)
+ if current_task_loop.success():
+ result = UserDict.UserDict(result)
result.set_output = types.MethodType(task_set_output, result)
result.tmpdir = os.environ['TASK_WORK']
_current_task = result
return result
- else:
- raise
_current_job = None
-def current_job(api_client=None, num_retries=None):
+def current_job(api_client=None, num_retries=5):
global _current_job
if _current_job:
return _current_job
@@ -151,48 +100,22 @@ def current_job(api_client=None, num_retries=None):
if not api_client:
api_client = api('v1')
- if not num_retries:
- num_retries = 5
-
- current_job_retry_loop = RetryLoop(num_retries=num_retries, backoff_start=0)
- for tries_left in current_job_retry_loop:
+ current_job_loop = RetryLoop(num_retries=num_retries, backoff_start=0)
+ for tries_left in current_job_loop:
try:
result = api_client.jobs().get(uuid=os.environ['JOB_UUID']).execute()
- except errors.ApiError as error:
- if not retry.check_http_response_success(error.resp.status):
- if retry.check_http_response_success(error.resp.status) == False:
- logger.debug("Non-retryable ApiError raised, logging error: {}".format(error))
- current_job_retry_loop.save_result(error)
- raise
- else:
- if tries_left > 0:
- logger.debug("ApiError returned {}, retrying with {} tries left".format(error.resp.status,tries_left))
- else:
- logger.debug("No more retries left, logging error: {}".format(error))
- current_job_retry_loop.save_result(error)
- raise
except errors.HttpError as error:
- if not retry.check_http_response_success(error.status_code):
- if retry.check_http_response_success(error.status_code) == False:
- logger.debug("Non-retryable HttpError raised, logging error: {}".format(error))
- current_job_retry_loop.save_result(error)
- raise
- else:
- if tries_left > 0:
- logger.debug("HttpError returned {}, retrying with {} tries left".format(error.status_code,tries_left))
- else:
- logger.debug("No more retries left, logging error: {}".format(error))
- current_job_retry_loop.save_result(error)
- raise
+ if retry.check_http_response_success(error.status_code) is None and tries_left > 0:
+ logger.debug("current_job: jobs().get() raised {}, retrying with {} tries left".format(repr(error),tries_left))
+ else:
+ raise
else:
- current_job_retry_loop.save_result(result)
- if current_job_retry_loop.success():
- result = UserDict.UserDict(current_job_retry_loop.last_result())
+ current_job_loop.save_result(result)
+ if current_job_loop.success():
+ result = UserDict.UserDict(result)
result.tmpdir = os.environ['JOB_WORK']
_current_job = result
return result
- else:
- raise
def getjobparam(*args):
return current_job()['script_parameters'].get(*args)
diff --git a/sdk/python/tests/test_crunch_job_retry.py b/sdk/python/tests/test_crunch_job_retry.py
index 51c2f97..caf9365 100644
--- a/sdk/python/tests/test_crunch_job_retry.py
+++ b/sdk/python/tests/test_crunch_job_retry.py
@@ -24,77 +24,81 @@ class CurrentJobTestCase(unittest.TestCase, tutil.ApiClientMock):
def test_mock_retry_until_break(self):
api_client = mock.MagicMock()
- api_client.jobs().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
- arvados.current_job(api_client=api_client,num_retries=1)
+ api_client.jobs().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
+ arvados.current_job(api_client=api_client)
def test_mock_success(self):
api_client = mock.MagicMock()
api_client.jobs().get().execute.side_effect = [tutil.fake_httplib2_response(200)]
- arvados.current_job(api_client=api_client,num_retries=0)
+ arvados.current_job(api_client=api_client)
def test_mock_fail(self):
api_client = mock.MagicMock()
- api_client.jobs().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(400), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
- arvados.current_job(api_client=api_client,num_retries=0)
+ api_client.jobs().get().execute.side_effect = [arvados.errors.HttpError(400, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
+ arvados.current_job(api_client=api_client)
def test_mock_retry_success(self):
api_client = mock.MagicMock()
- api_client.jobs().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- tutil.fake_httplib2_response(200)]
+ api_client.jobs().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ tutil.fake_httplib2_response(200)]
arvados.current_job(api_client=api_client,num_retries=2)
def test_mock_retry_fail(self):
api_client = mock.MagicMock()
- api_client.jobs().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(404), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
+ api_client.jobs().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(404, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
arvados.current_job(api_client=api_client,num_retries=2)
def test_mock_retry_retry(self):
api_client = mock.MagicMock()
- api_client.jobs().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
+ api_client.jobs().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
arvados.current_job(api_client=api_client,num_retries=2)
def test_mock_retry_success_retry(self):
api_client = mock.MagicMock()
- api_client.jobs().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- tutil.fake_httplib2_response(200),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
+ api_client.jobs().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ tutil.fake_httplib2_response(200),
+ arvados.errors.HttpError(500, "{}")]
arvados.current_job(api_client=api_client,num_retries=2)
def test_mock_retry_fail_retry(self):
api_client = mock.MagicMock()
- api_client.jobs().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(400), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
+ api_client.jobs().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(400, "{}"),
+ arvados.errors.HttpError(500, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
arvados.current_job(api_client=api_client,num_retries=2)
def test_mock_success_retry_retry(self):
api_client = mock.MagicMock()
api_client.jobs().get().execute.side_effect = [tutil.fake_httplib2_response(200),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}")]
arvados.current_job(api_client=api_client,num_retries=2)
def test_mock_retry_retry_success(self):
api_client = mock.MagicMock()
- api_client.jobs().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- tutil.fake_httplib2_response(200)]
+ api_client.jobs().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ tutil.fake_httplib2_response(200)]
arvados.current_job(api_client=api_client,num_retries=2)
def test_mock_retry_retry_fail(self):
api_client = mock.MagicMock()
- api_client.jobs().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(400), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
+ api_client.jobs().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(400, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
arvados.current_job(api_client=api_client,num_retries=2)
diff --git a/sdk/python/tests/test_crunch_task_retry.py b/sdk/python/tests/test_crunch_task_retry.py
index 2c87c72..2d07065 100644
--- a/sdk/python/tests/test_crunch_task_retry.py
+++ b/sdk/python/tests/test_crunch_task_retry.py
@@ -23,78 +23,81 @@ class CurrentTaskTestCase(unittest.TestCase, tutil.ApiClientMock):
def test_mock_retry_until_break(self):
api_client = mock.MagicMock()
- api_client.job_tasks().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
- arvados.current_task(api_client=api_client,num_retries=1)
+ api_client.job_tasks().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
+ arvados.current_task(api_client=api_client)
def test_mock_success(self):
api_client = mock.MagicMock()
api_client.job_tasks().get().execute.side_effect = [tutil.fake_httplib2_response(200)]
- arvados.current_task(api_client=api_client,num_retries=0)
+ arvados.current_task(api_client=api_client)
def test_mock_fail(self):
api_client = mock.MagicMock()
- api_client.job_tasks().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(400), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
- arvados.current_task(api_client=api_client,num_retries=0)
+ api_client.job_tasks().get().execute.side_effect = [arvados.errors.HttpError(400, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
+ arvados.current_task(api_client=api_client)
def test_mock_retry_success(self):
api_client = mock.MagicMock()
- api_client.job_tasks().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
+ api_client.job_tasks().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
tutil.fake_httplib2_response(200)]
arvados.current_task(api_client=api_client,num_retries=2)
def test_mock_retry_fail(self):
api_client = mock.MagicMock()
- api_client.job_tasks().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(404), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
+ api_client.job_tasks().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(404, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
arvados.current_task(api_client=api_client,num_retries=2)
def test_mock_retry_retry(self):
api_client = mock.MagicMock()
- api_client.job_tasks().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
+ api_client.job_tasks().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
arvados.current_task(api_client=api_client,num_retries=2)
def test_mock_retry_success_retry(self):
api_client = mock.MagicMock()
- api_client.job_tasks().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
+ api_client.job_tasks().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
tutil.fake_httplib2_response(200),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
+ arvados.errors.HttpError(500, "{}")]
arvados.current_task(api_client=api_client,num_retries=2)
def test_mock_retry_fail_retry(self):
api_client = mock.MagicMock()
- api_client.job_tasks().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(400), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
+ api_client.job_tasks().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(400, "{}"),
+ arvados.errors.HttpError(500, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
arvados.current_task(api_client=api_client,num_retries=2)
def test_mock_success_retry_retry(self):
api_client = mock.MagicMock()
api_client.job_tasks().get().execute.side_effect = [tutil.fake_httplib2_response(200),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}")]
arvados.current_task(api_client=api_client,num_retries=2)
def test_mock_retry_retry_success(self):
api_client = mock.MagicMock()
- api_client.job_tasks().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
+ api_client.job_tasks().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
tutil.fake_httplib2_response(200)]
arvados.current_task(api_client=api_client,num_retries=2)
def test_mock_retry_retry_fail(self):
api_client = mock.MagicMock()
- api_client.job_tasks().get().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(400), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
+ api_client.job_tasks().get().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(400, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
arvados.current_task(api_client=api_client,num_retries=2)
diff --git a/sdk/python/tests/test_task_output_retry.py b/sdk/python/tests/test_task_output_retry.py
index 4a0b5b8..8fd9f9a 100644
--- a/sdk/python/tests/test_task_output_retry.py
+++ b/sdk/python/tests/test_task_output_retry.py
@@ -13,77 +13,79 @@ class TaskSetOutputTestCase(unittest.TestCase, tutil.ApiClientMock):
def test_mock_retry_until_break(self):
api_client = mock.MagicMock()
- api_client.job_tasks().update().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
- arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client,num_retries=1)
+ api_client.job_tasks().update().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
+ arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client)
def test_mock_success(self):
api_client = mock.MagicMock()
api_client.job_tasks().update().execute.side_effect = [tutil.fake_httplib2_response(200)]
- arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client,num_retries=1)
+ arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client)
def test_mock_fail(self):
api_client = mock.MagicMock()
- api_client.job_tasks().update().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(400), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
- arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client,num_retries=1)
+ api_client.job_tasks().update().execute.side_effect = [arvados.errors.HttpError(400, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
+ arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client)
def test_mock_retry_success(self):
api_client = mock.MagicMock()
- api_client.job_tasks().update().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- tutil.fake_httplib2_response(200)]
+ api_client.job_tasks().update().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ tutil.fake_httplib2_response(200)]
arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client,num_retries=1)
def test_mock_retry_fail(self):
api_client = mock.MagicMock()
- api_client.job_tasks().update().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(404), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
+ api_client.job_tasks().update().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(404, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client,num_retries=1)
def test_mock_retry_retry(self):
api_client = mock.MagicMock()
- api_client.job_tasks().update().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
+ api_client.job_tasks().update().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client,num_retries=1)
def test_mock_retry_success_retry(self):
api_client = mock.MagicMock()
- api_client.job_tasks().update().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
+ api_client.job_tasks().update().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
tutil.fake_httplib2_response(200),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
+ arvados.errors.HttpError(500, "{}")]
arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client,num_retries=2)
def test_mock_retry_fail_retry(self):
api_client = mock.MagicMock()
- api_client.job_tasks().update().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(400), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
+ api_client.job_tasks().update().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(400, "{}"),
+ arvados.errors.HttpError(500, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client,num_retries=2)
def test_mock_success_retry_retry(self):
api_client = mock.MagicMock()
api_client.job_tasks().update().execute.side_effect = [tutil.fake_httplib2_response(200),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}")]
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}")]
arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client,num_retries=2)
def test_mock_retry_retry_success(self):
api_client = mock.MagicMock()
- api_client.job_tasks().update().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- tutil.fake_httplib2_response(200)]
+ api_client.job_tasks().update().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ tutil.fake_httplib2_response(200)]
arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client,num_retries=2)
def test_mock_retry_retry_fail(self):
api_client = mock.MagicMock()
- api_client.job_tasks().update().execute.side_effect = [arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(500), "{}"),
- arvados.errors.ApiError(tutil.fake_httplib2_response(400), "{}")]
- with self.assertRaises(arvados.errors.ApiError) as err_check:
+ api_client.job_tasks().update().execute.side_effect = [arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(500, "{}"),
+ arvados.errors.HttpError(400, "{}")]
+ with self.assertRaises(arvados.errors.HttpError) as err_check:
arvados.task_set_output({'uuid':'zzzzz-zzzzz-zzzzzzzzzzzzzzz'},s='d41d8cd98f00b204e9800998ecf8427e+0',api_client=api_client,num_retries=2)
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list