Beispiel #1
0
    def update_user(self, *args, **kwargs):
        """Update user row in the database.

        :param args: tuple of arguments.
        :param kwargs: dictionary, where key is updated field of user model.
        """
        username = kwargs.pop('username', None)
        if not username:
            raise SearchCriteriaRequired(
                "Username for WHEN statement is required."
            )

        if len(kwargs) < 1:
            raise NotEnoughArguments()

        if 'password' in kwargs.keys():
            kwargs['password'] = generate_password_hash(kwargs['password'])

        updated_fields = self.__user_defined_fields(kwargs)
        update_query, query_args = construct_update_sql(**updated_fields)
        query_args.append(username)
        try:
            self.db_manager.execute_sql(update_query, query_args)
        except OperationalError as exc:
            logger.error(exc)
Beispiel #2
0
    def update_user(self, *args, **kwargs):
        """
        Update user row in the database.

        :param args: tuple of arguments.
        :param kwargs: dictionary, where key is updated field of user model.
        """
        username = kwargs.pop('username', None)
        if not username:
            raise SearchCriteriaRequired(
                "Username for WHEN statement is required.")  # NOQA

        if len(kwargs) < 1:
            raise NotEnoughArguments()

        if 'password' in kwargs.keys():
            kwargs['password'] = generate_password_hash(kwargs['password'])

        updated_fields = self.__user_defined_fields(kwargs)
        update_query, query_args = construct_update_sql(**updated_fields)
        query_args.append(username)
        try:
            self.db_manager.execute_sql(update_query, query_args)
        except OperationalError as exc:
            logger.error(exc)
Beispiel #3
0
def test_construct_update_sql(updated_fields):
    update_query, query_args = construct_update_sql(**updated_fields)
    assert len(updated_fields) == len(query_args)