From 9d01cc4ec44794d84fb52e40bcc7bb723ec29721 Mon Sep 17 00:00:00 2001 From: dbeltran Date: Mon, 26 Aug 2024 08:59:09 +0200 Subject: [PATCH 1/2] Avoid & as a char of a filename --- autosubmit/job/job_packages.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autosubmit/job/job_packages.py b/autosubmit/job/job_packages.py index 309881657..313f9cfa3 100644 --- a/autosubmit/job/job_packages.py +++ b/autosubmit/job/job_packages.py @@ -54,7 +54,7 @@ def jobs_in_wrapper_str(as_conf, current_wrapper): else: jobs_in_wrapper = jobs_in_wrapper.split(" ") jobs_in_wrapper = [job.strip(" ,") for job in jobs_in_wrapper] - return "&".join(jobs_in_wrapper) + return "_".join(jobs_in_wrapper) class JobPackageBase(object): """ Class to manage the package of jobs to be submitted by autosubmit -- GitLab From e0accc34ad3f00a8ec3dad8d57d858dc78e6eda0 Mon Sep 17 00:00:00 2001 From: dbeltran Date: Mon, 26 Aug 2024 09:48:01 +0200 Subject: [PATCH 2/2] added pytest --- test/unit/test_job_package.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/test/unit/test_job_package.py b/test/unit/test_job_package.py index e70f10872..3808dba35 100644 --- a/test/unit/test_job_package.py +++ b/test/unit/test_job_package.py @@ -4,6 +4,7 @@ import os from pathlib import Path import inspect import tempfile + from mock import MagicMock, ANY from mock import patch @@ -11,9 +12,11 @@ from autosubmit.job.job import Job from autosubmit.job.job_common import Status from autosubmit.job.job_list import JobList from autosubmit.job.job_list_persistence import JobListPersistenceDb -from autosubmit.job.job_packages import JobPackageSimple, JobPackageVertical +from autosubmit.job.job_packages import JobPackageSimple, JobPackageVertical, jobs_in_wrapper_str from autosubmitconfigparser.config.configcommon import AutosubmitConfig from autosubmitconfigparser.config.yamlparser import YAMLParserFactory +import pytest +from autosubmit.job.job_packages import jobs_in_wrapper_str class FakeBasicConfig: @@ -206,3 +209,21 @@ class TestJobPackage(TestCase): self.job_package._create_scripts.is_called_once_with() self.job_package._send_files.is_called_once_with() self.job_package._do_submission.is_called_once_with() + +@pytest.fixture +def mock_as_conf(): + class MockAsConf: + experiment_data = { + "WRAPPERS": { + "current_wrapper": { + "JOBS_IN_WRAPPER": "job1 job2 job3" + } + } + } + return MockAsConf() + +def test_jobs_in_wrapper_str(mock_as_conf): + # Arrange + current_wrapper = "current_wrapper" + result = jobs_in_wrapper_str(mock_as_conf, current_wrapper) + assert result == "job1_job2_job3" \ No newline at end of file -- GitLab