def test_get_user_action_permissions_with_group_project(users, user_action): user_id = users[0].id action_id = user_action.id project_id = sampledb.logic.projects.create_project( "Example Project", "", users[1].id).id assert action_permissions.get_user_action_permissions( user_id=user_id, action_id=action_id) == Permissions.NONE action_permissions.set_project_action_permissions( project_id=project_id, action_id=action_id, permissions=Permissions.GRANT) assert action_permissions.get_user_action_permissions( user_id=user_id, action_id=action_id) == Permissions.NONE group_id = sampledb.logic.groups.create_group("Example Group", "", users[1].id).id sampledb.logic.projects.add_group_to_project(project_id, group_id, Permissions.READ) assert action_permissions.get_user_action_permissions( user_id=user_id, action_id=action_id) == Permissions.NONE sampledb.logic.groups.add_user_to_group(group_id=group_id, user_id=user_id) assert action_permissions.get_user_action_permissions( user_id=user_id, action_id=action_id) == Permissions.READ sampledb.db.session.add( UserActionPermissions(user_id=user_id, action_id=action_id, permissions=Permissions.WRITE)) sampledb.db.session.commit() assert action_permissions.get_user_action_permissions( user_id=user_id, action_id=action_id) == Permissions.WRITE sampledb.logic.projects.update_group_project_permissions( project_id, group_id, Permissions.GRANT) assert action_permissions.get_user_action_permissions( user_id=user_id, action_id=action_id) == Permissions.GRANT
def test_get_action_permissions_with_projects(users, user_action): user_id = users[0].id action_id = user_action.id assert action_permissions.get_action_permissions_for_users(action_id=action_id) == { users[1].id: Permissions.GRANT } project_id = sampledb.logic.projects.create_project("Example Project", "", users[1].id).id action_permissions.set_project_action_permissions(action_id=action_id, project_id=project_id, permissions=Permissions.WRITE) assert action_permissions.get_action_permissions_for_users(action_id=action_id) == { users[1].id: Permissions.GRANT } sampledb.logic.projects.add_user_to_project(project_id, user_id, Permissions.READ) assert action_permissions.get_action_permissions_for_users(action_id=action_id, include_projects=False) == { users[1].id: Permissions.GRANT } assert action_permissions.get_action_permissions_for_users(action_id=action_id) == { user_id: Permissions.READ, users[1].id: Permissions.GRANT } group_id = sampledb.logic.groups.create_group("Example Group", "", users[1].id).id sampledb.logic.projects.add_group_to_project(project_id=project_id, group_id=group_id, permissions=Permissions.WRITE) assert action_permissions.get_action_permissions_for_users(action_id=action_id) == { user_id: Permissions.READ, users[1].id: Permissions.GRANT } sampledb.logic.groups.add_user_to_group(group_id=group_id, user_id=user_id) assert action_permissions.get_action_permissions_for_users(action_id=action_id, include_groups=False) == { user_id: Permissions.READ, users[1].id: Permissions.GRANT } assert action_permissions.get_action_permissions_for_users(action_id=action_id) == { user_id: Permissions.WRITE, users[1].id: Permissions.GRANT } sampledb.logic.groups.remove_user_from_group(group_id=group_id, user_id=user_id) assert action_permissions.get_action_permissions_for_users(action_id=action_id) == { user_id: Permissions.READ, users[1].id: Permissions.GRANT }
def test_action_permissions_for_groups_with_project(users, user_action): user, creator = users action_id = user_action.id group_id = groups.create_group("Example Group", "", creator.id).id action_permissions.set_group_action_permissions( action_id=action_id, group_id=group_id, permissions=Permissions.READ) assert action_permissions.get_action_permissions_for_groups(action_id) == { group_id: Permissions.READ } project_id = sampledb.logic.projects.create_project( "Example Project", "", creator.id).id action_permissions.set_project_action_permissions( action_id=action_id, project_id=project_id, permissions=Permissions.GRANT) assert action_permissions.get_action_permissions_for_groups(action_id) == { group_id: Permissions.READ } sampledb.logic.projects.add_group_to_project(project_id=project_id, group_id=group_id, permissions=Permissions.WRITE) assert action_permissions.get_action_permissions_for_groups(action_id) == { group_id: Permissions.READ } assert action_permissions.get_action_permissions_for_groups( action_id, include_projects=True) == { group_id: Permissions.WRITE } sampledb.logic.projects.update_group_project_permissions( project_id=project_id, group_id=group_id, permissions=Permissions.GRANT) assert action_permissions.get_action_permissions_for_groups( action_id, include_projects=True) == { group_id: Permissions.GRANT } sampledb.logic.projects.remove_group_from_project(project_id=project_id, group_id=group_id) assert action_permissions.get_action_permissions_for_groups( action_id, include_projects=True) == { group_id: Permissions.READ }
def test_action_permissions_for_projects(users, user_action): user, creator = users action_id = user_action.id project_id = sampledb.logic.projects.create_project("Example Project", "", creator.id).id assert action_permissions.get_action_permissions_for_projects(action_id) == {} action_permissions.set_project_action_permissions(action_id=action_id, project_id=project_id, permissions=Permissions.WRITE) assert action_permissions.get_action_permissions_for_projects(action_id) == { project_id: Permissions.WRITE } action_permissions.set_project_action_permissions(action_id=action_id, project_id=project_id, permissions=Permissions.GRANT) assert action_permissions.get_action_permissions_for_projects(action_id) == { project_id: Permissions.GRANT } action_permissions.set_project_action_permissions(action_id=action_id, project_id=project_id, permissions=Permissions.NONE) assert action_permissions.get_action_permissions_for_projects(action_id) == {}