From 9d498002b3065a8b42f5e4a0d50646f65f7efd4d Mon Sep 17 00:00:00 2001 From: Yoann Schneider <yschneider@teklia.com> Date: Mon, 5 Sep 2022 18:57:27 +0000 Subject: [PATCH] Do not erase defaults when reading configuration from worker --- arkindex_worker/worker/base.py | 15 +++++++-------- tests/test_base_worker.py | 15 ++++++++++++--- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/arkindex_worker/worker/base.py b/arkindex_worker/worker/base.py index a893689c..f892558e 100644 --- a/arkindex_worker/worker/base.py +++ b/arkindex_worker/worker/base.py @@ -215,15 +215,14 @@ class BaseWorker(object): # Load worker run configuration when available worker_configuration = worker_run.get("configuration") - self.user_configuration = ( - worker_configuration.get("configuration") if worker_configuration else None - ) - if self.user_configuration: + if worker_configuration and worker_configuration.get("configuration"): logger.info("Loaded user configuration from WorkerRun") - # if debug mode is set to true activate debug mode in logger - if self.user_configuration.get("debug"): - logger.setLevel(logging.DEBUG) - logger.debug("Debug output enabled") + self.user_configuration.update(worker_configuration.get("configuration")) + + # if debug mode is set to true activate debug mode in logger + if self.user_configuration.get("debug"): + logger.setLevel(logging.DEBUG) + logger.debug("Debug output enabled") def configure_cache(self): task_id = os.environ.get("PONOS_TASK") diff --git a/tests/test_base_worker.py b/tests/test_base_worker.py index 90b89736..6239c81b 100644 --- a/tests/test_base_worker.py +++ b/tests/test_base_worker.py @@ -249,7 +249,15 @@ def test_configure_user_configuration_defaults( }, "revision": {"hash": "deadbeef1234"}, "configuration": { - "configuration": {"param_1": "/some/path/file.pth", "param_2": 12} + "configuration": {"param_1": "/some/path/file.pth", "param_2": 12}, + "user_configuration": { + "integer_parameter": { + "type": "int", + "title": "Lambda", + "default": 0, + "required": False, + } + }, }, }, "configuration": { @@ -277,6 +285,7 @@ def test_configure_user_configuration_defaults( assert worker.config == {"param_1": "/some/path/file.pth", "param_2": 12} assert worker.user_configuration == { + "integer_parameter": 0, "param_3": "Animula vagula blandula", "param_5": True, } @@ -381,7 +390,7 @@ def test_configure_worker_run_missing_conf(mocker, monkeypatch, responses): worker.args = worker.parser.parse_args() worker.configure() - assert worker.user_configuration is None + assert worker.user_configuration == {} def test_configure_worker_run_no_worker_run_conf(mocker, monkeypatch, responses): @@ -431,7 +440,7 @@ def test_configure_worker_run_no_worker_run_conf(mocker, monkeypatch, responses) worker.args = worker.parser.parse_args() worker.configure() - assert worker.user_configuration is None + assert worker.user_configuration == {} def test_load_missing_secret(): -- GitLab