diff --git a/apiserver/services/utils.py b/apiserver/services/utils.py index 6feb171..aebd68f 100644 --- a/apiserver/services/utils.py +++ b/apiserver/services/utils.py @@ -144,7 +144,7 @@ class ModelsBackwardsCompatibility: @classmethod def prepare_for_save(cls, call: APICall, fields: dict): - if call.requested_endpoint_version > cls.max_version: + if call.requested_endpoint_version >= cls.max_version: return for mode, field in cls.mode_to_fields.items(): @@ -168,7 +168,7 @@ class ModelsBackwardsCompatibility: def unprepare_from_saved( cls, call: APICall, tasks_data: Union[Sequence[dict], dict] ): - if call.requested_endpoint_version > cls.max_version: + if call.requested_endpoint_version >= cls.max_version: return if isinstance(tasks_data, dict): @@ -191,7 +191,7 @@ class DockerCmdBackwardsCompatibility: @classmethod def prepare_for_save(cls, call: APICall, fields: dict): - if call.requested_endpoint_version > cls.max_version: + if call.requested_endpoint_version >= cls.max_version: return docker_cmd = nested_get(fields, cls.field) @@ -206,7 +206,7 @@ class DockerCmdBackwardsCompatibility: def unprepare_from_saved( cls, call: APICall, tasks_data: Union[Sequence[dict], dict] ): - if call.requested_endpoint_version > cls.max_version: + if call.requested_endpoint_version >= cls.max_version: return if isinstance(tasks_data, dict): diff --git a/apiserver/tests/automated/__init__.py b/apiserver/tests/automated/__init__.py index f8e3a85..8237740 100644 --- a/apiserver/tests/automated/__init__.py +++ b/apiserver/tests/automated/__init__.py @@ -5,6 +5,8 @@ from functools import partial from typing import Iterable from unittest import TestCase +from packaging.version import parse + from apiserver.tests.api_client import APIClient from apiserver.config_repo import config @@ -72,6 +74,7 @@ class TestService(TestCase, TestServiceInterface): def setUp(self, version="1.7"): self._api = APIClient(base_url=f"http://localhost:8008/v{version}") self._deferred = [] + self._version = parse(version) header(self.id()) def tearDown(self): diff --git a/apiserver/tests/automated/test_task_models.py b/apiserver/tests/automated/test_task_models.py index b540b69..e57a997 100644 --- a/apiserver/tests/automated/test_task_models.py +++ b/apiserver/tests/automated/test_task_models.py @@ -1,6 +1,8 @@ from copy import deepcopy from typing import Sequence, Optional +from packaging.version import parse + from apiserver.tests.automated import TestService @@ -90,14 +92,15 @@ class TestTaskModels(TestService): ): compare_models(task.models.input, input_models) compare_models(task.models.output, output_models) - self.assertEqual( - get_model_id(task.execution), - input_models[0]["model"] if input_models else None, - ) - self.assertEqual( - get_model_id(task.output), - output_models[-1]["model"] if output_models else None, - ) + if self._version < parse("2.13"): + self.assertEqual( + get_model_id(task.execution), + input_models[0]["model"] if input_models else None, + ) + self.assertEqual( + get_model_id(task.output), + output_models[-1]["model"] if output_models else None, + ) def new_task(self, **kwargs): self.update_missing(