test_csv_backend
functemp_csv_run_db(tmp_path, monkeypatch)Force RUN_DATABASE to use a temporary CSV file.
paramtmp_pathparammonkeypatchReturns
Nonefunctemp_csv_analysis_db(tmp_path, monkeypatch)Force analysis database to use temporary CSV files in a directory.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_csv_init_creates_file(temp_csv_run_db)init_systems_database creates a CSV file with correct headers.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_init_already_exists(temp_csv_run_db, monkeypatch)Second init returns {table: False} when file already exists.
paramtemp_csv_run_dbparammonkeypatchReturns
Nonefunctest_csv_init_reset_recreates(temp_csv_run_db, monkeypatch)reset=True recreates CSV even when data exists.
paramtemp_csv_run_dbparammonkeypatchReturns
Nonefunctest_csv_init_creates_directories(tmp_path, monkeypatch)init_csv_tables creates parent directories automatically.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_csv_analysis_init_creates_files_in_directory(temp_csv_analysis_db)init_analysis_database creates per-table CSV files in the analysis dir.
paramtemp_csv_analysis_dbReturns
Nonefunctest_csv_save_and_load(temp_csv_run_db)Round-trip save and load via DataManager.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_save_multiple_records(temp_csv_run_db)Save multiple records as a list.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_save_deduplicates(temp_csv_run_db)Saving duplicate records skips conflicts (existing wins).
paramtemp_csv_run_dbReturns
Nonefunctest_csv_save_overwrite(temp_csv_run_db)save_data with overwrite=True replaces all data.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_query_data(temp_csv_run_db)query_data filters by conditions.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_query_data_empty_conditions(temp_csv_run_db)query_data with empty conditions returns all rows.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_query_unknown_column_raises(temp_csv_run_db)query_data fails fast when condition columns do not exist.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_delete_specific(temp_csv_run_db)delete_data removes only matching rows.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_delete_all(temp_csv_run_db)delete_data with empty conditions clears all rows, preserves headers.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_delete_unknown_column_raises(temp_csv_run_db)delete_data fails fast when condition columns do not exist.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_upload_default_insert(temp_csv_run_db)Default mode inserts new records.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_upload_default_duplicate_error(temp_csv_run_db)Default mode raises ValueError when duplicates exist.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_upload_diff_skips_existing(temp_csv_run_db)Diff mode skips records that already exist.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_upload_force_overwrites(temp_csv_run_db)Force mode overwrites existing records.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_database_exists(temp_csv_run_db)database_exists returns True for initialized CSV.
paramtemp_csv_run_dbReturns
Nonefunctest_csv_database_not_exists(tmp_path, monkeypatch)database_exists returns False for non-existent CSV.
paramtmp_pathparammonkeypatchReturns
Nonefunctest_get_csv_path_static_table()get_csv_path returns file path for static tables.
Returns
Nonefunctest_get_csv_path_static_analysis_database()get_csv_path returns configured analysis base path for ANALYSIS_DATABASE.
Returns
Nonefunctest_get_csv_path_dynamic_analysis_table()get_csv_path returns directory-based path for analysis tables.
Returns
Nonefunctest_get_csv_path_dynamic_artifact_table()get_csv_path returns directory-based path for artifact tables.
Returns
None