Skip to content
Snippets Groups Projects
test_group.py 1.63 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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()
    
    Swen Vermeul's avatar
    Swen Vermeul committed
        group_changed = openbis_instance.get_group(group.code)
    
        assert group_changed.description == changed_description
    
    
        with pytest.raises(ValueError):
    
    Swen Vermeul's avatar
    Swen Vermeul committed
            group_not_exists = openbis_instance.get_group(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()
    
    
        group.revoke_role('ADMIN')
    
        roles_not_exist = group.get_roles()
        assert len(roles_not_exist) == 0