Add test cases for BackgroundJob handling

This commit is contained in:
Alexander Haase 2024-07-25 14:50:56 +02:00
parent b17b2050df
commit 60e4e81020

View File

@ -6,6 +6,7 @@ from django_rq import get_queue
from ..jobs import *
from core.models import Job
from core.choices import JobStatusChoices
class TestBackgroundJob(BackgroundJob):
@ -44,6 +45,24 @@ class BackgroundJobTest(BackgroundJobTestCase):
self.assertEqual(NamedBackgroundJob.name, 'TestName')
def test_handle(self):
job = TestBackgroundJob.enqueue(immediate=True)
self.assertEqual(job.status, JobStatusChoices.STATUS_COMPLETED)
def test_handle_errored(self):
class ErroredBackgroundJob(TestBackgroundJob):
EXP = Exception('Test error')
@classmethod
def run(cls, *args, **kwargs):
raise cls.EXP
job = ErroredBackgroundJob.enqueue(immediate=True)
self.assertEqual(job.status, JobStatusChoices.STATUS_ERRORED)
self.assertEqual(job.error, repr(ErroredBackgroundJob.EXP))
class EnqueueTest(BackgroundJobTestCase):
"""