From d1aeb32f9c8a807a3322cd5306ee634118d986b6 Mon Sep 17 00:00:00 2001
From: mlbonhomme <bonhomme@teklia.com>
Date: Thu, 30 Jun 2022 15:01:32 +0200
Subject: [PATCH] apply review

---
 arkindex_worker/worker/base.py |  2 +-
 tests/conftest.py              | 34 ++++++++++++++++++++++++--
 tests/test_base_worker.py      | 44 +++++-----------------------------
 tox.ini                        |  2 --
 4 files changed, 39 insertions(+), 43 deletions(-)

diff --git a/arkindex_worker/worker/base.py b/arkindex_worker/worker/base.py
index 65d11da6..8e6113d5 100644
--- a/arkindex_worker/worker/base.py
+++ b/arkindex_worker/worker/base.py
@@ -176,7 +176,7 @@ class BaseWorker(object):
                     "user_configuration"
                 ].items():
                     if "default" in value:
-                        self.user_configuration.update({key: value["default"]})
+                        self.user_configuration[key] = value["default"]
             self.worker_details = worker_version["worker"]
             required_secrets = worker_version["configuration"].get("secrets", [])
         elif self.args.config:
diff --git a/tests/conftest.py b/tests/conftest.py
index a1e5049b..b7b3fc03 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -102,8 +102,6 @@ def setup_api(responses, monkeypatch, cache_yaml):
 
 @pytest.fixture(autouse=True)
 def give_env_variable(request, monkeypatch):
-    if "disable_autouse_env" in request.keywords:
-        return
     """Defines required environment variables"""
     monkeypatch.setenv("WORKER_VERSION_ID", "12341234-1234-1234-1234-123412341234")
     monkeypatch.setenv("ARKINDEX_PROCESS_ID", "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeffff")
@@ -149,6 +147,38 @@ def mock_worker_version_api(responses):
     )
 
 
+@pytest.fixture
+def mock_worker_version_user_configuration_api(responses):
+    """Provide a mock API response to get worker configuration"""
+    payload = {
+        "worker": {"id": "1234", "name": "Workerino", "slug": "workerino"},
+        "revision": {"hash": "1234lala-lalalalala-lala"},
+        "configuration": {
+            "configuration": {"param_1": "/some/path/file.pth", "param_2": 12},
+            "user_configuration": {
+                "param_3": {
+                    "title": "A Third Parameter",
+                    "type": "string",
+                    "default": "Animula vagula blandula",
+                },
+                "param_4": {"title": "Parameter The Fourth", "type": "int"},
+                "param_5": {
+                    "title": "Parameter 5 (Five)",
+                    "type": "bool",
+                    "default": True,
+                },
+            },
+        },
+    }
+    responses.add(
+        responses.GET,
+        "http://testserver/api/v1/workers/versions/12341234-1234-1234-1234-123412341234/",
+        status=200,
+        body=json.dumps(payload),
+        content_type="application/json",
+    )
+
+
 @pytest.fixture
 def mock_process_api(responses):
     """Provide a mock of the API response to get information on a process. Workers activity is enabled"""
diff --git a/tests/test_base_worker.py b/tests/test_base_worker.py
index d0c63fa4..fbcbfb45 100644
--- a/tests/test_base_worker.py
+++ b/tests/test_base_worker.py
@@ -1,10 +1,8 @@
 # -*- coding: utf-8 -*-
-import json
 import logging
 import os
 import sys
 from pathlib import Path
-from unittest import mock
 
 import gnupg
 import pytest
@@ -162,38 +160,14 @@ def test_configure_worker_run(mocker, monkeypatch, responses, mock_config_api):
     assert worker.user_configuration == {"a": "b"}
 
 
-@pytest.mark.disable_autouse_env
-@mock.patch.dict(
-    os.environ,
-    {
-        "WORKER_VERSION_ID": "ddddddddd-dddd-dddd-dddd-dddddddddddd",
-        "ARKINDEX_PROCESS_ID": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeffff",
-    },
-)
 def test_configure_user_configuration_defaults(
-    mocker, monkeypatch, mock_user_api, mock_process_api, responses
+    mocker,
+    monkeypatch,
+    mock_worker_version_user_configuration_api,
+    mock_user_api,
+    mock_process_api,
+    responses,
 ):
-    worker_version = {
-        "worker": {"id": "1234", "name": "Workerino", "slug": "workerino"},
-        "revision": {"hash": "1234lala-lalalalala-lala"},
-        "configuration": {
-            "configuration": {"param_1": "/some/path/file.pth", "param_2": 12},
-            "user_configuration": {
-                "param_3": {
-                    "title": "A Third Parameter",
-                    "type": "string",
-                    "default": "Animula vagula blandula",
-                },
-                "param_4": {"title": "Parameter The Fourth", "type": "int"},
-                "param_5": {
-                    "title": "Parameter 5 (Five)",
-                    "type": "bool",
-                    "default": True,
-                },
-            },
-        },
-    }
-    test_worker_version_id = "ddddddddd-dddd-dddd-dddd-dddddddddddd"
     worker = BaseWorker()
     mocker.patch.object(sys, "argv")
     run_id = "aaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
@@ -203,12 +177,6 @@ def test_configure_user_configuration_defaults(
         f"http://testserver/api/v1/imports/workers/{run_id}/",
         json={"id": run_id},
     )
-    responses.add(
-        responses.GET,
-        f"http://testserver/api/v1/workers/versions/{test_worker_version_id}/",
-        body=json.dumps(worker_version),
-        content_type="application/json",
-    )
     worker.configure()
 
     assert worker.config == {"param_1": "/some/path/file.pth", "param_2": 12}
diff --git a/tox.ini b/tox.ini
index 6dd6c788..aa0cb057 100644
--- a/tox.ini
+++ b/tox.ini
@@ -14,5 +14,3 @@ deps =
 [pytest]
 testpaths =
   tests
-markers =
-  disable_autouse_env: do not use pre-set (autouse) environment variables.
-- 
GitLab