Example #1
0
 def test_unit__get_one__ok__nominal_case(self):
     admin = self.session.query(User).filter(
         User.email == "*****@*****.**").one()
     rapi = RoleApi(current_user=admin,
                    session=self.session,
                    config=self.app_config)
     rapi.get_one(admin.user_id, 1)
Example #2
0
 def test_unit__get_one__err__role_does_not_exist(self):
     admin = self.session.query(User).filter(
         User.email == "*****@*****.**").one()
     rapi = RoleApi(current_user=admin,
                    session=self.session,
                    config=self.app_config)
     with pytest.raises(UserRoleNotFound):
         rapi.get_one(admin.user_id, 100)  # workspace 100 does not exist
Example #3
0
 def test_unit__get_one__ok__nominal_case(self):
     admin = self.session.query(User)\
         .filter(User.email == '*****@*****.**').one()
     rapi = RoleApi(
         current_user=admin,
         session=self.session,
         config=self.app_config,
     )
     rapi.get_one(admin.user_id, 1)
Example #4
0
 def test_unit__get_one__err__role_does_not_exist(self):
     admin = self.session.query(User)\
         .filter(User.email == '*****@*****.**').one()
     rapi = RoleApi(
         current_user=admin,
         session=self.session,
         config=self.app_config,
     )
     with pytest.raises(UserRoleNotFound):
         rapi.get_one(admin.user_id, 100)  # workspace 100 does not exist
Example #5
0
 def enable_account_workspace_notification(self, context, request: TracimRequest, hapic_data=None):  # nopep8
     """
     enable workspace notification
     """
     app_config = request.registry.settings['CFG']
     api = ContentApi(
         current_user=request.current_user,  # User
         session=request.dbsession,
         config=app_config,
     )
     wapi = WorkspaceApi(
         current_user=request.current_user,  # User
         session=request.dbsession,
         config=app_config,
     )
     workspace = wapi.get_one(hapic_data.path.workspace_id)
     wapi.enable_notifications(request.current_user, workspace)
     rapi = RoleApi(
         current_user=request.current_user,  # User
         session=request.dbsession,
         config=app_config,
     )
     role = rapi.get_one(request.current_user.user_id, workspace.workspace_id)  # nopep8
     wapi.save(workspace)
     return
Example #6
0
 def enable_workspace_notification(self,
                                   context,
                                   request: TracimRequest,
                                   hapic_data=None):  # nopep8
     """
     enable workspace notification
     """
     app_config = request.registry.settings['CFG']
     api = ContentApi(
         current_user=request.candidate_user,  # User
         session=request.dbsession,
         config=app_config,
     )
     wapi = WorkspaceApi(
         current_user=request.candidate_user,  # User
         session=request.dbsession,
         config=app_config,
     )
     workspace = wapi.get_one(hapic_data.path.workspace_id)
     wapi.enable_notifications(request.candidate_user, workspace)
     rapi = RoleApi(
         current_user=request.candidate_user,  # User
         session=request.dbsession,
         config=app_config,
     )
     role = rapi.get_one(request.candidate_user.user_id,
                         workspace.workspace_id)
     wapi.save(workspace)
     return
Example #7
0
    def update_workspaces_members_role(
            self,
            context,
            request: TracimRequest,
            hapic_data=None
    ) -> UserRoleWorkspaceInContext:
        """
        Update role of the given space member.
        This feature is for workspace managers, trusted users and administrators.
        """
        app_config = request.registry.settings['CFG']
        rapi = RoleApi(
            current_user=request.current_user,
            session=request.dbsession,
            config=app_config,
        )

        role = rapi.get_one(
            user_id=hapic_data.path.user_id,
            workspace_id=hapic_data.path.workspace_id,
        )
        workspace_role = WorkspaceRoles.get_role_from_slug(hapic_data.body.role)
        role = rapi.update_role(
            role,
            role_level=workspace_role.level
        )
        return rapi.get_user_role_workspace_with_context(role)
