예제 #1
0
    def test_get_user_by_name_or_mail(self):
        """ Checks user retrieval from the database """
        user_one = User.get_user_by_name_or_mail(self.name1)
        user_two = User.get_user_by_name_or_mail(self.email1)

        self.assertEqual(user_one, user_two)
        self.assertEqual(user_one, self.user1)
예제 #2
0
    def validate(self, **extras) -> bool:
        """
        Validates that the user authenticated correctly

        :param extras: additional arguments
        :return: whether the login succeeded or not
        """
        if not super().validate():
            return False

        user = User.get_user_by_name_or_mail(self.username.data)

        if user is None:
            self.username.errors.append("Unknown username")
            return False

        if not user.check_password(self.password.data):
            self.password.errors.append("Invalid Password")
            return False

        self.user = user
        return True