MDFactoryMDFactory

test_push_analysis

func_create_simulation_folder_analysis(tmp_path, hash_value, build_input)Path

Create a simulation folder with YAML and structure file for analysis tests.

paramtmp_pathPath
paramhash_valuestr
parambuild_input

Returns

pathlib.Path
func_create_analysis_data(folder, analysis_name, df)None

Create mock analysis data in a simulation folder.

paramfolderPath
paramanalysis_namestr
paramdfpd.DataFrame

Returns

None
func_sample_analysis_df(analysis_name)pd.DataFrame

Create sample analysis DataFrame based on analysis type.

paramanalysis_namestr

Returns

pandas.pandas.DataFrame
func_analysis_record(hash_value, analysis_name='area_per_lipid')dict

Create a sample analysis record.

paramhash_valuestr
paramanalysis_namestr
= 'area_per_lipid'

Returns

dict
func_overview_record(hash_value, item_name, status='completed', item_type='analysis')dict

Create 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_valuestr
paramitem_namestr
paramstatusstr
= 'completed'
paramitem_typestr
= 'analysis'

Returns

dict
functest_get_analysis_table_name()

Returns

None
functest_get_artifact_table_name()

Returns

None
functest_get_all_analysis_names()

Returns

None
functest_get_all_artifact_names()

Returns

None
functest_get_analyses_for_simulation_type()

Returns

None
functest_get_artifacts_for_simulation_type()

Returns

None
functest_serialize_dataframe_to_csv()

Returns

None
functest_deserialize_csv_to_dataframe()

Returns

None
functest_csv_roundtrip()

Returns

None
functest_init_analysis_database_creates_file(tmp_path, monkeypatch)
paramtmp_path
parammonkeypatch

Returns

None
functest_init_analysis_database_already_exists(temp_analysis_db)
paramtemp_analysis_db

Returns

None
functest_query_existing_hashes_empty_table(temp_analysis_db)
paramtemp_analysis_db

Returns

None
functest_query_existing_hashes_with_data(temp_analysis_db)
paramtemp_analysis_db

Returns

None
functest_upload_analysis_data_success(temp_analysis_db)
paramtemp_analysis_db

Returns

None
functest_upload_analysis_data_diff_mode(temp_analysis_db)
paramtemp_analysis_db

Returns

None
functest_upload_analysis_data_force_mode(temp_analysis_db)
paramtemp_analysis_db

Returns

None
functest_upload_analysis_data_dedupes_input(temp_analysis_db)
paramtemp_analysis_db

Returns

None
functest_upload_analysis_data_duplicate_error(temp_analysis_db)
paramtemp_analysis_db

Returns

None
functest_update_overview_records(temp_analysis_db)
paramtemp_analysis_db

Returns

None
functest_update_overview_records_updates_existing(temp_analysis_db)
paramtemp_analysis_db

Returns

None
functest_update_overview_records_diff_no_downgrade(temp_analysis_db)

Diff mode must not overwrite completed with not_yet_run.

paramtemp_analysis_db

Returns

None
functest_update_overview_records_diff_upgrades_status(temp_analysis_db)

Diff mode upgrades not_yet_run to completed.

paramtemp_analysis_db

Returns

None
functest_update_overview_records_diff_skips_same_status(temp_analysis_db)

Diff mode skips records with unchanged status.

paramtemp_analysis_db

Returns

None
functest_update_overview_records_diff_mixed_new_and_upgrade(temp_analysis_db)

Diff mode handles mix of new records and upgrades.

paramtemp_analysis_db

Returns

None
functest_update_overview_records_force_allows_upgrade(temp_analysis_db)

Force mode must overwrite existing keys.

paramtemp_analysis_db

Returns

None
functest_push_analysis_legacy_imports()

Symbols historically importable from push_analysis must still resolve.

Returns

None
functest_prepare_overview_record()

Returns

None
functest_discover_and_prepare_with_analyses(tmp_path, monkeypatch)

Test discovering simulations with completed analyses.

paramtmp_path
parammonkeypatch

Returns

None
functest_push_analysis_integration(tmp_path, monkeypatch)

Test full push_analysis flow.

paramtmp_path
parammonkeypatch

Returns

None
functest_push_analysis_diff_mode(tmp_path, monkeypatch)

Test push_analysis with diff mode.

paramtmp_path
parammonkeypatch

Returns

None
functest_push_analysis_default_upgrades_existing_not_yet_run(tmp_path, monkeypatch)

Default mode should upgrade overview status without failing.

paramtmp_path
parammonkeypatch

Returns

None
functest_cli_sync_init_analysis(tmp_path, monkeypatch)

Test CLI sync init analysis command.

paramtmp_path
parammonkeypatch

Returns

None
functest_cli_sync_push_analysis_no_inputs(monkeypatch)

Test CLI sync push analysis with no inputs.

parammonkeypatch

Returns

None
functest_cli_sync_push_analysis_force_and_diff_together(tmp_path, monkeypatch)

Test CLI rejects force and diff together.

paramtmp_path
parammonkeypatch

Returns

None
functest_cli_sync_push_analysis_csv_root_without_csv(tmp_path, monkeypatch)

Test CLI rejects csv_root without csv.

paramtmp_path
parammonkeypatch

Returns

None
functest_cli_sync_push_analysis_path_success(tmp_path, monkeypatch)

Test CLI sync push analysis with path input.

paramtmp_path
parammonkeypatch

Returns

None
functest_cli_sync_push_analysis_duplicate_exits_cleanly(tmp_path, monkeypatch)

CLI should exit cleanly (no re-raise traceback) on duplicate-key errors.

paramtmp_path
parammonkeypatch

Returns

None
functest_push_analysis_duplicate_raises(tmp_path, monkeypatch)

Test push_analysis raises ValueError on duplicate data in default mode.

paramtmp_path
parammonkeypatch

Returns

None
functest_update_overview_records_force_and_diff_rejected(temp_analysis_db)

Test update_overview_records rejects force=True and diff=True together.

paramtemp_analysis_db

Returns

None
functest_init_analysis_database_creates_tables(tmp_path, monkeypatch)

init_analysis_database should create SQLite tables for all registered analyses.

paramtmp_path
parammonkeypatch

Returns

None
functest_init_analysis_database_reset_recreates(tmp_path, monkeypatch)

reset=True should clear only analysis overview rows.

paramtmp_path
parammonkeypatch

Returns

None
functest_init_analysis_database_idempotent(tmp_path, monkeypatch)

Second init without reset should return all False.

paramtmp_path
parammonkeypatch

Returns

None
functest_upload_records_rejects_force_and_diff(temp_analysis_db)

upload_records must reject force=True and diff=True together.

paramtemp_analysis_db

Returns

None