Pass output from task API to convey_task_result
Applying winson-c-chan's fix to upstream (Thanks Winson!) Change-Id: Icce25f55d3053c7cebb2a993975f35d14f9efe56 Closes-Bug: 1362287
This commit is contained in:
parent
264536b8e2
commit
2df3ddd7f0
@ -92,10 +92,9 @@ class TasksController(rest.RestController):
|
||||
|
||||
def _put(self, id, task):
|
||||
if db_api.task_get(id):
|
||||
# TODO(rakhmerov): pass task result once it's implemented
|
||||
engine = pecan.request.context['engine']
|
||||
|
||||
values = engine.convey_task_result(id, task.state, None)
|
||||
raw_result = json.loads(task.output)
|
||||
values = engine.convey_task_result(id, task.state, raw_result)
|
||||
|
||||
return Task.from_dict(values)
|
||||
|
||||
|
@ -83,28 +83,30 @@ class TestTasksController(base.FunctionalTest):
|
||||
def test_workbook_put(self):
|
||||
resp = self.app.put_json(
|
||||
'/v1/workbooks/my_workbook/executions/123/tasks/1',
|
||||
dict(state='STOPPED'))
|
||||
dict(state='STOPPED', output='{"a":"b"}'))
|
||||
self.assertEqual(resp.status_int, 200)
|
||||
self.assertDictEqual(UPDATED_TASK, canonize(resp.json))
|
||||
|
||||
@mock.patch.object(engine.EngineClient, "convey_task_result",
|
||||
mock.MagicMock(return_value=UPDATED_TASK))
|
||||
@mock.patch.object(engine.EngineClient, "convey_task_result")
|
||||
@mock.patch.object(db_api, "task_get", base.create_mock_task(TASKS[0]))
|
||||
def test_execution_put(self):
|
||||
def test_execution_put(self, convey_task_result):
|
||||
convey_task_result.return_value = UPDATED_TASK
|
||||
resp = self.app.put_json(
|
||||
'/v1/executions/123/tasks/1',
|
||||
dict(state='STOPPED'))
|
||||
dict(state='STOPPED', output='{"a":"b"}'))
|
||||
self.assertEqual(resp.status_int, 200)
|
||||
convey_task_result.called_once_with(resp.json)
|
||||
self.assertDictEqual(UPDATED_TASK, canonize(resp.json))
|
||||
|
||||
@mock.patch.object(engine.EngineClient, "convey_task_result",
|
||||
mock.MagicMock(return_value=UPDATED_TASK))
|
||||
@mock.patch.object(engine.EngineClient, "convey_task_result")
|
||||
@mock.patch.object(db_api, "task_get", base.create_mock_task(TASKS[0]))
|
||||
def test_root_put(self):
|
||||
def test_root_put(self, convey_task_result):
|
||||
convey_task_result.return_value = UPDATED_TASK
|
||||
resp = self.app.put_json(
|
||||
'/v1/tasks/1',
|
||||
dict(state='STOPPED'))
|
||||
dict(state='STOPPED', output='{"a":"b"}'))
|
||||
self.assertEqual(resp.status_int, 200)
|
||||
convey_task_result.called_once_with(resp.json)
|
||||
self.assertDictEqual(UPDATED_TASK, canonize(resp.json))
|
||||
|
||||
@mock.patch.object(engine.EngineClient, "convey_task_result",
|
||||
|
Loading…
Reference in New Issue
Block a user