From bbbb7def0a6d1b2b086d2ef162b1777e94e81b1e Mon Sep 17 00:00:00 2001 From: AlanCoding Date: Fri, 16 Mar 2018 14:27:36 -0400 Subject: [PATCH] fix bug with non-event model --- awx/main/models/unified_jobs.py | 6 +++++- .../tests/functional/models/test_unified_job.py | 13 +++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/awx/main/models/unified_jobs.py b/awx/main/models/unified_jobs.py index e50a686374..1ea372088c 100644 --- a/awx/main/models/unified_jobs.py +++ b/awx/main/models/unified_jobs.py @@ -930,7 +930,11 @@ class UnifiedJob(PolymorphicModel, PasswordFieldsModel, CommonModelNameNotUnique ''' if self.status in ACTIVE_STATES: return False # tally of events is only available at end of run - return self.emitted_events == self.get_event_queryset().count() + try: + event_qs = self.get_event_queryset() + except NotImplementedError: + return True # Model without events, such as WFJT + return self.emitted_events == event_qs.count() def result_stdout_raw_handle(self, enforce_max_bytes=True): """ diff --git a/awx/main/tests/functional/models/test_unified_job.py b/awx/main/tests/functional/models/test_unified_job.py index 142f3f6b56..05d5aa318a 100644 --- a/awx/main/tests/functional/models/test_unified_job.py +++ b/awx/main/tests/functional/models/test_unified_job.py @@ -141,3 +141,16 @@ class TestMetaVars: ) data = job.awx_meta_vars() assert data['awx_schedule_id'] == schedule.pk + + +@pytest.mark.django_db +def test_event_processing_not_finished(): + job = Job.objects.create(emitted_events=2, status='finished') + job.event_class.objects.create(job=job) + assert not job.event_processing_finished + + +@pytest.mark.django_db +def test_event_model_undefined(): + wj = WorkflowJob.objects.create(name='foobar', status='finished') + assert wj.event_processing_finished