summaryrefslogtreecommitdiff
path: root/taskflow/tests/unit/worker_based
diff options
context:
space:
mode:
authorJoshua Harlow <harlowja@yahoo-inc.com>2014-02-21 17:35:13 -0800
committerJoshua Harlow <harlowja@yahoo-inc.com>2014-03-06 10:18:02 -0800
commit1cf69b9ec647136367d3b6d016375a652d9b269b (patch)
treee6b3f018541d168679787725cec604246879b955 /taskflow/tests/unit/worker_based
parent3e495e44f3cdbd1351ff7d18c829bbe155413b86 (diff)
downloadtaskflow-1cf69b9ec647136367d3b6d016375a652d9b269b.tar.gz
A few worker-engine cleanups
- Remove usage of % with logs, just let the underlying LOG do the interpolation for us if the log level passes. - Use LOG.exception instead of LOG.warn and then including the exception as a interpolated variable. Just let the LOG.exception output the exception trace and info. - Capture the failure object before doing other work using a new context manager that can yield back a failure object before further code is called (to avoid a context switch happening in eventlet or elsewhere that would clear the exception state). Change-Id: Ic1a504ba69c56ba226b1a067b5ade4590c245dd8
Diffstat (limited to 'taskflow/tests/unit/worker_based')
-rw-r--r--taskflow/tests/unit/worker_based/test_executor.py6
-rw-r--r--taskflow/tests/unit/worker_based/test_server.py14
2 files changed, 9 insertions, 11 deletions
diff --git a/taskflow/tests/unit/worker_based/test_executor.py b/taskflow/tests/unit/worker_based/test_executor.py
index fbb6159..2544984 100644
--- a/taskflow/tests/unit/worker_based/test_executor.py
+++ b/taskflow/tests/unit/worker_based/test_executor.py
@@ -177,11 +177,11 @@ class TestWorkerTaskExecutor(test.MockTestCase):
self.assertEqual(self.remote_task_mock.mock_calls, [])
self.assertEqual(self.message_mock.mock_calls, [mock.call.ack()])
- @mock.patch('taskflow.engines.worker_based.executor.LOG.warning')
- def test_on_message_acknowledge_raises(self, mocked_warning):
+ @mock.patch('taskflow.engines.worker_based.executor.LOG.exception')
+ def test_on_message_acknowledge_raises(self, mocked_exception):
self.message_mock.ack.side_effect = kombu_exc.MessageStateError()
self.executor()._on_message({}, self.message_mock)
- self.assertTrue(mocked_warning.called)
+ self.assertTrue(mocked_exception.called)
@mock.patch('taskflow.engines.worker_based.remote_task.misc.wallclock')
def test_on_wait_task_not_expired(self, mock_time):
diff --git a/taskflow/tests/unit/worker_based/test_server.py b/taskflow/tests/unit/worker_based/test_server.py
index 4a5326e..34af585 100644
--- a/taskflow/tests/unit/worker_based/test_server.py
+++ b/taskflow/tests/unit/worker_based/test_server.py
@@ -210,8 +210,8 @@ class TestServer(test.MockTestCase):
failures=dict((str(i), utils.FailureMatcher(f))
for i, f in enumerate(failures)))))
- @mock.patch("taskflow.engines.worker_based.server.LOG.error")
- def test_reply_publish_failure(self, mocked_error):
+ @mock.patch("taskflow.engines.worker_based.server.LOG.exception")
+ def test_reply_publish_failure(self, mocked_exception):
self.proxy_inst_mock.publish.side_effect = RuntimeError('Woot!')
# create server and process request
@@ -222,9 +222,7 @@ class TestServer(test.MockTestCase):
mock.call.proxy.publish({'state': 'FAILURE'}, self.task_uuid,
self.reply_to)
])
- self.assertEqual(mocked_error.mock_calls, [
- mock.call("Failed to send reply: Woot!")
- ])
+ self.assertTrue(mocked_exception.called)
def test_on_update_progress(self):
request = self.request(task='taskflow.tests.utils.ProgressingTask',
@@ -261,15 +259,15 @@ class TestServer(test.MockTestCase):
]
self.assertEqual(self.master_mock.mock_calls, master_mock_calls)
- @mock.patch("taskflow.engines.worker_based.server.LOG.error")
- def test_process_request_parse_message_failure(self, mocked_error):
+ @mock.patch("taskflow.engines.worker_based.server.LOG.exception")
+ def test_process_request_parse_message_failure(self, mocked_exception):
self.message_mock.properties = {}
request = self.request()
s = self.server(reset_master_mock=True)
s._process_request(request, self.message_mock)
self.assertEqual(self.master_mock.mock_calls, [])
- self.assertTrue(mocked_error.called)
+ self.assertTrue(mocked_exception.called)
@mock.patch('taskflow.engines.worker_based.server.pu')
def test_process_request_parse_failure(self, pu_mock):