mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 18:09:57 -03:30
add type to recent_jobs
This commit is contained in:
parent
28733800c4
commit
b763c51f8a
@ -2983,12 +2983,13 @@ class JobTemplateMixin(object):
|
||||
'''
|
||||
|
||||
def _recent_jobs(self, obj):
|
||||
if hasattr(obj, 'workflow_jobs'):
|
||||
job_mgr = obj.workflow_jobs
|
||||
else:
|
||||
job_mgr = obj.jobs
|
||||
return [{'id': x.id, 'status': x.status, 'finished': x.finished}
|
||||
for x in job_mgr.all().order_by('-created')[:10]]
|
||||
job_mgr = obj.unifiedjob_unified_jobs.non_polymorphic().exclude(job__job_slice_count__gt=1).only(
|
||||
'id', 'status', 'finished', 'polymorphic_ctype_id')
|
||||
type_mapping = {}
|
||||
for model, ct in ContentType.objects.get_for_models(*UnifiedJob.__subclasses__()).iteritems():
|
||||
type_mapping[ct.pk] = model._meta.verbose_name
|
||||
return [{'id': x.id, 'status': x.status, 'finished': x.finished, 'type': type_mapping[x.polymorphic_ctype_id]}
|
||||
for x in job_mgr.order_by('-created')[:10]]
|
||||
|
||||
def get_summary_fields(self, obj):
|
||||
d = super(JobTemplateMixin, self).get_summary_fields(obj)
|
||||
|
||||
@ -71,12 +71,20 @@ class TestJobTemplateSerializerGetRelated():
|
||||
class TestJobTemplateSerializerGetSummaryFields():
|
||||
def test__recent_jobs(self, mocker, job_template, jobs):
|
||||
|
||||
job_template.jobs.all = mocker.MagicMock(**{'order_by.return_value': jobs})
|
||||
job_template.jobs.all.return_value = job_template.jobs.all
|
||||
job_template.unifiedjob_unified_jobs = mocker.MagicMock(**{
|
||||
'non_polymorphic.return_value': mocker.MagicMock(**{
|
||||
'only.return_value': mocker.MagicMock(**{
|
||||
'order_by.return_value': jobs
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
serializer = JobTemplateSerializer()
|
||||
recent_jobs = serializer._recent_jobs(job_template)
|
||||
|
||||
job_template.unifiedjob_unified_jobs.non_polymorphic.assert_called_once_with()
|
||||
job_template.unifiedjob_unified_jobs.non_polymorphic().only().order_by.assert_called_once_with('-created')
|
||||
|
||||
job_template.jobs.all.assert_called_once_with()
|
||||
job_template.jobs.all.order_by.assert_called_once_with('-created')
|
||||
assert len(recent_jobs) == 10
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user