From a2f8c49b6a9254889bd92aecf0f8269d74e93b3c Mon Sep 17 00:00:00 2001
From: EvaBardou <bardou@teklia.com>
Date: Fri, 8 Mar 2024 14:39:20 +0100
Subject: [PATCH] Log a message when everything went well as well

---
 arkindex_worker/worker/__init__.py | 18 ++++++++++++------
 tests/test_dataset_worker.py       |  8 ++++++--
 2 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/arkindex_worker/worker/__init__.py b/arkindex_worker/worker/__init__.py
index 98dccc80..81084988 100644
--- a/arkindex_worker/worker/__init__.py
+++ b/arkindex_worker/worker/__init__.py
@@ -230,12 +230,15 @@ class ElementsWorker(
                     with contextlib.suppress(Exception):
                         self.update_activity(element.id, ActivityState.Error)
 
+        message = (
+            f"Ran on {count} elements: {count - failed} completed, {failed} failed"
+        )
         if failed:
-            logger.error(
-                f"Ran on {count} elements: {count - failed} completed, {failed} failed"
-            )
+            logger.error(message)
             if failed >= count:  # Everything failed!
                 sys.exit(1)
+        else:
+            logger.info(message)
 
     def process_element(self, element: Element | CachedElement):
         """
@@ -505,9 +508,12 @@ class DatasetWorker(BaseWorker, DatasetMixin, TaskMixin):
                 if dataset_artifact:
                     dataset_artifact.unlink(missing_ok=True)
 
+        message = (
+            f"Ran on {count} datasets: {count - failed} completed, {failed} failed"
+        )
         if failed:
-            logger.error(
-                f"Ran on {count} datasets: {count - failed} completed, {failed} failed"
-            )
+            logger.error(message)
             if failed >= count:  # Everything failed!
                 sys.exit(1)
+        else:
+            logger.info(message)
diff --git a/tests/test_dataset_worker.py b/tests/test_dataset_worker.py
index f4a44ae9..dbc494c1 100644
--- a/tests/test_dataset_worker.py
+++ b/tests/test_dataset_worker.py
@@ -792,7 +792,9 @@ def test_run(
     assert [(level, message) for _, level, message in caplog.record_tuples] == [
         (logging.INFO, "Loaded Worker Fake worker @ 123412 from API"),
         (logging.INFO, "Processing Dataset (dataset_id) (1/1)"),
-    ] + extra_logs
+        *extra_logs,
+        (logging.INFO, "Ran on 1 datasets: 1 completed, 0 failed"),
+    ]
 
 
 @pytest.mark.parametrize(
@@ -890,4 +892,6 @@ def test_run_read_only(
     assert [(level, message) for _, level, message in caplog.record_tuples] == [
         (logging.WARNING, "Running without any extra configuration"),
         (logging.INFO, "Processing Dataset (dataset_id) (1/1)"),
-    ] + extra_logs
+        *extra_logs,
+        (logging.INFO, "Ran on 1 datasets: 1 completed, 0 failed"),
+    ]
-- 
GitLab