From 60e4e81020e004c0d20477b5a60f0d0daabd2f4c Mon Sep 17 00:00:00 2001 From: Alexander Haase Date: Thu, 25 Jul 2024 14:50:56 +0200 Subject: [PATCH] Add test cases for BackgroundJob handling --- netbox/utilities/tests/test_jobs.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/netbox/utilities/tests/test_jobs.py b/netbox/utilities/tests/test_jobs.py index 337b8c4fa..422265032 100644 --- a/netbox/utilities/tests/test_jobs.py +++ b/netbox/utilities/tests/test_jobs.py @@ -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): """