test_push_analysis
func_create_simulation_folder_analysis(tmp_path, hash_value, build_input) → PathCreate a simulation folder with YAML and structure file for analysis tests.
paramtmp_pathPathparamhash_valuestrparambuild_inputReturns
pathlib.Pathfunc_create_analysis_data(folder, analysis_name, df) → NoneCreate mock analysis data in a simulation folder.
paramfolderPathparamanalysis_namestrparamdfpd.DataFrameReturns
Nonefunc_sample_analysis_df(analysis_name) → pd.DataFrameCreate sample analysis DataFrame based on analysis type.
paramanalysis_namestrReturns
pandas.pandas.DataFramefunc_analysis_record(hash_value, analysis_name='area_per_lipid') → dictCreate a sample analysis record.
paramhash_valuestrparamanalysis_namestr= 'area_per_lipid'Returns
dictfunc_overview_record(hash_value, item_name, status='completed', item_type='analysis') → dictCreate a sample overview record.
Note: Uses empty string instead of None to avoid SQLite NULL constraint issues when the first record sets the schema.
paramhash_valuestrparamitem_namestrparamstatusstr= 'completed'paramitem_typestr= 'analysis'Returns
dictfunctest_get_analysis_table_name()Returns
Nonefunctest_get_artifact_table_name()Returns
Nonefunctest_get_all_analysis_names()Returns
Nonefunctest_get_all_artifact_names()Returns
Nonefunctest_get_analyses_for_simulation_type()Returns
Nonefunctest_get_artifacts_for_simulation_type()Returns
Nonefunctest_serialize_dataframe_to_csv()Returns
Nonefunctest_deserialize_csv_to_dataframe()Returns
Nonefunctest_csv_roundtrip()Returns
Nonefunctest_init_analysis_database_creates_file(tmp_path, monkeypatch)paramtmp_pathparammonkeypatchReturns
Nonefunctest_init_analysis_database_already_exists(temp_analysis_db)paramtemp_analysis_dbReturns
Nonefunctest_query_existing_hashes_empty_table(temp_analysis_db)paramtemp_analysis_dbReturns
Nonefunctest_query_existing_hashes_with_data(temp_analysis_db)paramtemp_analysis_dbReturns
Nonefunctest_upload_analysis_data_success(temp_analysis_db)paramtemp_analysis_dbReturns
Nonefunctest_upload_analysis_data_diff_mode(temp_analysis_db)paramtemp_analysis_dbReturns
Nonefunctest_upload_analysis_data_force_mode(temp_analysis_db)paramtemp_analysis_dbReturns
Nonefunctest_upload_analysis_data_dedupes_input(temp_analysis_db)paramtemp_analysis_dbReturns
Nonefunctest_upload_analysis_data_duplicate_error(temp_analysis_db)paramtemp_analysis_dbReturns
Nonefunctest_update_overview_records(temp_analysis_db)paramtemp_analysis_dbReturns
Nonefunctest_update_overview_records_updates_existing(temp_analysis_db)paramtemp_analysis_dbReturns
Nonefunctest_update_overview_records_diff_no_downgrade(temp_analysis_db)Diff mode must not overwrite completed with not_yet_run.
paramtemp_analysis_dbReturns
Nonefunctest_update_overview_records_diff_upgrades_status(temp_analysis_db)Diff mode upgrades not_yet_run to completed.
paramtemp_analysis_dbReturns
Nonefunctest_update_overview_records_diff_skips_same_status(temp_analysis_db)Diff mode skips records with unchanged status.
paramtemp_analysis_dbReturns
Nonefunctest_update_overview_records_diff_mixed_new_and_upgrade(temp_analysis_db)Diff mode handles mix of new records and upgrades.
paramtemp_analysis_dbReturns
Nonefunctest_update_overview_records_force_allows_upgrade(temp_analysis_db)Force mode must overwrite existing keys.
paramtemp_analysis_dbReturns
Nonefunctest_push_analysis_legacy_imports()Symbols historically importable from push_analysis must still resolve.
Returns
Nonefunctest_prepare_overview_record()Returns
Nonefunctest_discover_and_prepare_with_analyses(tmp_path, monkeypatch)Test discovering simulations with completed analyses.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_push_analysis_integration(tmp_path, monkeypatch)Test full push_analysis flow.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_push_analysis_diff_mode(tmp_path, monkeypatch)Test push_analysis with diff mode.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_push_analysis_default_upgrades_existing_not_yet_run(tmp_path, monkeypatch)Default mode should upgrade overview status without failing.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_cli_sync_init_analysis(tmp_path, monkeypatch)Test CLI sync init analysis command.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_cli_sync_push_analysis_no_inputs(monkeypatch)Test CLI sync push analysis with no inputs.
parammonkeypatchReturns
Nonefunctest_cli_sync_push_analysis_force_and_diff_together(tmp_path, monkeypatch)Test CLI rejects force and diff together.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_cli_sync_push_analysis_csv_root_without_csv(tmp_path, monkeypatch)Test CLI rejects csv_root without csv.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_cli_sync_push_analysis_path_success(tmp_path, monkeypatch)Test CLI sync push analysis with path input.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_cli_sync_push_analysis_duplicate_exits_cleanly(tmp_path, monkeypatch)CLI should exit cleanly (no re-raise traceback) on duplicate-key errors.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_push_analysis_duplicate_raises(tmp_path, monkeypatch)Test push_analysis raises ValueError on duplicate data in default mode.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_update_overview_records_force_and_diff_rejected(temp_analysis_db)Test update_overview_records rejects force=True and diff=True together.
paramtemp_analysis_dbReturns
Nonefunctest_init_analysis_database_creates_tables(tmp_path, monkeypatch)init_analysis_database should create SQLite tables for all registered analyses.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_init_analysis_database_reset_recreates(tmp_path, monkeypatch)reset=True should clear only analysis overview rows.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_init_analysis_database_idempotent(tmp_path, monkeypatch)Second init without reset should return all False.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_upload_records_rejects_force_and_diff(temp_analysis_db)upload_records must reject force=True and diff=True together.
paramtemp_analysis_dbReturns
None