test_push
Tests for the push workflow including simulation folder discovery,.
func_record(hash_value, status='build') → dict[str, str]Create a test record. Delegates to shared helper.
paramhash_valuestrparamstatusstr= 'build'Returns
dict[str, str]func_create_folder_with_yaml(tmp_path, folder_name, yaml_name, build_input)Create a folder with a YAML file containing BuildInput data.
paramtmp_pathPathparamfolder_namestrparamyaml_namestrparambuild_inputReturns
Nonefunc_create_summary_yaml(tmp_path, directories) → PathCreate a summary YAML file with system_directory list.
paramtmp_pathPathparamdirectorieslist[Path]Returns
pathlib.Pathfunctest_discover_simulation_folders_csv_root(tmp_path)paramtmp_pathReturns
Nonefunctest_discover_simulation_folders_csv_root_missing(tmp_path)paramtmp_pathReturns
Nonefunctest_upload_simulations_force_overwrites(temp_run_db)paramtemp_run_dbReturns
Nonefunctest_upload_simulations_diff_skips_existing(temp_run_db)paramtemp_run_dbReturns
Nonefunctest_find_yaml_hash_priority(tmp_path)paramtmp_pathReturns
Nonefunctest_find_yaml_build_priority(tmp_path)paramtmp_pathReturns
Nonefunctest_find_yaml_alphabetical_fallback(tmp_path)paramtmp_pathReturns
Nonefunctest_find_yaml_no_yaml_files(tmp_path)paramtmp_pathReturns
Nonefunctest_status_completed(tmp_path)paramtmp_pathReturns
Nonefunctest_status_production(tmp_path)paramtmp_pathReturns
Nonefunctest_status_equilibrated(tmp_path)paramtmp_pathReturns
Nonefunctest_status_hierarchy_prod_gro_wins(tmp_path)paramtmp_pathReturns
Nonefunctest_load_models_valid_csv(tmp_path)paramtmp_pathReturns
Nonefunctest_load_models_csv_with_errors(tmp_path)paramtmp_pathReturns
Nonefunctest_load_models_nonexistent_csv(tmp_path)paramtmp_pathReturns
Nonefunctest_search_hash_found_shallow(tmp_path)paramtmp_pathReturns
Nonefunctest_search_hash_found_nested(tmp_path)paramtmp_pathReturns
Nonefunctest_search_hash_not_found(tmp_path)paramtmp_pathReturns
Nonefunctest_discover_path_single_folder(tmp_path)paramtmp_pathReturns
Nonefunctest_discover_path_single_folder_no_yaml(tmp_path)paramtmp_pathReturns
Nonefunctest_discover_path_single_folder_invalid_yaml(tmp_path)paramtmp_pathReturns
Nonefunctest_discover_path_root_with_subfolders(tmp_path)paramtmp_pathReturns
Nonefunctest_discover_path_root_with_summary_yaml_and_subfolders(tmp_path)paramtmp_pathReturns
Nonefunctest_discover_path_glob_multiple_folders(tmp_path)paramtmp_pathReturns
Nonefunctest_discover_yaml_mode_valid(tmp_path)paramtmp_pathReturns
Nonefunctest_discover_yaml_mode_missing_file(tmp_path)paramtmp_pathReturns
Nonefunctest_discover_yaml_mode_missing_system_directory_field(tmp_path)paramtmp_pathReturns
Nonefunctest_discover_csv_mode_missing_csv_file(tmp_path)paramtmp_pathReturns
Nonefunctest_discover_multiple_inputs_error(tmp_path)paramtmp_pathReturns
Nonefunctest_discover_no_inputs_error()Returns
Nonefunctest_query_hashes_empty_database(temp_run_db)paramtemp_run_dbReturns
Nonefunctest_query_hashes_multiple_records(temp_run_db)paramtemp_run_dbReturns
Nonefunctest_query_hashes_explicit_table_name(temp_run_db)paramtemp_run_dbReturns
Nonefunctest_prepare_single_simulation(tmp_path)paramtmp_pathReturns
Nonefunctest_prepare_multiple_simulations(tmp_path)paramtmp_pathReturns
Nonefunctest_prepare_status_correctly_determined(tmp_path)paramtmp_pathReturns
Nonefunctest_upload_default_mode_success(temp_run_db)paramtemp_run_dbReturns
Nonefunctest_upload_explicit_db_type(temp_run_db)paramtemp_run_dbReturns
Nonefunctest_upload_default_mode_duplicate_error(temp_run_db)paramtemp_run_dbReturns
Nonefunctest_upload_force_multiple_records(temp_run_db)paramtemp_run_dbReturns
Nonefunctest_upload_simulations_dedupes_input(temp_run_db)paramtemp_run_dbReturns
Nonefunctest_upload_diff_skips_all_existing(temp_run_db)paramtemp_run_dbReturns
Nonefunctest_integration_path_to_upload(tmp_path, temp_run_db)paramtmp_pathparamtemp_run_dbReturns
Nonefunctest_integration_yaml_to_upload(tmp_path, temp_run_db)paramtmp_pathparamtemp_run_dbReturns
Nonefunctest_integration_csv_to_upload(tmp_path, temp_run_db)paramtmp_pathparamtemp_run_dbReturns
Nonefunctest_integration_duplicate_handling(tmp_path, temp_run_db)paramtmp_pathparamtemp_run_dbReturns
Nonefunctest_push_systems_path_mode(tmp_path, temp_run_db)paramtmp_pathparamtemp_run_dbReturns
Nonefunctest_push_systems_yaml_mode(tmp_path, temp_run_db)paramtmp_pathparamtemp_run_dbReturns
Nonefunctest_push_systems_with_force(tmp_path, temp_run_db)paramtmp_pathparamtemp_run_dbReturns
Nonefunctest_push_systems_with_diff(tmp_path, temp_run_db)paramtmp_pathparamtemp_run_dbReturns
Nonefunctest_init_systems_database_creates_file(tmp_path, monkeypatch)paramtmp_pathparammonkeypatchReturns
Nonefunctest_init_systems_database_already_exists(tmp_path, monkeypatch)paramtmp_pathparammonkeypatchReturns
Nonefunctest_init_systems_database_reset_recreates(tmp_path, monkeypatch)reset=True drops and recreates the table, clearing all data.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_cli_sync_init_systems(tmp_path, monkeypatch)paramtmp_pathparammonkeypatchReturns
Nonefunctest_cli_sync_push_systems_no_inputs(monkeypatch)parammonkeypatchReturns
Nonefunctest_cli_sync_push_systems_both_inputs(tmp_path, monkeypatch)paramtmp_pathparammonkeypatchReturns
Nonefunctest_cli_sync_push_systems_force_and_diff_together(tmp_path, monkeypatch)paramtmp_pathparammonkeypatchReturns
Nonefunctest_cli_sync_push_systems_path_success(tmp_path, temp_run_db, monkeypatch)paramtmp_pathparamtemp_run_dbparammonkeypatchReturns
Nonefunctest_cli_sync_push_systems_yaml_success(tmp_path, temp_run_db, monkeypatch)paramtmp_pathparamtemp_run_dbparammonkeypatchReturns
Nonefunctest_cli_sync_push_systems_duplicate_exits_cleanly(tmp_path, monkeypatch)CLI should exit cleanly (no re-raise traceback) on duplicate-key errors.
paramtmp_pathparammonkeypatchReturns
None