import json import random import re import pytest import time def test_create_delete_dataset(space): timestamp = time.strftime('%a_%y%m%d_%H%M%S').upper() o=space.openbis dataset = o.new_dataset( type = 'RAW_DATA', sample = '/DEFAULT/DEFAULT/DEFAULT', files = ['testfile'], props = {'name': 'some good name', 'notes': 'my notes' } ) assert dataset is not None assert dataset.permId is None # object is not saved assert dataset.p is not None assert dataset.p.name == 'some good name' assert dataset.p.notes == 'my notes' with pytest.raises(Exception): dataset.non_existing_attribute = "invalid attribute" assert "attribute does not exist, should fail" is None with pytest.raises(Exception): dataset.p.non_existing_property = "invalid propery" assert "property does not exist, should fail" is None dataset.save() # now there should appear a permId assert dataset.permId is not None # get it by permId dataset_by_permId = o.get_dataset(dataset.permId) assert dataset_by_permId is not None permId = dataset.permId assert dataset is not None dataset.delete('dataset creation test on '+timestamp) # get by permId should now throw an error with pytest.raises(Exception): deleted_ds = o.get_dataset(permId)