From ca40568d7aa19577627425f351c883b27ebfbf15 Mon Sep 17 00:00:00 2001 From: Guilhem Barthes Date: Tue, 29 Aug 2023 09:57:19 +0200 Subject: [PATCH] fix: tests Signed-off-by: Guilhem Barthes --- backend/api/tests/asset_factory.py | 1 + backend/api/tests/views/test_views_function.py | 8 ++++++++ backend/backend/settings/test.py | 1 + backend/orchestrator/mock.py | 2 ++ backend/substrapp/compute_tasks/image_builder.py | 7 ------- backend/substrapp/tests/compute_tasks/test_errors.py | 3 ++- backend/substrapp/tests/tasks/test_compute_task.py | 4 ++-- 7 files changed, 16 insertions(+), 10 deletions(-) diff --git a/backend/api/tests/asset_factory.py b/backend/api/tests/asset_factory.py index 0422a3c1d..cdf8bd57b 100644 --- a/backend/api/tests/asset_factory.py +++ b/backend/api/tests/asset_factory.py @@ -236,6 +236,7 @@ def create_function( creation_date=timezone.now(), owner=owner, channel=channel, + status=Function.Status.FUNCTION_STATUS_CREATED, **get_permissions(owner, public), ) diff --git a/backend/api/tests/views/test_views_function.py b/backend/api/tests/views/test_views_function.py index b287afd8d..9a3428a6d 100644 --- a/backend/api/tests/views/test_views_function.py +++ b/backend/api/tests/views/test_views_function.py @@ -36,6 +36,7 @@ class FunctionViewTests(APITestCase): client_class = AuthenticatedClient def setUp(self): + self.maxDiff = None if not os.path.exists(MEDIA_ROOT): os.makedirs(MEDIA_ROOT) @@ -104,6 +105,7 @@ def setUp(self): "outputs": { "model": {"kind": "ASSET_MODEL", "multiple": False}, }, + "status": "FUNCTION_STATUS_CREATED", }, { "key": str(aggregate_function.key), @@ -135,6 +137,7 @@ def setUp(self): "outputs": { "model": {"kind": "ASSET_MODEL", "multiple": False}, }, + "status": "FUNCTION_STATUS_CREATED", }, { "key": str(composite_function.key), @@ -170,6 +173,7 @@ def setUp(self): "local": {"kind": "ASSET_MODEL", "multiple": False}, "shared": {"kind": "ASSET_MODEL", "multiple": False}, }, + "status": "FUNCTION_STATUS_CREATED", }, { "key": str(predict_function.key), @@ -204,6 +208,7 @@ def setUp(self): "outputs": { "predictions": {"kind": "ASSET_MODEL", "multiple": False}, }, + "status": "FUNCTION_STATUS_CREATED", }, { "key": str(metric_function.key), @@ -237,6 +242,7 @@ def setUp(self): "outputs": { "performance": {"kind": "ASSET_PERFORMANCE", "multiple": False}, }, + "status": "FUNCTION_STATUS_CREATED", }, ] @@ -448,6 +454,7 @@ def mock_orc_response(data): "function": data["function"], "inputs": data["inputs"], "outputs": data["outputs"], + "status": Function.Status.FUNCTION_STATUS_CREATED, } function_path = os.path.join(FIXTURE_PATH, filename) @@ -477,6 +484,7 @@ def mock_orc_response(data): with mock.patch.object(OrchestratorClient, "register_function", side_effect=mock_orc_response): response = self.client.post(self.url, data=data, format="multipart") + print(response.data) self.assertIsNotNone(response.data["key"]) self.assertEqual(response.status_code, status.HTTP_201_CREATED) # asset created in local db diff --git a/backend/backend/settings/test.py b/backend/backend/settings/test.py index d32833c02..3b913941d 100644 --- a/backend/backend/settings/test.py +++ b/backend/backend/settings/test.py @@ -2,6 +2,7 @@ import tempfile from .common import * +from .deps.image_build import * from .deps.restframework import * from .mods.cors import * from .mods.oidc import * diff --git a/backend/orchestrator/mock.py b/backend/orchestrator/mock.py index b0995298e..84fa03ad0 100644 --- a/backend/orchestrator/mock.py +++ b/backend/orchestrator/mock.py @@ -11,6 +11,7 @@ from .resources import DataSample from .resources import Function from .resources import FunctionInput +from .resources import FunctionStatus from .resources import Model from .resources import Permission from .resources import Permissions @@ -94,6 +95,7 @@ class Meta: function_address = factory.SubFactory(AddressFactory) inputs = {} outputs = {} + status = FunctionStatus.FUNCTION_STATUS_CREATED class ComputePlanFactory(factory.Factory): diff --git a/backend/substrapp/compute_tasks/image_builder.py b/backend/substrapp/compute_tasks/image_builder.py index 49ce491e7..276e39887 100644 --- a/backend/substrapp/compute_tasks/image_builder.py +++ b/backend/substrapp/compute_tasks/image_builder.py @@ -60,10 +60,3 @@ def load_remote_function_image(function: orchestrator.Function, channel: str) -> storage_path = pathlib.Path(tmp_dir) / f"{container_image_tag}.zip" storage_path.write_bytes(function_image_content) push_payload(storage_path, registry=REGISTRY, secure=False) - - # - # if exc.status_code == 404: - # raise exceptions.CeleryRetryError(f"Function {function.key} was not found - # on backend {function.owner}") - # else: - # raise exceptions.CeleryNoRetryError("I've got a bad feeling about this.") diff --git a/backend/substrapp/tests/compute_tasks/test_errors.py b/backend/substrapp/tests/compute_tasks/test_errors.py index 390ba6e55..254d88eb4 100644 --- a/backend/substrapp/tests/compute_tasks/test_errors.py +++ b/backend/substrapp/tests/compute_tasks/test_errors.py @@ -2,6 +2,7 @@ import pytest +from builder import exceptions as build_errors from orchestrator import failure_report_pb2 from substrapp.compute_tasks import errors @@ -19,7 +20,7 @@ def test_from_int(self, input_value: int, expected: errors.ComputeTaskErrorType) @pytest.mark.parametrize( ("exc", "expected"), [ - (errors.BuildError(logs="some build error"), failure_report_pb2.ERROR_TYPE_BUILD), + (build_errors.BuildError(logs="some build error"), failure_report_pb2.ERROR_TYPE_BUILD), (errors.ExecutionError(logs=io.BytesIO()), failure_report_pb2.ERROR_TYPE_EXECUTION), (Exception(), failure_report_pb2.ERROR_TYPE_INTERNAL), ], diff --git a/backend/substrapp/tests/tasks/test_compute_task.py b/backend/substrapp/tests/tasks/test_compute_task.py index fb7065051..73afbfe2a 100644 --- a/backend/substrapp/tests/tasks/test_compute_task.py +++ b/backend/substrapp/tests/tasks/test_compute_task.py @@ -32,7 +32,7 @@ def test_compute_task_exception(mocker: MockerFixture): mock_init_task_dirs = mocker.patch("substrapp.tasks.tasks_compute_task.init_task_dirs") mock_add_asset_to_buffer = mocker.patch("substrapp.tasks.tasks_compute_task.add_task_assets_to_buffer") mock_add_asset_to_task_dir = mocker.patch("substrapp.tasks.tasks_compute_task.add_assets_to_taskdir") - mock_build_image_if_missing = mocker.patch("substrapp.tasks.tasks_compute_task.build_image_if_missing") + mock_build_image_if_missing = mocker.patch("builder.image_builder.image_builder.build_image_if_missing") mock_execute_compute_task = mocker.patch("substrapp.tasks.tasks_compute_task.execute_compute_task") saver = mocker.MagicMock() mock_output_saver = mocker.patch("substrapp.tasks.tasks_compute_task.OutputSaver", return_value=saver) @@ -136,7 +136,7 @@ def test_celery_retry(mocker: MockerFixture): mocker.patch("substrapp.tasks.tasks_compute_task.add_task_assets_to_buffer") mocker.patch("substrapp.tasks.tasks_compute_task.add_assets_to_taskdir") mocker.patch("substrapp.tasks.tasks_compute_task.restore_dir") - mocker.patch("substrapp.tasks.tasks_compute_task.build_image_if_missing") + mocker.patch("builder.image_builder.image_builder.build_image_if_missing") mock_execute_compute_task = mocker.patch("substrapp.tasks.tasks_compute_task.execute_compute_task") mocker.patch("substrapp.tasks.tasks_compute_task.teardown_task_dirs") mock_retry = mocker.patch("substrapp.tasks.tasks_compute_task.ComputeTask.retry")