5151from autosubmit .platforms .platform import Platform
5252from autosubmit .platforms .psplatform import PsPlatform
5353from autosubmit .platforms .slurmplatform import SlurmPlatform
54+ from test .conftest import AutosubmitConfigFactory
5455
5556"""Tests for the Autosubmit ``Job`` class."""
5657
@@ -2414,3 +2415,36 @@ def test_submit_ready_jobs(autosubmit_exp, mocker):
24142415 assert error_message == ''
24152416 assert len (valid_packages_to_submit ) == 1
24162417 assert any_job_submitted
2418+
2419+
2420+ @pytest .mark .parametrize ("create_jobs" , [[1 , 2 ]], indirect = True )
2421+ @pytest .mark .parametrize (
2422+ 'status,failed_file' ,
2423+ [
2424+ (Status .RUNNING , False ),
2425+ (Status .QUEUING , False ),
2426+ (Status .HELD , False ),
2427+ (Status .FAILED , False ),
2428+ (Status .FAILED , True ),
2429+ (Status .UNKNOWN , False ),
2430+ (Status .SUBMITTED , False )
2431+ ]
2432+ )
2433+ def test_update_status (create_jobs : list [Job ], status : Status , failed_file ,
2434+ autosubmit_config : 'AutosubmitConfigFactory' , local : 'LocalPlatform' ):
2435+ as_conf = autosubmit_config ('t000' , experiment_data = {
2436+ 'PLATFORMS' : {
2437+ local .name : {
2438+ 'DISABLE_RECOVERY_THREADS' : False
2439+ }
2440+ }
2441+ })
2442+ job = create_jobs [0 ]
2443+ job .id = 0
2444+ job .platform = local
2445+ job .platform_name = local .name
2446+ job .new_status = status
2447+
2448+ assert job .status != status
2449+ job .update_status (as_conf = as_conf , failed_file = failed_file )
2450+ assert job .status == status
0 commit comments