import json import random import re import pytest import time from pybis import DataSet from pybis import Openbis def test_create_delete_experiment(space): o=space.openbis timestamp = time.strftime('%a_%y%m%d_%H%M%S').upper() new_code='test_experiment_'+timestamp with pytest.raises(TypeError): # experiments must be assigned to a project e_new = o.new_experiment( code=new_code, type='DEFAULT_EXPERIMENT', ) e_new = o.new_experiment( code=new_code, project='DEFAULT', type='DEFAULT_EXPERIMENT', ) assert e_new.project is not None assert e_new.permId is None e_new.save() assert e_new.permId is not None assert e_new.code == new_code.upper() assert e_new.identifier == '/DEFAULT/DEFAULT/'+new_code.upper() e_exists = o.get_experiment('/DEFAULT/DEFAULT/'+new_code.upper()) assert e_exists is not None e_new.delete('delete test experiment '+new_code.upper()) with pytest.raises(ValueError): e_no_longer_exists = o.get_experiment('/DEFAULT/DEFAULT/'+new_code.upper()) def test_get_experiments(space): # test paging o=space.openbis current_datasets = o.get_experiments(start_with=1, count=1) assert current_datasets is not None # we cannot assert == 1, because search is delayed due to lucene search... assert len(current_datasets) <= 1