Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Adjust the query number assertions in the DatabaseBackendWorkerTestCa…
…se and DatabaseTaskResultTestCase tests
  • Loading branch information
rroblf01 committed Nov 7, 2025
commit 0f647bc60b02e25ab022c0f98a2f48b1720d45e1
38 changes: 20 additions & 18 deletions tests/tests/test_database_backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ def test_run_enqueued_task(self) -> None:

self.assertEqual(result.status, TaskResultStatus.READY)

with self.assertNumQueries(9 if connection.vendor == "mysql" else 8):
with self.assertNumQueries(9 if connection.vendor == "mysql" else 11):
self.run_worker()

self.assertEqual(result.status, TaskResultStatus.READY)
Expand All @@ -582,28 +582,28 @@ def test_batch_processes_all_tasks(self) -> None:

self.assertEqual(DBTaskResult.objects.ready().count(), 4)

with self.assertNumQueries(27 if connection.vendor == "mysql" else 23):
with self.assertNumQueries(27 if connection.vendor == "mysql" else 17):
self.run_worker()

self.assertEqual(DBTaskResult.objects.ready().count(), 0)
self.assertEqual(DBTaskResult.objects.succeeded().count(), 3)
self.assertEqual(DBTaskResult.objects.failed().count(), 1)

def test_no_tasks(self) -> None:
with self.assertNumQueries(3):
with self.assertNumQueries(5):
self.run_worker()

def test_doesnt_process_different_queue(self) -> None:
result = test_tasks.noop_task.using(queue_name="queue-1").enqueue()

self.assertEqual(DBTaskResult.objects.ready().count(), 1)

with self.assertNumQueries(3):
with self.assertNumQueries(5):
self.run_worker()

self.assertEqual(DBTaskResult.objects.ready().count(), 1)

with self.assertNumQueries(9 if connection.vendor == "mysql" else 8):
with self.assertNumQueries(9 if connection.vendor == "mysql" else 11):
self.run_worker(queue_name=result.task.queue_name)

self.assertEqual(DBTaskResult.objects.ready().count(), 0)
Expand All @@ -613,12 +613,12 @@ def test_process_all_queues(self) -> None:

self.assertEqual(DBTaskResult.objects.ready().count(), 1)

with self.assertNumQueries(3):
with self.assertNumQueries(5):
self.run_worker()

self.assertEqual(DBTaskResult.objects.ready().count(), 1)

with self.assertNumQueries(9 if connection.vendor == "mysql" else 8):
with self.assertNumQueries(9 if connection.vendor == "mysql" else 11):
self.run_worker(queue_name="*")

self.assertEqual(DBTaskResult.objects.ready().count(), 0)
Expand All @@ -627,7 +627,7 @@ def test_failing_task(self) -> None:
result = test_tasks.failing_task_value_error.enqueue()
self.assertEqual(DBTaskResult.objects.ready().count(), 1)

with self.assertNumQueries(9 if connection.vendor == "mysql" else 8):
with self.assertNumQueries(9 if connection.vendor == "mysql" else 11):
self.run_worker()

self.assertEqual(result.status, TaskResultStatus.READY)
Expand Down Expand Up @@ -656,7 +656,7 @@ def test_complex_exception(self) -> None:
result = test_tasks.complex_exception.enqueue()
self.assertEqual(DBTaskResult.objects.ready().count(), 1)

with self.assertNumQueries(9 if connection.vendor == "mysql" else 8):
with self.assertNumQueries(9 if connection.vendor == "mysql" else 11):
self.run_worker()

self.assertEqual(result.status, TaskResultStatus.READY)
Expand Down Expand Up @@ -701,12 +701,12 @@ def test_doesnt_process_different_backend(self) -> None:

self.assertEqual(DBTaskResult.objects.ready().count(), 1)

with self.assertNumQueries(3):
with self.assertNumQueries(5):
self.run_worker(backend_name="dummy")

self.assertEqual(DBTaskResult.objects.ready().count(), 1)

with self.assertNumQueries(9 if connection.vendor == "mysql" else 8):
with self.assertNumQueries(9 if connection.vendor == "mysql" else 11):
self.run_worker(backend_name=result.backend)

self.assertEqual(DBTaskResult.objects.ready().count(), 0)
Expand Down Expand Up @@ -794,7 +794,7 @@ def test_run_after(self) -> None:
self.assertEqual(DBTaskResult.objects.count(), 1)
self.assertEqual(DBTaskResult.objects.ready().count(), 0)

with self.assertNumQueries(3):
with self.assertNumQueries(5):
self.run_worker()

self.assertEqual(DBTaskResult.objects.count(), 1)
Expand All @@ -805,7 +805,7 @@ def test_run_after(self) -> None:

self.assertEqual(DBTaskResult.objects.ready().count(), 1)

with self.assertNumQueries(9 if connection.vendor == "mysql" else 8):
with self.assertNumQueries(9 if connection.vendor == "mysql" else 11):
self.run_worker()

self.assertEqual(DBTaskResult.objects.ready().count(), 0)
Expand Down Expand Up @@ -1055,7 +1055,7 @@ def test_locks_tasks_sqlite(self) -> None:
result = test_tasks.noop_task.enqueue()

with exclusive_transaction():
locked_result = DBTaskResult.objects.get_locked()
locked_result = DBTaskResult.objects.get_locked().first()

self.assertEqual(result.id, str(locked_result.id)) # type:ignore[union-attr]

Expand Down Expand Up @@ -1115,9 +1115,11 @@ def test_locks_tasks_filtered_sqlite(self) -> None:
test_tasks.noop_task.enqueue()

with exclusive_transaction():
locked_result = DBTaskResult.objects.filter(
priority=result.task.priority
).get_locked()
locked_result = (
DBTaskResult.objects.filter(priority=result.task.priority)
.get_locked()
.first()
)

self.assertEqual(result.id, str(locked_result.id))

Expand All @@ -1134,7 +1136,7 @@ def test_locks_tasks_filtered_sqlite(self) -> None:
@exclusive_transaction()
def test_lock_no_rows(self) -> None:
self.assertEqual(DBTaskResult.objects.count(), 0)
self.assertIsNone(DBTaskResult.objects.all().get_locked())
self.assertEqual(DBTaskResult.objects.all().get_locked().count(), 0)

@skipIf(connection.vendor == "sqlite", "SQLite handles locks differently")
def test_get_locked_with_locked_rows(self) -> None:
Expand Down