Skip to content

Commit cd848d8

Browse files
committed
Test backend options are stored correctly
1 parent 8325329 commit cd848d8

File tree

5 files changed

+23
-2
lines changed

5 files changed

+23
-2
lines changed

tests/tests/test_custom_backend.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import logging
12
from typing import Any
23
from unittest import mock
34

@@ -11,16 +12,22 @@
1112

1213

1314
class CustomBackend(BaseTaskBackend):
15+
def __init__(self, alias: str, params: dict) -> None:
16+
super().__init__(alias, params)
17+
self.prefix = self.options.get("prefix", "")
18+
1419
def enqueue(self, *args: Any, **kwargs: Any) -> Any:
15-
pass
20+
logger = logging.getLogger(__name__)
21+
logger.info(f"{self.prefix}Task enqueued.")
1622

1723

1824
@override_settings(
1925
TASKS={
2026
"default": {
2127
"BACKEND": get_module_path(CustomBackend),
2228
"ENQUEUE_ON_COMMIT": False,
23-
}
29+
"OPTIONS": {"prefix": "PREFIX: "},
30+
},
2431
}
2532
)
2633
class CustomBackendTestCase(SimpleTestCase):
@@ -41,3 +48,9 @@ def test_backend_does_not_support_priority(self) -> None:
4148
):
4249
test_tasks.noop_task.using(priority=10)
4350

51+
def test_options(self) -> None:
52+
with self.assertLogs(__name__, level="INFO") as captured_logs:
53+
test_tasks.noop_task.enqueue()
54+
self.assertEqual(len(captured_logs.output), 1)
55+
self.assertIn("PREFIX: Task enqueued", captured_logs.output[0])
56+

tests/tests/test_database_backend.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ def get_task_count_in_new_connection(self) -> int:
7777
def test_using_correct_backend(self) -> None:
7878
self.assertEqual(default_task_backend, tasks["default"])
7979
self.assertIsInstance(tasks["default"], DatabaseBackend)
80+
self.assertEqual(default_task_backend.alias, "default")
81+
self.assertEqual(default_task_backend.options, {})
8082

8183
def test_enqueue_task(self) -> None:
8284
for task in [test_tasks.noop_task, test_tasks.noop_task_async]:

tests/tests/test_dummy_backend.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ def setUp(self) -> None:
3535
def test_using_correct_backend(self) -> None:
3636
self.assertEqual(default_task_backend, tasks["default"])
3737
self.assertIsInstance(tasks["default"], DummyBackend)
38+
self.assertEqual(default_task_backend.alias, "default")
39+
self.assertEqual(default_task_backend.options, {})
3840

3941
def test_enqueue_task(self) -> None:
4042
for task in [test_tasks.noop_task, test_tasks.noop_task_async]:

tests/tests/test_immediate_backend.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ class ImmediateBackendTestCase(SimpleTestCase):
2626
def test_using_correct_backend(self) -> None:
2727
self.assertEqual(default_task_backend, tasks["default"])
2828
self.assertIsInstance(tasks["default"], ImmediateBackend)
29+
self.assertEqual(default_task_backend.alias, "default")
30+
self.assertEqual(default_task_backend.options, {})
2931

3032
def test_enqueue_task(self) -> None:
3133
for task in [test_tasks.noop_task, test_tasks.noop_task_async]:

tests/tests/test_rq_backend.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ def run_worker(self) -> None:
9292
def test_using_correct_backend(self) -> None:
9393
self.assertEqual(default_task_backend, tasks["default"])
9494
self.assertIsInstance(tasks["default"], RQBackend)
95+
self.assertEqual(default_task_backend.alias, "default")
96+
self.assertEqual(default_task_backend.options, {})
9597

9698
def test_enqueue_task(self) -> None:
9799
for task in [test_tasks.noop_task, test_tasks.noop_task_async]:

0 commit comments

Comments
 (0)