Skip to content

Commit fbfb01e

Browse files
committed
OpenConceptLab/ocl_issues#1912 | renamed detailed_summary to message | only json result
1 parent 588dcbf commit fbfb01e

File tree

4 files changed

+72
-33
lines changed

4 files changed

+72
-33
lines changed

core/collections/tests/tests.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3165,7 +3165,7 @@ def test_post_200(self, index_expansion_concepts_task_mock):
31653165
'runtime': None,
31663166
'summary': None,
31673167
'children': [],
3168-
'result': None
3168+
'message': None
31693169
}
31703170
)
31713171
index_expansion_concepts_task_mock.apply_async.assert_called_once_with(
@@ -3204,7 +3204,7 @@ def test_post_200(self, index_expansion_mappings_task_mock):
32043204
'runtime': None,
32053205
'summary': None,
32063206
'children': [],
3207-
'result': None
3207+
'message': None
32083208
}
32093209
)
32103210
index_expansion_mappings_task_mock.apply_async.assert_called_once_with(

core/importers/tests.py

+43-11
Original file line numberDiff line numberDiff line change
@@ -1144,7 +1144,7 @@ def test_get_without_task_id(self, ):
11441144
'runtime': None,
11451145
'summary': None,
11461146
'children': [],
1147-
'result': None
1147+
'message': None
11481148
}]
11491149
)
11501150

@@ -1170,7 +1170,7 @@ def test_get_without_task_id(self, ):
11701170
'runtime': None,
11711171
'summary': None,
11721172
'children': [],
1173-
'result': None
1173+
'message': None
11741174
}, {
11751175
'id': task_id3,
11761176
'task': task_id3,
@@ -1184,7 +1184,7 @@ def test_get_without_task_id(self, ):
11841184
'runtime': None,
11851185
'summary': None,
11861186
'children': [],
1187-
'result': None
1187+
'message': None
11881188
}], key= lambda x: x['id'])
11891189
)
11901190

@@ -1210,7 +1210,7 @@ def test_get_without_task_id(self, ):
12101210
'runtime': None,
12111211
'summary': None,
12121212
'children': [],
1213-
'result': None
1213+
'message': None
12141214
}]
12151215
)
12161216

@@ -1259,11 +1259,43 @@ def test_get_task(self):
12591259
'runtime': None,
12601260
'summary': None,
12611261
'children': [],
1262-
'result': None,
1262+
'message': None,
12631263
'kwargs': None,
12641264
'error_message': None,
12651265
'traceback': None,
1266-
'retry': 0
1266+
'retry': 0,
1267+
'report': None
1268+
}
1269+
)
1270+
1271+
response = self.client.get(
1272+
f'/importers/bulk-import/?task={task_id}&result=json',
1273+
HTTP_AUTHORIZATION='Token ' + foobar_user.get_token(),
1274+
format='json'
1275+
)
1276+
1277+
self.assertEqual(response.status_code, 200)
1278+
self.assertEqual(
1279+
response.data, {
1280+
'id': task_id,
1281+
'task': task_id,
1282+
'state': 'PENDING',
1283+
'name': 'core.common.tasks.bulk_import_parallel_inline',
1284+
'queue': 'normal',
1285+
'username': 'foobar',
1286+
'created_at': ANY,
1287+
'started_at': None,
1288+
'finished_at': None,
1289+
'runtime': None,
1290+
'summary': None,
1291+
'children': [],
1292+
'message': None,
1293+
'kwargs': None,
1294+
'error_message': None,
1295+
'traceback': None,
1296+
'retry': 0,
1297+
'report': None,
1298+
'result': None
12671299
})
12681300

