From 5fff3ca6ae96b9c2a73c22afdb409b80af8e9dd3 Mon Sep 17 00:00:00 2001 From: ahmedk <karim.ahmed@xfel.eu> Date: Mon, 2 Jan 2023 10:14:52 +0100 Subject: [PATCH] add test --- setup.py | 1 + tests/test_calcat_interface.py | 81 ++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 tests/test_calcat_interface.py diff --git a/setup.py b/setup.py index c9f0722aa..e68e1e4d9 100644 --- a/setup.py +++ b/setup.py @@ -110,6 +110,7 @@ if "readthedocs.org" not in sys.executable: install_requires += [ "iCalibrationDB @ git+ssh://git@git.xfel.eu:10022/detectors/cal_db_interactive.git@2.3.0", # noqa "XFELDetectorAnalysis @ git+ssh://git@git.xfel.eu:10022/karaboDevices/pyDetLib.git@2.7.0", # noqa + "calibration_client @ git+ssh://git.xfel.eu:10022/ITDM/calibration_client.git@410e48bbff84b0d011a332cac95e3c8b499e9a28" ] setup( diff --git a/tests/test_calcat_interface.py b/tests/test_calcat_interface.py new file mode 100644 index 000000000..6cd935185 --- /dev/null +++ b/tests/test_calcat_interface.py @@ -0,0 +1,81 @@ +""" +TEST CALCAT INTERFACE: + +1- AGIPD_CalibrationData/ CalibrationData / metadata() +2- physical_detector_units(). +""" + +import pytest + +from cal_tools.calcat_interface import AGIPD_CalibrationData, DSSC_CalibrationData + + +@pytest.mark.requires_gpfs +@pytest.mark.parametrize( + "mod,mod_naming", + [ + ("AGIPD00", "da"), + ("Q1M1", "qm"), + (0, "modno"), + + ] +) +def test_AGIPD_CalibrationData(mod, mod_naming): + """Test CalibrationData through AGIPD_CalibrationData + and test metadata method. + + Args: + mod (str): Module name + mod_naming (str): Selected module naming + """ + agipd_md = AGIPD_CalibrationData( + detector_name="SPB_DET_AGIPD1M-1", + sensor_bias_voltage=300, + memory_cells=352, + acquisition_rate=1.1, + integration_time=12, + source_energy=9.2, + gain_mode=0, + gain_setting=0, + event_at="2020-01-07 13:26:48.00", + modules=[mod], + client=None, + module_naming=mod_naming + ).metadata() + assert isinstance(agipd_md, dict) + assert list(agipd_md.keys())[0] == mod + + +@pytest.mark.parametrize( + "mod,mod_naming", + [ + ("DSSC00", "da"), + ("Q1M1", "qm"), + (0, "modno"), + + ] +) +def test_physical_detector_units(mod, mod_naming): + """Test physical_detector_units property. + + Args: + mod (str): Module name + mod_naming (str): Selected module naming + """ + agipd_cal = DSSC_CalibrationData( + detector_name="SCS_DET_DSSC1M-1", + sensor_bias_voltage=300, + memory_cells=400, + pulse_id_checksum=None, + acquisition_rate=None, + target_gain=None, + encoded_gain=None, + event_at="2020-01-07 13:26:48.00", + modules=[mod], + client=None, + module_naming=mod_naming + ) + pdus = agipd_cal.physical_detector_units + assert isinstance(pdus, dict) + assert len(pdus) == 16 + assert list(pdus.keys())[0] == mod -- GitLab