diff --git a/src/cal_tools/tools.py b/src/cal_tools/tools.py index 2c13b1aa009ceb68f141ba261df70292380c4850..57253fea53199cc2e440925dbf2813865a2f9cd5 100644 --- a/src/cal_tools/tools.py +++ b/src/cal_tools/tools.py @@ -291,12 +291,12 @@ def creation_date_metadata_client( ).astimezone(datetime.timezone.utc) -# TODO: update after DAQ store same date as myMDC. def creation_date_file_metadata( dc: RunDirectory ) -> Optional[datetime.datetime]: """Get run directory creation date from METADATA/CreationDate of the oldest file using EXtra-data. + # TODO: update after DAQ store the same date as myMDC. :param dc: EXtra-data DataCollection for the run directory. :return Optional[datetime.datetime]: Run creation date. diff --git a/tests/test_cal_tools.py b/tests/test_cal_tools.py index 577055ec17cf47319cc53f752e0f4b2d254ea8f5..6e7f44b279dbf59788acf1e1f73fd0e21e1cd7e9 100644 --- a/tests/test_cal_tools.py +++ b/tests/test_cal_tools.py @@ -5,7 +5,7 @@ from unittest.mock import patch import numpy as np import pytest import zmq -from extra_data import RunDirectory +from extra_data import open_run from iCalibrationDB import Conditions, ConstantMetaData, Constants from cal_tools.agipdlib import AgipdCorrections, CellRange @@ -35,6 +35,7 @@ WRONG_AGIPD_MODULE = "AGIPD_**" CAL_DB_INTERFACE = "tcp://max-exfl017:8020" WRONG_CAL_DB_INTERFACE = "tcp://max-exfl017:0000" +PROPOSAL = 900113 @pytest.fixture def _agipd_const_cond(): @@ -88,7 +89,7 @@ def test_raise_dir_creation_date(): @pytest.mark.requires_mdc def test_creation_date_metadata_client(): - date = creation_date_metadata_client(900113, 9983) + date = creation_date_metadata_client(PROPOSAL, 9983) assert isinstance(date, datetime) assert str(date) == '2020-09-23 13:30:00+00:00' @@ -96,25 +97,28 @@ def test_creation_date_metadata_client(): @pytest.mark.requires_gpfs def test_creation_date_file_metadata(): - folder = '/gpfs/exfel/exp/CALLAB/202031/p900113/raw/r9983' - - date = creation_date_file_metadata(RunDirectory(folder)) + date = creation_date_file_metadata(open_run(PROPOSAL, 9983)) assert isinstance(date, datetime) assert str(date) == '2020-09-23 13:30:50+00:00' + # Old run without METADATA/CreationDate + date = creation_date_file_metadata(open_run(PROPOSAL, 9999)) + + assert date is None + -@pytest.mark.parametrize("run,cdate", [ - (9983, '2020-09-23 13:30:45.821262+00:00'), - (9999, 'None'), -]) @pytest.mark.requires_gpfs -def test_creation_date_train_timestamp(run, cdate): +def test_creation_date_train_timestamp(): - folder = f'/gpfs/exfel/exp/CALLAB/202031/p900113/raw/r{run}' + date = creation_date_train_timestamp(open_run(PROPOSAL, 9983)) + + assert isinstance(date, datetime) + assert str(date) == '2020-09-23 13:30:45.821262+00:00' - date = creation_date_train_timestamp(RunDirectory(folder)) + # Old run without trainId timestamps + date = creation_date_train_timestamp(open_run(PROPOSAL, 9999)) - assert str(date) == cdate + assert date is None def _call_get_from_db(