code: def test_handle_source(file_path, expected_columns):
      df, col_map = FileHandler._handle_source(file_path)
      assert isinstance(df, pandas.DataFrame)
      assert df.columns.tolist() == expected_columns
  
      # The pdf and txt files have some different content
      if not file_path.endswith(".pdf") and not file_path.endswith(
          ".txt"
      ):
          assert len(df) == len(test_file_content) - 1
          assert df.values.tolist() == test_file_content[1:]
  
imports: import json
  import os
  import shutil
  import tempfile
  from io import BytesIO, StringIO
  from unittest.mock import patch
  import pandas
  import pytest
  import responses
  from mindsdb_sql.exceptions import ParsingException
  from mindsdb_sql.parser.ast import CreateTable, DropTables, Identifier, Select, Star
  from pytest_lazyfixture import lazy_fixture
  from mindsdb.integrations.handlers.file_handler.file_handler import FileHandler
  from mindsdb.integrations.libs.response import RESPONSE_TYPE
  from mindsdb.interfaces.file.file_controller import FileController
label_desc: Use image node_id 10 for calling a global function with example usage: test_handle_source(file_path, expected_columns) without return types