Example #1
0
 def test_new_user_invalid_email(self):
     """
     Test creating new user with no email raises error
     Returns:
     """
     with self.assertRaises(ValueError):
         User.create_user("", "testPass")
     with self.assertRaises(ValueError):
         User.create_user(None, "testPass")
Example #2
0
    def test_create_user_with_email_successful(self):
        """
        Test creating a user is successful
        Returns:

        """
        email = '*****@*****.**'
        password = '******'
        user = User()
        user = user.create_user(email=email, password=password)
        self.assertEqual(user.email, email)
        self.assertTrue(user.check_password(password))
Example #3
0
    def test_new_user_email_normalized(self):
        """
        Test the email for a new user is normalized

        Returns:

        """
        email = '*****@*****.**'
        user = User()
        user = user.create_user(email, 'qwerty  uiop12')

        self.assertEqual(user.email, email.lower())
Example #4
0
    def post(cls):
        """
        POST requests for login resource
        Returns:

        """
        try:
            user_json = request.get_json()
            user_from_schema = user_schema.load(user_json, )
            user = UserModel.find_by_email(user_from_schema.email)
            user_ip = get_client_ip(request)
            if user and user.check_password(user_from_schema.password):
                if not user.disabled:
                    access_token, refresh_token = generate_auth_token(
                        user, user_ip)
                    time_now = datetime.datetime.now(pytz.utc)
                    user_tracking = TrackLogin(user.id,
                                               ip_address=user_ip,
                                               created_on=time_now)
                    user_tracking.save()
                    return {
                        "access_token": access_token,
                        "refresh_token": refresh_token
                    }, 200
                return {"message": get_text("user_disabled")}, 401
            return {"message": get_text("user_invalid")}, 401

        except Exception as _:
            return {"message": get_text("user_error_logging_in")}, 500
Example #5
0
    def test_create_new_superuser(self):
        """
        Test creating a new super user
        Returns:

        """
        user = User.create_superuser('*****@*****.**', 'test123')
        self.assertEqual('Admin', user.role)
    def test_user_exists(self):
        """
        Test creating a user that already exists fails
        """
        new_payload = self.payload
        with self.movies_app.app_context():
            user = User.create_user(**self.payload)
            user.save()
        res = self.app.post(self.reg_url, json=new_payload)
        data = res.get_json()

        self.assertEqual(res.status_code, 400)
        self.assertEqual(data['message'], 'This email is already registered')
Example #7
0
    def post(cls):
        """
        POST request for registration Resource
        Returns:

        """
        user_json = request.get_json()
        user = user_schema.load(user_json, )

        if not is_email_valid(user.email):
            return {
                "message": get_text("user_email_bad_format").format(user.email)
            }, 400
        if UserModel.find_by_email(user.email):
            return {"message": get_text("user_email_exist")}, 400
        user = user.create_user(user.email, user.password)
        user.save()

        return {"message": get_text("user_registered")}, 201
 def test_create_valid_user_success(self):
     res = self.app.post(self.reg_url, json=self.payload)
     with self.movies_app.app_context():
         user = User.find_by_email(self.payload['email'])
     self.assertTrue(user.check_password(self.payload['password']))
     self.assertEqual(res.status_code, 201)