diff --git a/.travis.yml b/.travis.yml index ba970b28..b9b2d281 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,8 +21,8 @@ addons: mariadb: '10.2' before_install: -- wget https://github.com/DiamondLightSource/ispyb-database/releases/download/v1.2.0/ispyb-database-1.2.0.tar.gz -- tar xvfz ispyb-database-1.2.0.tar.gz +- wget https://github.com/DiamondLightSource/ispyb-database/releases/download/v1.3.0/ispyb-database-1.3.0.tar.gz +- tar xvfz ispyb-database-1.3.0.tar.gz - mysql_upgrade -u root - mysql -u root -e "CREATE DATABASE ispybtest; SET GLOBAL log_bin_trust_function_creators=ON;" - mysql -u root -D ispybtest < schema/tables.sql diff --git a/ispyb/sp/acquisition.py b/ispyb/sp/acquisition.py index 5a62bf8d..868f43c7 100644 --- a/ispyb/sp/acquisition.py +++ b/ispyb/sp/acquisition.py @@ -70,6 +70,10 @@ def upsert_data_collection_file_attachment(self, values): '''Insert or update a data collection file attachment.''' return self.get_connection().call_sp_write('upsert_dc_file_attachment', values) + def retrieve_data_collection(self, id, auth_login=None): + '''Retrieve data collection parameters for row with given id''' + return self.get_connection().call_sp_retrieve(procname='retrieve_dc', args=(id, auth_login)) + def retrieve_data_collection_main(self, id, auth_login=None): '''Retrieve main data collection parameters for row with given id''' return self.get_connection().call_sp_retrieve(procname='retrieve_dc_main_v2', args=(id, auth_login)) diff --git a/tests/test_mxacquisition.py b/tests/test_mxacquisition.py index 8b140f1f..44f45e81 100644 --- a/tests/test_mxacquisition.py +++ b/tests/test_mxacquisition.py @@ -25,12 +25,12 @@ def test_mxacquisition_methods(testdb): assert id1 is not None assert id1 > 0 - params = mxacquisition.get_data_collection_params() - params['id'] = id1 - params['parentid'] = dcgid - params['axis_start'] = 0 - params['axis_end'] = 90 - id2 = mxacquisition.update_data_collection(list(params.values())) + params2 = mxacquisition.get_data_collection_params() + params2['id'] = id1 + params2['parentid'] = dcgid + params2['axis_start'] = 0 + params2['axis_end'] = 90 + id2 = mxacquisition.update_data_collection(list(params2.values())) assert id2 is not None assert id2 > 0 assert id1 == id2 @@ -41,6 +41,18 @@ def test_mxacquisition_methods(testdb): rs = mxacquisition.retrieve_data_collection_main(id1, 'boaty') assert rs[0]['groupId'] == dcgid + rs = mxacquisition.retrieve_data_collection(id1) + assert rs[0]['groupId'] == dcgid + + rs = mxacquisition.retrieve_data_collection(id1, 'boaty') + assert rs[0]['groupId'] == dcgid + assert rs[0]['axisStart'] == params2['axis_start'] + assert rs[0]['axisEnd'] == params2['axis_end'] + assert rs[0]['dcNumber'] == params['datacollection_number'] + assert rs[0]['status'] == params['run_status'] + assert rs[0]['noImages'] == params['n_images'] + assert rs[0]['imgContainerSubPath'] == params['img_container_sub_path'] + dc = testdb.get_data_collection(id1) assert dc.image_count == 360 assert dc.dcgid == dcgid