diff --git a/reana_workflow_controller/rest/workflows.py b/reana_workflow_controller/rest/workflows.py index 1f471012..b3936232 100644 --- a/reana_workflow_controller/rest/workflows.py +++ b/reana_workflow_controller/rest/workflows.py @@ -742,7 +742,7 @@ def get_workflow_parameters(workflow_id_or_name): # noqa try: user_uuid = request.args["user"] - workflow = _get_workflow_with_uuid_or_name(workflow_id_or_name, user_uuid) + workflow = _get_workflow_with_uuid_or_name(workflow_id_or_name, user_uuid, True) workflow_parameters = workflow.get_input_parameters() return ( @@ -876,9 +876,13 @@ def get_workflow_diff(workflow_id_or_name_a, workflow_id_or_name_b): # noqa context_lines = request.args.get("context_lines", 5) workflow_a_exists = False - workflow_a = _get_workflow_with_uuid_or_name(workflow_id_or_name_a, user_uuid) + workflow_a = _get_workflow_with_uuid_or_name( + workflow_id_or_name_a, user_uuid, True + ) workflow_a_exists = True - workflow_b = _get_workflow_with_uuid_or_name(workflow_id_or_name_b, user_uuid) + workflow_b = _get_workflow_with_uuid_or_name( + workflow_id_or_name_b, user_uuid, True + ) if not workflow_id_or_name_a or not workflow_id_or_name_b: raise ValueError("Workflow id or name is not supplied") specification_diff = get_specification_diff(workflow_a, workflow_b) @@ -1010,7 +1014,7 @@ def get_workflow_retention_rules(workflow_id_or_name: str, user: str): } """ try: - workflow = _get_workflow_with_uuid_or_name(workflow_id_or_name, user) + workflow = _get_workflow_with_uuid_or_name(workflow_id_or_name, user, True) rules = workflow.retention_rules.all() response = { diff --git a/reana_workflow_controller/rest/workflows_status.py b/reana_workflow_controller/rest/workflows_status.py index 72c0b3b1..1361dbb1 100644 --- a/reana_workflow_controller/rest/workflows_status.py +++ b/reana_workflow_controller/rest/workflows_status.py @@ -138,7 +138,7 @@ def get_workflow_logs(workflow_id_or_name, paginate=None, **kwargs): # noqa try: user_uuid = request.args["user"] - workflow = _get_workflow_with_uuid_or_name(workflow_id_or_name, user_uuid) + workflow = _get_workflow_with_uuid_or_name(workflow_id_or_name, user_uuid, True) steps = None if request.is_json: @@ -278,7 +278,7 @@ def get_workflow_status(workflow_id_or_name): # noqa try: user_uuid = request.args["user"] - workflow = _get_workflow_with_uuid_or_name(workflow_id_or_name, user_uuid) + workflow = _get_workflow_with_uuid_or_name(workflow_id_or_name, user_uuid, True) workflow_logs = build_workflow_logs(workflow) return ( diff --git a/reana_workflow_controller/rest/workflows_workspace.py b/reana_workflow_controller/rest/workflows_workspace.py index 7d8a961b..463482c8 100644 --- a/reana_workflow_controller/rest/workflows_workspace.py +++ b/reana_workflow_controller/rest/workflows_workspace.py @@ -252,7 +252,7 @@ def download_file(workflow_id_or_name, file_name): # noqa if not user: return jsonify({"message": "User {} does not exist".format(user)}), 404 - workflow = _get_workflow_with_uuid_or_name(workflow_id_or_name, user_uuid) + workflow = _get_workflow_with_uuid_or_name(workflow_id_or_name, user_uuid, True) workflow_name = workflow.get_full_workflow_name() return download_files_recursive_wildcard( @@ -474,7 +474,7 @@ def get_files(workflow_id_or_name, paginate=None): # noqa if not user: return jsonify({"message": "User {} does not exist".format(user)}), 404 - workflow = _get_workflow_with_uuid_or_name(workflow_id_or_name, user_uuid) + workflow = _get_workflow_with_uuid_or_name(workflow_id_or_name, user_uuid, True) file_name = request.args.get("file_name") if search: search = json.loads(search) diff --git a/tests/test_views.py b/tests/test_views.py index 19071a89..8cafe739 100644 --- a/tests/test_views.py +++ b/tests/test_views.py @@ -805,7 +805,7 @@ def test_get_workflow_status_unauthorized( content_type="application/json", data=json.dumps(cwl_workflow_with_name), ) - assert res.status_code == 404 + assert res.status_code == 500 def test_get_workflow_status_unknown_workflow(app, user0, cwl_workflow_with_name): @@ -1020,7 +1020,7 @@ def test_set_workflow_status_unauthorized( query_string={"user": random_user_uuid, "status": payload}, content_type="application/json", ) - assert res.status_code == 404 + assert res.status_code == 500 def test_set_workflow_status_unknown_workflow( @@ -1223,7 +1223,7 @@ def test_get_workflow_logs_unauthorized( query_string={"user": random_user_uuid}, content_type="application/json", ) - assert res.status_code == 404 + assert res.status_code == 500 def test_start_input_parameters( @@ -1778,7 +1778,7 @@ def test_get_workflow_retention_rules_invalid_user(app, sample_serial_workflow_i ), query_string={"user": uuid.uuid4()}, ) - assert res.status_code == 404 + assert res.status_code == 500 def test_share_workflow(app, user1, user2, sample_serial_workflow_in_db_owned_by_user1):