12691301
def test_post_400(self):
@@ -1329,7 +1361,7 @@ def test_post_202(self, bulk_import_mock):
13291361
'runtime': None,
13301362
'summary': None,
13311363
'children': [],
1332-
'result': None
1364+
'message': None
13331365
}
13341366
)
13351367
self.assertTrue(DEPRECATED_API_HEADER not in response)
@@ -1364,7 +1396,7 @@ def test_post_202(self, bulk_import_mock):
13641396
'runtime': None,
13651397
'summary': None,
13661398
'children': [],
1367-
'result': None
1399+
'message': None
13681400
}
13691401
)
13701402
self.assertEqual(bulk_import_mock.apply_async.call_count, 2)
@@ -1398,7 +1430,7 @@ def test_post_202(self, bulk_import_mock):
13981430
'runtime': None,
13991431
'summary': None,
14001432
'children': [],
1401-
'result': None
1433+
'message': None
14021434
}
14031435
)
14041436
self.assertEqual(bulk_import_mock.apply_async.call_count, 3)
@@ -1474,7 +1506,7 @@ def test_post_inline_parallel_202(self, bulk_import_mock):
14741506
'runtime': None,
14751507
'summary': None,
14761508
'children': [],
1477-
'result': None
1509+
'message': None
14781510
})
14791511
self.assertTrue(DEPRECATED_API_HEADER in response)
14801512
self.assertEqual(response[DEPRECATED_API_HEADER], 'True')
@@ -1508,7 +1540,7 @@ def test_post_inline_202(self, bulk_import_mock):
15081540
'runtime': None,
15091541
'summary': None,
15101542
'children': [],
1511-
'result': None
1543+
'message': None
15121544
})
15131545
self.assertEqual(bulk_import_mock.apply_async.call_count, 1)
15141546
self.assertEqual(bulk_import_mock.apply_async.call_args[0], (('{"key": "value"}', 'ocladmin', True),))

core/tasks/models.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,12 @@ def result_all(self):
5757
return self.result
5858

5959
@property
60-
def summary_result(self):
61-
return get(self.result_all, 'detailed_summary') or self.summary
60+
def message(self):
61+
return get(self.result_all, 'detailed_summary')
6262

6363
@property
6464
def report_result(self):
65-
return get(self.result_all, 'report') or self.summary
65+
return get(self.result_all, 'report')
6666

6767
@property
6868
def json_result(self):

core/tasks/serializers.py

+24-17
Original file line numberDiff line numberDiff line change
@@ -25,38 +25,45 @@ def __init__(self, *args, **kwargs): # pylint: disable=too-many-branches
2525

2626

2727
class TaskListSerializer(TaskBriefSerializer):
28+
class Meta:
29+
model = Task
30+
fields = TaskBriefSerializer.Meta.fields + (
31+
'created_at', 'started_at', 'finished_at', 'runtime', 'summary', 'children', 'message'
32+
)
33+
34+
35+
class TaskDetailSerializer(TaskListSerializer):
2836
result = SerializerMethodField()
37+
report = JSONField(read_only=True, source='report_result')
38+
39+
class Meta:
40+
model = Task
41+
fields = TaskListSerializer.Meta.fields + (
42+
'report', 'result', 'kwargs', 'error_message', 'traceback', 'retry'
43+
)
2944

3045
def __init__(self, *args, **kwargs): # pylint: disable=too-many-branches
3146
request = get(kwargs, 'context.request')
3247
params = get(request, 'query_params')
3348
self.query_params = params.dict() if params else {}
34-
self.result_type = self.query_params.get('result', None) or 'summary'
49+
self.result_type = self.query_params.get('result', None)
3550

3651
super().__init__(*args, **kwargs)
3752

38-
class Meta:
39-
model = Task
40-
fields = TaskBriefSerializer.Meta.fields + (
41-
'created_at', 'started_at', 'finished_at', 'runtime', 'summary', 'children', 'result'
42-
)
53+
def to_representation(self, instance):
54+
data = super().to_representation(instance)
55+
56+
if self.result_type not in ['json', 'all']:
57+
data.pop('result', None)
58+
59+
return data
4360

4461
def get_result(self, obj):
4562
if self.result_type == 'json':
4663
return obj.json_result
47-
if self.result_type == 'report':
48-
return obj.report_result
4964
if self.result_type == 'all':
5065
return obj.result_all
51-
return obj.summary_result
52-
53-
54-
class TaskDetailSerializer(TaskListSerializer):
55-
class Meta:
56-
model = Task
57-
fields = TaskListSerializer.Meta.fields + (
58-
'kwargs', 'error_message', 'traceback', 'retry'
59-
)
66+
return None
6067

6168

6269
class TaskResultSerializer(TaskDetailSerializer):

0 commit comments

Comments
 (0)