From ac91877b09eb2ca396b9c289239bd6354eca8122 Mon Sep 17 00:00:00 2001
From: Yoann Schneider <yschneider@teklia.com>
Date: Thu, 18 Aug 2022 10:32:23 +0000
Subject: [PATCH] Define api client in BaseWorker.__init__

---
 arkindex_worker/worker/__init__.py |  2 --
 arkindex_worker/worker/base.py     |  3 +++
 tests/test_base_worker.py          | 10 ----------
 3 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/arkindex_worker/worker/__init__.py b/arkindex_worker/worker/__init__.py
index 53bdffee..77da061d 100644
--- a/arkindex_worker/worker/__init__.py
+++ b/arkindex_worker/worker/__init__.py
@@ -139,8 +139,6 @@ class ElementsWorker(
         # CLI args are stored on the instance so that implementations can access them
         self.args = self.parser.parse_args()
 
-        super().setup_api_client()
-
         if self.is_read_only:
             super().configure_for_developers()
         else:
diff --git a/arkindex_worker/worker/base.py b/arkindex_worker/worker/base.py
index b046dc70..ea6d4330 100644
--- a/arkindex_worker/worker/base.py
+++ b/arkindex_worker/worker/base.py
@@ -125,6 +125,9 @@ class BaseWorker(object):
         # is at least one available sqlite database either given or in the parent tasks
         self.use_cache = False
 
+        # Define API Client
+        self.setup_api_client()
+
     @property
     def is_read_only(self) -> bool:
         """
diff --git a/tests/test_base_worker.py b/tests/test_base_worker.py
index 84571ce7..68c0857b 100644
--- a/tests/test_base_worker.py
+++ b/tests/test_base_worker.py
@@ -90,7 +90,6 @@ def test_init_var_worker_local_file(monkeypatch, tmp_path):
 def test_cli_default(mocker, mock_worker_run_api):
     worker = BaseWorker()
     assert logger.level == logging.NOTSET
-    assert not hasattr(worker, "api_client")
 
     mocker.patch.object(sys, "argv", ["worker"])
     worker.args = worker.parser.parse_args()
@@ -98,7 +97,6 @@ def test_cli_default(mocker, mock_worker_run_api):
     assert worker.worker_version_id == "12341234-1234-1234-1234-123412341234"
     assert worker.worker_run_id == "56785678-5678-5678-5678-567856785678"
 
-    worker.setup_api_client()
     worker.configure()
     assert not worker.args.verbose
     assert logger.level == logging.NOTSET
@@ -111,7 +109,6 @@ def test_cli_default(mocker, mock_worker_run_api):
 def test_cli_arg_verbose_given(mocker, mock_worker_run_api):
     worker = BaseWorker()
     assert logger.level == logging.NOTSET
-    assert not hasattr(worker, "api_client")
 
     mocker.patch.object(sys, "argv", ["worker", "-v"])
     worker.args = worker.parser.parse_args()
@@ -119,7 +116,6 @@ def test_cli_arg_verbose_given(mocker, mock_worker_run_api):
     assert worker.worker_version_id == "12341234-1234-1234-1234-123412341234"
     assert worker.worker_run_id == "56785678-5678-5678-5678-567856785678"
 
-    worker.setup_api_client()
     worker.configure()
     assert worker.args.verbose
     assert logger.level == logging.DEBUG
@@ -133,7 +129,6 @@ def test_cli_envvar_debug_given(mocker, monkeypatch, mock_worker_run_api):
     worker = BaseWorker()
 
     assert logger.level == logging.NOTSET
-    assert not hasattr(worker, "api_client")
     mocker.patch.object(sys, "argv", ["worker"])
     monkeypatch.setenv("ARKINDEX_DEBUG", True)
     worker.args = worker.parser.parse_args()
@@ -141,7 +136,6 @@ def test_cli_envvar_debug_given(mocker, monkeypatch, mock_worker_run_api):
     assert worker.worker_version_id == "12341234-1234-1234-1234-123412341234"
     assert worker.worker_run_id == "56785678-5678-5678-5678-567856785678"
 
-    worker.setup_api_client()
     worker.configure()
     assert logger.level == logging.DEBUG
     assert worker.api_client
@@ -215,7 +209,6 @@ def test_configure_worker_run(mocker, monkeypatch, responses):
     assert worker.worker_version_id == "12341234-1234-1234-1234-123412341234"
     assert worker.worker_run_id == "56785678-5678-5678-5678-567856785678"
 
-    worker.setup_api_client()
     worker.configure()
 
     assert worker.user_configuration == {"a": "b"}
@@ -274,7 +267,6 @@ def test_configure_user_configuration_defaults(
         content_type="application/json",
     )
 
-    worker.setup_api_client()
     worker.configure()
 
     assert worker.config == {"param_1": "/some/path/file.pth", "param_2": 12}
@@ -328,7 +320,6 @@ def test_configure_user_config_debug(mocker, monkeypatch, responses, debug):
         content_type="application/json",
     )
     worker.args = worker.parser.parse_args()
-    worker.setup_api_client()
     worker.configure()
 
     assert worker.user_configuration == {"debug": debug}
@@ -376,7 +367,6 @@ def test_configure_worker_run_missing_conf(mocker, monkeypatch, responses):
         content_type="application/json",
     )
     worker.args = worker.parser.parse_args()
-    worker.setup_api_client()
     worker.configure()
 
     assert worker.user_configuration is None
-- 
GitLab