diff --git a/src/milex_scheduler/apps/milex_schedule.py b/src/milex_scheduler/apps/milex_schedule.py index d4048a2..1505ddb 100644 --- a/src/milex_scheduler/apps/milex_schedule.py +++ b/src/milex_scheduler/apps/milex_schedule.py @@ -48,6 +48,7 @@ def parse_args(): parser.add_argument('script', help='Name of the script to schedule.') parser.add_argument('--name', default=None, help='Name of the job bundle (JSON file containing multiple jobs/scripts to be scheduled). ' 'If not provided, the script name is used as the bundle name.') + parser.add_argument('--job_name', default=None, help='Name of the job to schedule. If not provided, the script name is used as the job name.') parser.add_argument('--append', action='store_true', help='Append the job to an existing bundle. ' 'If not provided, a new unique bundle is created using current timestamp.') parser.add_argument('--submit', action='store_true', help='Submit the job immediately after scheduling it.') @@ -86,6 +87,7 @@ def parse_args(): def main(): args, script_args = parse_args() job = { + "name": args.script if args.job_name is None else args.job_name, "script": args.script, "script_args": script_args, "dependencies": args.dependencies, diff --git a/tests/integration/test_milex_job_scheduler.py b/tests/integration/test_milex_job_scheduler.py index ad46798..86be8ee 100644 --- a/tests/integration/test_milex_job_scheduler.py +++ b/tests/integration/test_milex_job_scheduler.py @@ -34,6 +34,7 @@ def mock_parse_known_args(): Namespace( script="job_name", name="bundle_name", + job_name=None, job=None, append=False, submit=False, @@ -115,7 +116,7 @@ def test_parse_script_args_success(mock_run): # ) -def test_cli(mock_parse_known_args, mock_run): +def test_schedule_cli(mock_parse_known_args, mock_run): # Adjust the mock to return a JSON string that matches the expected output from the CLI application mock_run.return_value = MagicMock( returncode=0, @@ -128,7 +129,9 @@ def test_cli(mock_parse_known_args, mock_run): assert expected_job_args == {"custom_arg1": "value1", "custom_arg2": "value2"} -def test_main(mock_submit_job, mock_parse_known_args, mock_run, mock_load_config): +def test_schedule_main( + mock_submit_job, mock_parse_known_args, mock_run, mock_load_config +): # Adjust mock_run to simulate the output from a successful CLI application run mock_run.return_value = MagicMock( returncode=0, @@ -141,6 +144,7 @@ def test_main(mock_submit_job, mock_parse_known_args, mock_run, mock_load_config Namespace( script="job_name", name="bundle_name", + job_name=None, job=None, append=False, submit=True,