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