def test_validate_email(self):
     self.assertEqual(Utils.validate_email('*****@*****.**'), '*****@*****.**')
     self.assertEqual(Utils.validate_email('*****@*****.**'), '*****@*****.**')
     self.assertEqual(Utils.validate_email('*****@*****.**'), '*****@*****.**')
     self.assertEqual(Utils.validate_email('*****@*****.**'), '*****@*****.**')
     self.assertEqual(Utils.validate_email('*****@*****.**'), '*****@*****.**')
     self.assertEqual(Utils.validate_email('*****@*****.**'), '*****@*****.**')
     self.assertEqual(Utils.validate_email('daniel@test@com'), False)
示例#2
0
    def register_user(email, password):
        """
        Will register the user with email and password (hashed with sha_512)
        :param email: user's email (can be invalid)
        :param password: sha_512 hashed password
        :return: True if the user has been registered, False if not (exceptions can be used)
        """
        user_data = Database.find_one(collection='users', query={"email": email})

        if user_data is not None:
            # If user_date is not None, the query has returned a filled object, so the user is already registered
            raise UserErrors.UserRegistered("User already registered.")
        if not Utils.validate_email(email):
            # Tell the user if the his email is valid or not
            raise UserErrors.InvalidEmail("Invalid email, try again.")

        User(email=email, password=Utils.encrypt_password(password)).save_to_mongo()