Newer
Older
import json
import random
import re
import pytest
import time
def test_get_datasets(space):
# test paging
o=space.openbis
current_datasets = o.get_datasets(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
timestamp = time.strftime('%a_%y%m%d_%H%M%S').upper()
Swen Vermeul
committed
type = 'RAW_DATA',
sample = '/DEFAULT/DEFAULT/DEFAULT',
files = ['testfile'],
props = {'name': 'some good name', 'notes': 'my notes' }
Swen Vermeul
committed
Swen Vermeul
committed
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
# get it by permId
dataset_by_permId = o.get_dataset(dataset.permId)
assert dataset_by_permId is not None
assert dataset_by_permId.permId == permId
assert dataset_by_permId.type is not None
assert dataset_by_permId.type.code == 'RAW_DATA'
assert dataset_by_permId.kind == 'PHYSICAL'
assert dataset_by_permId.sample is not None
assert dataset_by_permId.sample.code == 'DEFAULT'
assert dataset_by_permId.experiment is not None
assert dataset_by_permId.experiment.code == 'DEFAULT'
assert dataset_by_permId.p is not None
assert dataset_by_permId.p.name == 'some good name'
assert dataset_by_permId.p.notes == 'my notes'
assert dataset_by_permId.registrator is not None
assert dataset_by_permId.registrationDate is not None
# check date format: 2019-03-22 11:36:40
assert re.search('^\d{4}\-\d{2}\-\d{2} \d{2}\:\d{2}\:\d{2}$', dataset_by_permId.registrationDate) is not None
Swen Vermeul
committed
# get by permId should now throw an error
with pytest.raises(Exception):
deleted_ds = o.get_dataset(permId)
def test_create_dataset_with_code(space):
timestamp = time.strftime('%a_%y%m%d_%H%M%S').upper()
o=space.openbis
dataset = o.new_dataset(
type = 'UNKNOWN',
code = timestamp,
experiment = '/DEFAULT/DEFAULT/DEFAULT',
sample = '/DEFAULT/DEFAULT/DEFAULT',
kind = 'CONTAINER'
)
assert dataset is not None
assert dataset.permId is None # object is not saved
assert dataset.code == timestamp
dataset.save()
# our permId is now identical to the code we provided
assert dataset.permId is not None
assert dataset.permId == timestamp
dataset.delete('dataset creation test on {}'.format(timestamp))