Пример #1
0
def test_add_package_in_package(session):
    name1 = random_name()
    name2 = random_name()
    run_commander('add package {}'.format(name1))
    run_commander('add package {} --in {}'.format(name2, name1))

    package = session.get_by_id('sys_md_Package', name2, expand=['parent'])
    assert package['parent']['id'] == name1
Пример #2
0
def test_add_role_includes(session):
    name = random_name()
    run_commander('add role {} --includes VIEWER'.format(name))

    result = session.get('sys_sec_Role', expand=['includes'], q=role_by_name_query(name))
    assert len(result) == 1
    assert result[0]['includes']['items'][0]['name'] == 'VIEWER'
Пример #3
0
def test_add_role_to_group(session, group):
    name = random_name()
    run_commander('add role {} --to-group {}'.format(name, group))

    result = session.get('sys_sec_Role', expand=['group'], q=role_by_name_query(name))
    assert len(result) == 1
    assert result[0]['group']['name'] == group
Пример #4
0
def test_add_role_to_group_and_includes(session, group):
    name = random_name()
    run_commander('add role {} --to-group {} --includes {}_EDITOR'.format(name, group, group))

    result = session.get('sys_sec_Role', expand=['group', 'includes'], q=role_by_name_query(name))
    assert len(result) == 1
    assert result[0]['group']['name'] == group
    assert result[0]['includes']['items'][0]['name'] == '{}_EDITOR'.format(group)
def test_make_role_member(session, user):
    role_name = random_name()
    run_commander('add role {}'.format(role_name))
    run_commander('make {} {}'.format(user, role_name))

    memberships = _get_memberships_by_user_and_role(user, role_name, session)
    assert len(memberships) == 1
    assert memberships[0]['role']['name'] == role_name
def test_include_group_role_explicit(session, group):
    role_name = random_name()
    group_role_name = '{}_VIEWER'.format(group)
    run_commander('add role {}'.format(role_name))
    run_commander('make --role {} {}'.format(role_name, group_role_name))

    role = _get_role_by_name(role_name, session)
    assert role['includes']['items'][0]['name'] == group_role_name
def test_delete_package_contents(session, entity_type):
    package = entity_type.split('_')[0]
    child_package = random_name()
    run_commander('add package {} --in {}'.format(child_package, package))

    run_commander('delete --force --package --contents {}'.format(package))

    assert not entity_type_exists(session, entity_type)
    assert not package_exists(session, child_package)
    assert package_exists(session, package)
Пример #8
0
def test_add_token(session):
    token = random_name()
    run_commander('add token admin {}'.format(token))

    result = session.get('sys_sec_Token',
                         q=_token_by_token_query(token),
                         expand=['user'])
    assert len(result) == 1

    token = result[0]
    assert token['User']['username'] == 'admin'
Пример #9
0
def test_add_role_includes_multiple(session):
    name = random_name()
    run_commander('add role {} --includes VIEWER MANAGER'.format(name))

    result = session.get('sys_sec_Role',
                         expand=['includes'],
                         q=role_by_name_query(name))
    assert len(result) == 1

    includes = {item['name'] for item in result[0]['includes']['items']}
    assert includes == {'VIEWER', 'MANAGER'}
def test_as_user_with_password(set_token_mock, session):
    name = random_name()
    run_commander('add user {} --set-password test'.format(name))
    run_commander('give {} write sys_set_app'.format(name))
    set_token_mock.reset_mock()

    run_commander('--as-user {} --with-password test set app title login5'.format(name))

    # running as a user uses arguments as credentials so no token should've been set
    assert not set_token_mock.called
    settings = session.get('sys_set_app')[0]
    assert settings['title'] == 'login5'
def entity_is_row_level_secured(admin_session, entity_id):
    """Workaround: there is no endpoint to check whether an entity is row level secured."""
    assert not entity_is_empty(
        admin_session, entity_id), "Need an entity with data to check RLS"

    name = random_name()
    run_commander('add user {}'.format(name))
    run_commander('give {} read {}'.format(name, entity_id))

    user_session = molgenis.client.Session(urljoin(get_host()['url'], '/api/'))
    user_session.login(name, name)
    return entity_is_empty(user_session, entity_id)
def test_add_user_inactive(session):
    name = random_name()
    run_commander('add user {} --is-inactive'.format(name))

    assert _user_can_login(name, name) is False

    result = session.get('sys_sec_User', q=_user_by_name_query(name))
    assert len(result) == 1

    user = result[0]
    assert user['Email'] == '{}@molgenis.org'.format(name)
    assert user['active'] is False
    assert user['superuser'] is False
    assert user['changePassword'] is False
def test_add_user_email(session):
    name = random_name()
    run_commander('add user {} --with-email {}@test.nl'.format(name, name))

    assert _user_can_login(name, name)

    result = session.get('sys_sec_User', q=_user_by_name_query(name))
    assert len(result) == 1

    user = result[0]
    assert user['Email'] == '{}@test.nl'.format(name)
    assert user['active'] is True
    assert user['superuser'] is False
    assert user['changePassword'] is False
def test_add_user_set_password(session):
    name = random_name()
    password = '******'
    run_commander('add user {} --set-password {}'.format(name, password))

    assert _user_can_login(name, password)

    result = session.get('sys_sec_User', q=_user_by_name_query(name))
    assert len(result) == 1

    user = result[0]
    assert user['Email'] == '{}@molgenis.org'.format(name)
    assert user['active'] is True
    assert user['superuser'] is False
    assert user['changePassword'] is False
def user():
    name = random_name()
    run_commander('add user {}'.format(name))
    return name
Пример #16
0
def test_add_role(session):
    name = random_name()
    run_commander('add role {}'.format(name))

    result = session.get('sys_sec_Role', q=role_by_name_query(name))
    assert len(result) == 1
Пример #17
0
def test_add_package(session):
    name = random_name()
    run_commander('add package {}'.format(name))

    package = session.get_by_id('sys_md_Package', name)
    assert 'parent' not in package
Пример #18
0
def _random_group_name():
    return '{}-{}'.format(random_name(), random_name())
def test_import_vcf_as_name(session):
    name = random_name()
    run_commander('import testvcf --as {}'.format(name))

    result = session.get(name)
    assert len(result) == 5
def package():
    name = random_name()
    run_commander('add package {}'.format(name))
    return name
def group():
    name = random_name()
    run_commander('add group {}'.format(name))
    return name