Example #8
0
 def test_unit__create_one__nominal_case(
     self, admin_user, session, app_config, workspace_api_factory
 ):
     workspace = workspace_api_factory.get().create_workspace("workspace_1", save_now=True)
     bob = session.query(User).filter(User.email == "*****@*****.**").one()
     rapi = RoleApi(current_user=admin_user, session=session, config=app_config)
     created_role = rapi.create_one(
         user=bob,
         workspace=workspace,
         role_level=WorkspaceRoles.CONTENT_MANAGER.level,
         with_notif=False,
     )
     obtain_role = rapi.get_one(bob.user_id, workspace.workspace_id)
     assert created_role == obtain_role
Example #9
0
 def enable_account_workspace_notification(self,
                                           context,
                                           request: TracimRequest,
                                           hapic_data=None):
     """
     enable workspace notification
     """
     app_config = request.registry.settings["CFG"]  # type: CFG
     wapi = WorkspaceApi(
         current_user=request.current_user,
         session=request.dbsession,
         config=app_config  # User
     )
     workspace = wapi.get_one(hapic_data.path.workspace_id)
     wapi.enable_notifications(request.current_user, workspace)
     rapi = RoleApi(
         current_user=request.current_user,
         session=request.dbsession,
         config=app_config  # User
     )
     rapi.get_one(request.current_user.user_id, workspace.workspace_id)
     wapi.save(workspace)
     return
Example #10
0
    def workspaces_member_role(self,
                               context,
                               request: TracimRequest,
                               hapic_data=None) -> UserRoleWorkspaceInContext:
        """
        Returns given space member with its role, avatar, etc.
        """
        app_config = request.registry.settings["CFG"]  # type: CFG
        rapi = RoleApi(current_user=request.current_user,
                       session=request.dbsession,
                       config=app_config)

        role = rapi.get_one(user_id=hapic_data.path.user_id,
                            workspace_id=hapic_data.path.workspace_id)
        return rapi.get_user_role_workspace_with_context(role)
Example #11
0
 def test_unit__create_one__nominal_case(self):
     admin = self.session.query(User).filter(
         User.email == "*****@*****.**").one()
     workspace = self._create_workspace_and_test("workspace_1", admin)
     bob = self.session.query(User).filter(
         User.email == "*****@*****.**").one()
     rapi = RoleApi(current_user=admin,
                    session=self.session,
                    config=self.app_config)
     created_role = rapi.create_one(
         user=bob,
         workspace=workspace,
         role_level=WorkspaceRoles.CONTENT_MANAGER.level,
         with_notif=False,
     )
     obtain_role = rapi.get_one(bob.user_id, workspace.workspace_id)
     assert created_role == obtain_role
Example #12
0
    def workspaces_member_role(
            self,
            context,
            request: TracimRequest,
            hapic_data=None
    ) -> UserRoleWorkspaceInContext:
        """
        Returns given space member with its role, avatar, etc.
        """
        app_config = request.registry.settings['CFG']
        rapi = RoleApi(
            current_user=request.current_user,
            session=request.dbsession,
            config=app_config,
        )

        role = rapi.get_one(
            user_id=hapic_data.path.user_id,
            workspace_id=hapic_data.path.workspace_id,
        )
        return rapi.get_user_role_workspace_with_context(role)
Example #13
0
 def test_unit__create_one__nominal_case(self):
     admin = self.session.query(User)\
         .filter(User.email == '*****@*****.**').one()
     workspace = self._create_workspace_and_test(
         'workspace_1',
         admin
     )
     bob = self.session.query(User)\
         .filter(User.email == '*****@*****.**').one()
     rapi = RoleApi(
         current_user=admin,
         session=self.session,
         config=self.app_config,
     )
     created_role = rapi.create_one(
         user=bob,
         workspace=workspace,
         role_level=WorkspaceRoles.CONTENT_MANAGER.level,
         with_notif=False,
     )
     obtain_role = rapi.get_one(bob.user_id, workspace.workspace_id)
     assert created_role == obtain_role
Example #14
0
 def test_unit__get_one__err__role_does_not_exist(self, session, app_config, admin_user):
     rapi = RoleApi(current_user=admin_user, session=session, config=app_config)
     with pytest.raises(UserRoleNotFound):
         rapi.get_one(admin_user.user_id, 100)  # workspace 100 does not exist
Example #15
0
 def test_unit__get_one__ok__nominal_case(self, admin_user, session, app_config):
     rapi = RoleApi(current_user=admin_user, session=session, config=app_config)
     rapi.get_one(admin_user.user_id, 1)