Skip to content
Snippets Groups Projects
Commit d1aeb32f authored by ml bonhomme's avatar ml bonhomme :bee:
Browse files

apply review

parent fd3eb9b8
No related branches found
No related tags found
1 merge request!172update self.config with default user_configuration values
Pipeline #79241 passed
This commit is part of merge request !172. Comments created here will be created in the context of that merge request.
...@@ -176,7 +176,7 @@ class BaseWorker(object): ...@@ -176,7 +176,7 @@ class BaseWorker(object):
"user_configuration" "user_configuration"
].items(): ].items():
if "default" in value: if "default" in value:
self.user_configuration.update({key: value["default"]}) self.user_configuration[key] = value["default"]
self.worker_details = worker_version["worker"] self.worker_details = worker_version["worker"]
required_secrets = worker_version["configuration"].get("secrets", []) required_secrets = worker_version["configuration"].get("secrets", [])
elif self.args.config: elif self.args.config:
......
...@@ -102,8 +102,6 @@ def setup_api(responses, monkeypatch, cache_yaml): ...@@ -102,8 +102,6 @@ def setup_api(responses, monkeypatch, cache_yaml):
@pytest.fixture(autouse=True) @pytest.fixture(autouse=True)
def give_env_variable(request, monkeypatch): def give_env_variable(request, monkeypatch):
if "disable_autouse_env" in request.keywords:
return
"""Defines required environment variables""" """Defines required environment variables"""
monkeypatch.setenv("WORKER_VERSION_ID", "12341234-1234-1234-1234-123412341234") monkeypatch.setenv("WORKER_VERSION_ID", "12341234-1234-1234-1234-123412341234")
monkeypatch.setenv("ARKINDEX_PROCESS_ID", "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeffff") monkeypatch.setenv("ARKINDEX_PROCESS_ID", "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeffff")
...@@ -149,6 +147,38 @@ def mock_worker_version_api(responses): ...@@ -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 @pytest.fixture
def mock_process_api(responses): def mock_process_api(responses):
"""Provide a mock of the API response to get information on a process. Workers activity is enabled""" """Provide a mock of the API response to get information on a process. Workers activity is enabled"""
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import json
import logging import logging
import os import os
import sys import sys
from pathlib import Path from pathlib import Path
from unittest import mock
import gnupg import gnupg
import pytest import pytest
...@@ -162,38 +160,14 @@ def test_configure_worker_run(mocker, monkeypatch, responses, mock_config_api): ...@@ -162,38 +160,14 @@ def test_configure_worker_run(mocker, monkeypatch, responses, mock_config_api):
assert worker.user_configuration == {"a": "b"} 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( 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() worker = BaseWorker()
mocker.patch.object(sys, "argv") mocker.patch.object(sys, "argv")
run_id = "aaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" run_id = "aaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
...@@ -203,12 +177,6 @@ def test_configure_user_configuration_defaults( ...@@ -203,12 +177,6 @@ def test_configure_user_configuration_defaults(
f"http://testserver/api/v1/imports/workers/{run_id}/", f"http://testserver/api/v1/imports/workers/{run_id}/",
json={"id": 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() worker.configure()
assert worker.config == {"param_1": "/some/path/file.pth", "param_2": 12} assert worker.config == {"param_1": "/some/path/file.pth", "param_2": 12}
......
...@@ -14,5 +14,3 @@ deps = ...@@ -14,5 +14,3 @@ deps =
[pytest] [pytest]
testpaths = testpaths =
tests tests
markers =
disable_autouse_env: do not use pre-set (autouse) environment variables.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment