Ejemplo n.º 1
0
    def post(self):
        parser.replace_argument('password',
                                required=True,
                                help='password cannot be blank')
        data = parser.parse_args()
        username = data['username']
        # Checking that user is already exist or not
        if User.find_by_username(username):
            return {'message': f'User {username} already exists'}, 400

        # create new user
        new_user = User(username=username,
                        password=User.generate_hash(data['password']),
                        first_name=data.get('first_name', ''),
                        last_name=data.get('last_name', ''))

        try:
            # Saving user in DB and Generating Access and Refresh token
            new_user.save()
            access_token = create_access_token(identity=username)
            refresh_token = create_refresh_token(identity=username)
            return {
                'payload': {
                    'user': new_user.to_json(),
                    'access_token': access_token,
                    'refresh_token': refresh_token
                }
            }, 201
        except:
            return {'message': 'Error while creating the user'}, 500
Ejemplo n.º 2
0
    def setUp(self):
        utils.init_test_database()

        self.app = app.test_client()
        self.app.testing = True
        self.new_user = User(username=TEST_USER['username'],
                             password=User.generate_hash(
                                 TEST_USER['password']),
                             name=TEST_USER['name'],
                             surname=TEST_USER['surname'],
                             email=TEST_USER['email'])
        self.new_user.save_to_db()
Ejemplo n.º 3
0
    def setUp(self):
        utils.init_test_database()

        self.new_user = User(username=TEST_USER['username'],
                             password=User.generate_hash(
                                 TEST_USER['password']),
                             name=TEST_USER['name'],
                             surname=TEST_USER['surname'],
                             email=TEST_USER['email'])
        self.new_user.save_to_db()

        self.revoken_token = RevokedTokenModel(id=1, jti='some string')
Ejemplo n.º 4
0
    def post(self):
        data = self.parser.parse_args()

        if User.find_by_username(data['username']):
            return {'message': f"User {data['username']} already exists"}, 409

        new_user = User(username=data['username'],
                        password=User.generate_hash(data['password']),
                        name=data['name'],
                        surname=data['surname'],
                        email=data['email'])

        try:
            new_user.save_to_db()
            access_token = create_access_token(identity=data['username'])
            refresh_token = create_refresh_token(identity=data['username'])
            return {
                'message': f"User {data['username']} was created",
                'access_token': access_token,
                'refresh_token': refresh_token
            }, 201
        except Exception as e:
            logger.error(e)
            return {'message': 'Something went wrong'}, 500
Ejemplo n.º 5
0
 def test_generate_hash(self):
     user_hash = User.generate_hash(self.new_user.password)
     self.assertTrue(user_hash.startswith('$pbkdf2-sha256$29000$'))