예제 #1
0
def test_get_object_permissions(users, instrument, instrument_action_object):
    user_id = users[0].id
    object_id = instrument_action_object.object_id

    # by default, only the user who created an object has access to it
    assert object_permissions.get_object_permissions_for_users(object_id=object_id) == {
        users[1].id: Permissions.GRANT
    }
    assert not object_permissions.object_is_public(object_id)

    object_permissions.set_object_public(object_id)
    assert object_permissions.get_object_permissions_for_users(object_id=object_id) == {
        users[1].id: Permissions.GRANT
    }
    assert object_permissions.object_is_public(object_id)

    sampledb.db.session.add(UserObjectPermissions(user_id=user_id, object_id=object_id, permissions=Permissions.WRITE))
    sampledb.db.session.commit()
    assert object_permissions.get_object_permissions_for_users(object_id=object_id) == {
        user_id: Permissions.WRITE,
        users[1].id: Permissions.GRANT
    }
    assert object_permissions.object_is_public(object_id)

    instrument.responsible_users.append(users[0])
    sampledb.db.session.add(instrument)
    sampledb.db.session.commit()
    assert object_permissions.get_object_permissions_for_users(object_id=object_id) == {
        user_id: Permissions.GRANT,
        users[1].id: Permissions.GRANT
    }
    assert object_permissions.object_is_public(object_id)
def test_public_objects(independent_action_object):
    object_id = independent_action_object.object_id

    assert not object_permissions.object_is_public(object_id)
    object_permissions.set_object_public(object_id)
    assert object_permissions.object_is_public(object_id)
    object_permissions.set_object_public(object_id, False)
    assert not object_permissions.object_is_public(object_id)
def test_get_user_public_object_permissions(user, independent_action_object):
    user_id = user.id
    object_id = independent_action_object.object_id
    object_permissions.set_object_public(object_id)
    assert object_permissions.get_user_object_permissions(
        user_id=user_id, object_id=object_id) == Permissions.READ