diff --git a/setup.py b/setup.py index c9f0722aa2d75076598cfcf57cf4bed7c71236e3..e68e1e4d9db1d42a26b455410d88930ab4aaa1cf 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 0000000000000000000000000000000000000000..6cd93518558a228252ee0a64a85a94937a7ba9ee --- /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