Пример #1
0
 def patch(self, username, role):
     """
     Allows PMs to set a user's role
     ---
     tags:
       - users
     produces:
       - application/json
     parameters:
         - in: header
           name: Authorization
           description: Base64 encoded session token
           required: true
           type: string
           default: Token sessionTokenHere==
         - name: username
           in: path
           description: Mapper's OpenStreetMap username
           required: true
           type: string
           default: Thinkwhere
         - name: role
           in: path
           description: The role to add
           required: true
           type: string
           default: ADMIN
     responses:
         200:
             description: Role set
         401:
             description: Unauthorized - Invalid credentials
         403:
             description: Forbidden
         404:
             description: User not found
         500:
             description: Internal Server Error
     """
     try:
         UserService.add_role_to_user(tm.authenticated_user_id, username,
                                      role)
         return {"Success": "Role Added"}, 200
     except UserServiceError:
         return {"Error": "Not allowed"}, 403
     except NotFound:
         return {"Error": "User or mapping not found"}, 404
     except Exception as e:
         error_msg = f"User GET - unhandled error: {str(e)}"
         current_app.logger.critical(error_msg)
         return {"Error": "Unable to update user role"}, 500
Пример #2
0
 def test_unknown_role_raise_error_when_setting_role(self):
     # Act / Assert
     with self.assertRaises(UserServiceError):
         UserService.add_role_to_user(1, "test", "TEST")