diff --git a/arkindex/process/serializers/imports.py b/arkindex/process/serializers/imports.py index a0a56d14300b0330cc2d61c0431aeead5069dfc8..4ed6c396e491f702021dc5a4a06966116e75404a 100644 --- a/arkindex/process/serializers/imports.py +++ b/arkindex/process/serializers/imports.py @@ -474,12 +474,7 @@ class StartProcessSerializer(serializers.Serializer): ) else: - if validated_data.get("worker_activity"): - errors["worker_activity"].append("The process must have workers attached to handle their activity.") - if validated_data.get("use_cache"): - errors["use_cache"].append("The process must have workers attached to use cached results.") - if validated_data.get("use_gpu"): - errors["use_gpu"].append("The process must have workers attached to use GPUs.") + errors["__all__"].append("The process must have worker runs to be started.") if errors: raise ValidationError(errors) diff --git a/arkindex/process/tests/test_create_process.py b/arkindex/process/tests/test_create_process.py index 8ca5e1739af48abc1db490cb914f9792622e204e..63d602657f4ebcb8540f2c6a2c091ac73582dcfe 100644 --- a/arkindex/process/tests/test_create_process.py +++ b/arkindex/process/tests/test_create_process.py @@ -116,11 +116,15 @@ class TestCreateProcess(FixtureAPITestCase): "element_name_contains": None, }) + process.worker_runs.create( + version=self.version_1 + ) + # The process needs to be started to produce a workflow response = self.client.post( reverse("api:process-start", kwargs={"pk": str(process.id)}), # The process needs a worker run or thumbnails generation to start - {"thumbnails": "true"} + {"worker_activity": "true"} ) self.assertEqual(response.status_code, status.HTTP_201_CREATED) process.refresh_from_db() @@ -486,11 +490,15 @@ class TestCreateProcess(FixtureAPITestCase): self.assertFalse(process.tasks.exists()) self.assertEqual(process.elements.get(), page) + process.worker_runs.create( + version=self.version_1 + ) + # The process needs to be started to produce a workflow response = self.client.post( reverse("api:process-start", kwargs={"pk": str(process.id)}), # The process needs a worker run or thumbnails generation to start - {"thumbnails": "true"} + {"worker_activity": "true"} ) self.assertEqual(response.status_code, status.HTTP_201_CREATED) process.refresh_from_db() diff --git a/arkindex/process/tests/test_processes.py b/arkindex/process/tests/test_processes.py index 533f1a4d903043bfd8c02ff35fdb0e0381a08511..d08ae86c0defd3a9c2c4ccfaac57bc96b401ae16 100644 --- a/arkindex/process/tests/test_processes.py +++ b/arkindex/process/tests/test_processes.py @@ -2167,7 +2167,7 @@ class TestProcesses(FixtureAPITestCase): self.assertEqual( response.json(), - {"__all__": ["The process must have worker runs."]}, + {"__all__": ["The process must have worker runs to be started."]}, ) def test_start_process_unavailable_worker_version(self): @@ -2594,9 +2594,7 @@ class TestProcesses(FixtureAPITestCase): ) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) self.assertDictEqual(response.json(), { - "use_cache": ["The process must have workers attached to use cached results."], - "worker_activity": ["The process must have workers attached to handle their activity."], - "use_gpu": ["The process must have workers attached to use GPUs."], + "__all__": ["The process must have worker runs to be started."] }) process.refresh_from_db() self.assertFalse(process.use_cache)