From 12a7c26f092648ce8396e9be58e9184c1d11498c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micka=C3=ABl=20Desfr=C3=AAnes?=
 <mickael.desfrenes@unicaen.fr>
Date: Tue, 3 Dec 2024 15:50:31 +0100
Subject: [PATCH] task always eager for unit tests, iiif tasks on commit

---
 pount/apps/api/signals.py  | 4 ++--
 pount/apps/api/tasks.py    | 2 +-
 pount/settings/unittest.py | 6 ++++++
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/pount/apps/api/signals.py b/pount/apps/api/signals.py
index f261183a..686dbad5 100644
--- a/pount/apps/api/signals.py
+++ b/pount/apps/api/signals.py
@@ -57,10 +57,10 @@ def _create_project_group_and_permission(project, group_name, role_name):
 @receiver(post_save, sender=models.item.MediaFile)
 def create_iiif_task(sender, instance: models.item.MediaFile, **kwargs):
     if instance.component == "Image":
-        ensure_media_has_iiif.delay(instance.id)
+        ensure_media_has_iiif.delay_on_commit(instance.id)
 
 
 @receiver(post_delete, sender=models.item.MediaFile)
 def remove_iiif_file(sender, instance: models.item.MediaFile, **kwargs):
     if instance.component == "Image":
-        clean_iiif_media.delay(str(instance.id))
+        clean_iiif_media.delay_on_commit(str(instance.id))
diff --git a/pount/apps/api/tasks.py b/pount/apps/api/tasks.py
index ea297d70..4dedc1ca 100644
--- a/pount/apps/api/tasks.py
+++ b/pount/apps/api/tasks.py
@@ -45,7 +45,7 @@ def clean_iiif_media(media_id: Union[str, UUID]) -> None:
 
 
 @shared_task
-def ensure_media_has_iiif(media_id: UUID) -> None:
+def ensure_media_has_iiif(media_id: Union[str, UUID]) -> None:
     import os
     import subprocess
     import tempfile
diff --git a/pount/settings/unittest.py b/pount/settings/unittest.py
index 31d9347d..34953f1c 100644
--- a/pount/settings/unittest.py
+++ b/pount/settings/unittest.py
@@ -71,3 +71,9 @@ CAMELOT = {
     "TOKEN": "0552fd8d-0b37-46c6-b462-ff43f6a94ba9",
     "URL": "https://camelot.unistra.fr/",
 }
+
+##########
+# CELERY #
+##########
+
+CELERY_TASK_ALWAYS_EAGER = True
-- 
GitLab