Skip to content
Snippets Groups Projects
Commit bf7a12d6 authored by Erwan Rouchet's avatar Erwan Rouchet Committed by Bastien Abadie
Browse files

Handle non-dict results

parent 28a856f1
No related branches found
No related tags found
No related merge requests found
......@@ -43,6 +43,8 @@ class TaskSerializer(serializers.Serializer):
return 1.0
if obj.state == 'PROGRESS':
result = obj._get_task_meta().get('result') or {}
if not isinstance(result, dict):
return 0.0
return result.get('progress', 0.0)
return 0.0
......
......@@ -52,6 +52,25 @@ class TestTaskSerializer(TestCase):
}
)
def test_progress_list(self):
self.task_mock.state = 'PROGRESS'
self.task_mock._get_task_meta.return_value = {
'task_name': 'task.name',
'messages': ['something'],
'result': ['some', 'list'],
}
self.assertDictEqual(
TaskSerializer(self.task_mock).data,
{
'id': str(self.task_mock.id),
'name': 'task.name',
'state': 'PROGRESS',
'messages': ['something'],
'progress': 0.0,
'parent_id': str(self.task_mock.parent.id),
}
)
def test_progress_none(self):
self.task_mock.state = 'PROGRESS'
self.task_mock._get_task_meta.return_value = {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment