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):
"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:
......
......@@ -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"""
......
# -*- 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}
......
......@@ -14,5 +14,3 @@ deps =
[pytest]
testpaths =
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