import json import random import re import pytest import time from random import randint from pybis import DataSet from pybis import Openbis @pytest.fixture(scope='function') def group(openbis_instance): group_name = 'test_group_{}'.format(randint(0,1000)).upper() group = openbis_instance.new_group( code=group_name, description='description of group ' + group_name ) group.save() yield group group.delete('test') def test_crud_group(openbis_instance, group): group_exists = openbis_instance.get_group(group.code) assert group_exists is not None changed_description = 'changed description of group ' + group.code group.description = changed_description group.save() group_changed = openbis_instance.get_group(code=group.code) assert group_changed.description == changed_description group.delete('test') with pytest.raises(ValueError): group_not_exists = openbis_instance.get_group(code=group.code) assert group_not_exists is None def test_group_member(openbis_instance, group): assert len(group.get_members()) == 0 group.add_members('admin') group.save() assert len(group.get_members()) == 1 group.del_members('admin') group.save() assert len(group.get_members()) == 0 def test_role_assignments(openbis_instance, group): roles_not_exist = group.get_roles() assert len(roles_not_exist) == 0 group.assign_role('ADMIN') roles_exist = group.get_roles() assert len(roles_exist) == 1 group.revoke_role('ADMIN') roles_not_exist = group.get_roles() assert len(roles_not_exist) == 0 group.delete("test")