Skip to content

DB connections and unit tests #1908

@GernotMaier

Description

@GernotMaier

This is an old topic...

simtools unit tests require at this point a working database connection. Motivation is that the DB is an integral part of simtools. However, likely several / many / most of the DB calls would be avoided by very simple mocking. Note also that there is some generic mocking of e.g. array_model / site_model in conftest.py.

This is the list of the unit tests requiring DB connections:

tests/unit_tests/camera/test_camera_efficiency.py::test_analyze_from_file
tests/unit_tests/camera/test_camera_efficiency.py::test_analyze_has_results
tests/unit_tests/camera/test_camera_efficiency.py::test_calc_camera_efficiency
tests/unit_tests/camera/test_camera_efficiency.py::test_calc_nsb_rate
tests/unit_tests/camera/test_camera_efficiency.py::test_calc_reflectivity
tests/unit_tests/camera/test_camera_efficiency.py::test_calc_tel_efficiency
tests/unit_tests/camera/test_camera_efficiency.py::test_calc_tot_efficiency
tests/unit_tests/camera/test_camera_efficiency.py::test_configuration_from_args_dict
tests/unit_tests/camera/test_camera_efficiency.py::test_export_results
tests/unit_tests/camera/test_camera_efficiency.py::test_get_nsb_pixel_rate_provided_spectrum
tests/unit_tests/camera/test_camera_efficiency.py::test_get_nsb_pixel_rate_reference_conditions
tests/unit_tests/camera/test_camera_efficiency.py::test_load_files
tests/unit_tests/camera/test_camera_efficiency.py::test_plot_efficiency
tests/unit_tests/camera/test_camera_efficiency.py::test_read_results
tests/unit_tests/camera/test_camera_efficiency.py::test_report
tests/unit_tests/camera/test_camera_efficiency.py::test_results_summary
tests/unit_tests/camera/test_camera_efficiency.py::test_save_plot
tests/unit_tests/camera/test_camera_efficiency.py::test_simulate
tests/unit_tests/corsika/test_corsika_config.py::test_get_corsika_telescope_list
tests/unit_tests/db/test_db_handler.py::test_get_array_elements_of_type
tests/unit_tests/db/test_db_handler.py::test_get_model_parameter_with_model_version_list
tests/unit_tests/db/test_db_handler.py::test_get_model_parameters_no_parameters
tests/unit_tests/db/test_db_handler.py::test_get_model_parameters_with_cache
tests/unit_tests/layout/test_array_layout.py::test_add_tel
tests/unit_tests/layout/test_array_layout.py::test_altitude_from_corsika_z
tests/unit_tests/layout/test_array_layout.py::test_build_layout
tests/unit_tests/layout/test_array_layout.py::test_converting_center_coordinates_north
tests/unit_tests/layout/test_array_layout.py::test_converting_center_coordinates_south
tests/unit_tests/layout/test_array_layout.py::test_export_one_telescope_as_json
tests/unit_tests/layout/test_array_layout.py::test_export_telescope_list_table
tests/unit_tests/layout/test_array_layout.py::test_getitem
tests/unit_tests/layout/test_array_layout.py::test_initialize_coordinate_systems
tests/unit_tests/layout/test_array_layout.py::test_len
tests/unit_tests/layout/test_array_layout.py::test_read_table_from_json_file
tests/unit_tests/layout/test_array_layout.py::test_select_assets
tests/unit_tests/layout/test_array_layout.py::test_try_set_altitude
tests/unit_tests/layout/test_array_layout.py::test_try_set_coordinate
tests/unit_tests/model/test_array_model.py::test_array_model_north_from_file
tests/unit_tests/model/test_array_model.py::test_array_model_north_init_without_layout_or_telescope_list
tests/unit_tests/model/test_array_model.py::test_export_array_elements_as_table
tests/unit_tests/model/test_array_model.py::test_exporting_config_files
tests/unit_tests/model/test_array_model.py::test_get_additional_simtel_metadata
tests/unit_tests/model/test_array_model.py::test_get_all_array_elements_of_type
tests/unit_tests/model/test_array_model.py::test_get_array_elements_from_list
tests/unit_tests/model/test_array_model.py::test_get_config_directory
tests/unit_tests/model/test_array_model.py::test_get_config_file
tests/unit_tests/model/test_array_model.py::test_get_telescope_position_parameter
tests/unit_tests/model/test_array_model.py::test_input_validation
tests/unit_tests/model/test_array_model.py::test_load_array_element_positions_from_file
tests/unit_tests/model/test_array_model.py::test_pack_model_files
tests/unit_tests/model/test_array_model.py::test_site
tests/unit_tests/model/test_array_model.py::test_update_array_element_position
tests/unit_tests/model/test_camera.py::test_get_number_of_pixels
tests/unit_tests/model/test_camera.py::test_pixel_solid_angle
tests/unit_tests/model/test_model_parameter.py::test__get_key_for_parameter_changes
tests/unit_tests/model/test_model_parameter.py::test_add_additional_models
tests/unit_tests/model/test_model_parameter.py::test_check_model_parameter_software_versions_no_schema
tests/unit_tests/model/test_model_parameter.py::test_check_model_parameter_with_overwrite_file
tests/unit_tests/model/test_model_parameter.py::test_config_file_path
tests/unit_tests/model/test_model_parameter.py::test_export_model_files
tests/unit_tests/model/test_model_parameter.py::test_export_nsb_spectrum_to_telescope_altitude_correction_file
tests/unit_tests/model/test_model_parameter.py::test_flen_type
tests/unit_tests/model/test_model_parameter.py::test_get_parameter_dict
tests/unit_tests/model/test_model_parameter.py::test_get_parameter_file_flag
tests/unit_tests/model/test_model_parameter.py::test_get_parameter_type
tests/unit_tests/model/test_model_parameter.py::test_get_parameter_value
tests/unit_tests/model/test_model_parameter.py::test_get_parameter_value_no_value
tests/unit_tests/model/test_model_parameter.py::test_get_parameter_value_with_none_type
tests/unit_tests/model/test_model_parameter.py::test_get_parameter_value_with_unit
tests/unit_tests/model/test_model_parameter.py::test_get_parameter_version
tests/unit_tests/model/test_model_parameter.py::test_get_simulation_software_parameters
tests/unit_tests/model/test_model_parameter.py::test_handling_parameters
tests/unit_tests/model/test_model_parameter.py::test_load_parameters_from_db
tests/unit_tests/model/test_model_parameter.py::test_load_simulation_software_parameter
tests/unit_tests/model/test_model_parameter.py::test_overwrite_model_file
tests/unit_tests/model/test_model_parameter.py::test_overwrite_model_parameter
tests/unit_tests/model/test_model_parameter.py::test_overwrite_model_parameter_not_in_model
tests/unit_tests/model/test_model_parameter.py::test_overwrite_model_parameter_updates_exported_files_flag
tests/unit_tests/model/test_model_parameter.py::test_overwrite_model_parameter_with_parameter_version
tests/unit_tests/model/test_model_parameter.py::test_overwrite_parameters
tests/unit_tests/model/test_model_parameter.py::test_overwrite_parameters_from_file_no_changes
tests/unit_tests/model/test_model_parameter.py::test_overwrite_parameters_from_file_with_changes
tests/unit_tests/model/test_model_parameter.py::test_overwrite_parameters_with_simple_value
tests/unit_tests/model/test_model_parameter.py::test_overwrite_parameters_with_version_dict
tests/unit_tests/model/test_model_parameter.py::test_set_config_file_directory_and_name
tests/unit_tests/model/test_model_parameter.py::test_updating_export_model_files
tests/unit_tests/model/test_model_parameter.py::test_write_sim_telarray_config_file
tests/unit_tests/model/test_site_model.py::test_export_atmospheric_transmission_file
tests/unit_tests/model/test_site_model.py::test_get_array_elements_for_layout
tests/unit_tests/model/test_site_model.py::test_get_corsika_site_parameters
tests/unit_tests/model/test_site_model.py::test_get_corsika_site_parameters_with_model_directory
tests/unit_tests/model/test_site_model.py::test_get_list_of_array_layouts
tests/unit_tests/model/test_site_model.py::test_get_nsb_integrated_flux
tests/unit_tests/model/test_site_model.py::test_site_model
tests/unit_tests/model/test_telescope_model.py::test_calc_average_curve
tests/unit_tests/model/test_telescope_model.py::test_camera
tests/unit_tests/model/test_telescope_model.py::test_export_single_mirror_list_file
tests/unit_tests/model/test_telescope_model.py::test_export_table_to_model_directory
tests/unit_tests/model/test_telescope_model.py::test_get_on_axis_eff_optical_area_ok
tests/unit_tests/model/test_telescope_model.py::test_get_on_axis_eff_optical_area_wrong_angle
tests/unit_tests/model/test_telescope_model.py::test_get_single_mirror_list_file
tests/unit_tests/model/test_telescope_model.py::test_get_telescope_effective_focal_length
tests/unit_tests/model/test_telescope_model.py::test_is_file_2d_false
tests/unit_tests/model/test_telescope_model.py::test_is_file_2d_keyerror
tests/unit_tests/model/test_telescope_model.py::test_is_file_2d_true
tests/unit_tests/model/test_telescope_model.py::test_load_camera
tests/unit_tests/model/test_telescope_model.py::test_load_mirrors
tests/unit_tests/model/test_telescope_model.py::test_position
tests/unit_tests/model/test_telescope_model.py::test_read_incidence_angle_distribution
tests/unit_tests/model/test_telescope_model.py::test_read_two_dim_wavelength_angle
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_analyze[False-False-True-False-False]
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_analyze[True-False-True-False-True]
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_analyze[True-True-False-True-True]
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_analyze_image
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_create_psf_image
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_export_results
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_get_mean_std
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_get_mirror_panel_focal_length_no_random
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_get_mirror_panel_focal_length_with_random_normal
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_get_mirror_panel_focal_length_with_random_uniform
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_get_telescope_transmission_params_no_transmission
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_get_telescope_transmission_params_with_transmission
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_images_no_psf_images
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_images_with_psf_images
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_plot_histogram_invalid_key
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_plot_histogram_valid_key
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_plot_invalid_key
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_plot_valid_key
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_process_off_axis_and_mirror
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_process_off_axis_and_mirror_no_analyze
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_ray_tracing_init
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_ray_tracing_no_images
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_ray_tracing_simulate
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_ray_tracing_single_mirror_mode
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_ray_tracing_single_mirror_mode_mirror_numbers
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_read_results
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_store_results
tests/unit_tests/ray_tracing/test_ray_tracing.py::test_store_results_single_mirror_mode
tests/unit_tests/reporting/test_docs_auto_report_generator.py::test__generate_array_element_report_combinations[test_case0]
tests/unit_tests/reporting/test_docs_auto_report_generator.py::test__generate_array_element_report_combinations[test_case2]
tests/unit_tests/reporting/test_docs_read_parameters.py::test__compare_parameter_across_versions
tests/unit_tests/reporting/test_docs_read_parameters.py::test__compare_parameter_across_versions_empty_param_dict
tests/unit_tests/reporting/test_docs_read_parameters.py::test__convert_to_md
tests/unit_tests/reporting/test_docs_read_parameters.py::test__plot_parameter_tables
tests/unit_tests/reporting/test_docs_read_parameters.py::test__write_to_file
tests/unit_tests/reporting/test_docs_read_parameters.py::test_get_all_parameter_descriptions
tests/unit_tests/reporting/test_docs_read_parameters.py::test_get_simulation_configuration_data[sim_telarray-param_dict1-descriptions1]
tests/unit_tests/reporting/test_docs_read_parameters.py::test_produce_array_element_report
tests/unit_tests/reporting/test_docs_read_parameters.py::test_produce_calibration_reports
tests/unit_tests/reporting/test_docs_read_parameters.py::test_produce_model_parameter_reports
tests/unit_tests/simtel/test_simtel_config_reader.py::test_simtel_config_reader_init
tests/unit_tests/simtel/test_simtel_config_writer.py::test_convert_model_parameters_to_simtel_format
tests/unit_tests/simtel/test_simtel_config_writer.py::test_convert_model_parameters_to_simtel_format_hard_stereo_false
tests/unit_tests/simtel/test_simtel_config_writer.py::test_write_array_config_file
tests/unit_tests/simtel/test_simulator_camera_efficiency.py::test_check_run_result
tests/unit_tests/simtel/test_simulator_camera_efficiency.py::test_check_run_result_success
tests/unit_tests/simtel/test_simulator_camera_efficiency.py::test_get_curvature_radius_mirror_class_2
tests/unit_tests/simtel/test_simulator_camera_efficiency.py::test_get_curvature_radius_parabolic_dish_false
tests/unit_tests/simtel/test_simulator_camera_efficiency.py::test_get_curvature_radius_parabolic_dish_true
tests/unit_tests/simtel/test_simulator_camera_efficiency.py::test_get_one_dim_distribution
tests/unit_tests/simtel/test_simulator_camera_efficiency.py::test_make_run_command
tests/unit_tests/simtel/test_simulator_camera_efficiency.py::test_make_run_command_with_nsb_spectrum
tests/unit_tests/simtel/test_simulator_camera_efficiency.py::test_make_run_command_without_altitude_correction
tests/unit_tests/simtel/test_simulator_camera_efficiency.py::test_validate_or_fix_nsb_spectrum_file_format
tests/unit_tests/simtel/test_simulator_ray_tracing.py::test_check_run_result
tests/unit_tests/simtel/test_simulator_ray_tracing.py::test_load_required_files
tests/unit_tests/simtel/test_simulator_ray_tracing.py::test_load_required_files_single_mirror
tests/unit_tests/simtel/test_simulator_ray_tracing.py::test_make_run_command
tests/unit_tests/simtel/test_simulator_ray_tracing.py::test_make_run_command_single_mirror
tests/unit_tests/simtel/test_simulator_ray_tracing.py::test_write_out_single_pixel_camera_file
tests/unit_tests/testing/test_sim_telarray_metadata.py::test_assert_sim_telarray_metadata_seed_mismatch
tests/unit_tests/testing/test_sim_telarray_metadata.py::test_assert_sim_telarray_metadata_using_array_model
tests/unit_tests/testing/test_sim_telarray_metadata.py::test_assert_sim_telarray_metadata_with_mismatched_parameters
tests/unit_tests/visualization/test_visualize.py::test_plot_1d

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions