code: def test_fast_file_metadata_provider(
      propagate_logs, caplog, fs, data_path, endpoint_url
  ):
      storage_options = (
          {}
          if endpoint_url is None
          else dict(client_kwargs=dict(endpoint_url=endpoint_url))
      )
  
      path_module = (
          os.path
          if urllib.parse.urlparse(data_path).scheme
          else posixpath
      )
      path1 = path_module.join(data_path, "test1.csv")
      path2 = path_module.join(data_path, "test2.csv")
      paths = [path1, path2]
      paths, fs = _resolve_paths_and_filesystem(paths, fs)
  
      df1 = pd.DataFrame({"one": [1, 2, 3], "two": ["a", "b", "c"]})
      df1.to_csv(path1, index=False, storage_options=storage_options)
      df2 = pd.DataFrame({"one": [4, 5, 6], "two": ["e", "f", "g"]})
      df2.to_csv(path2, index=False, storage_options=storage_options)
  
      meta_provider = FastFileMetadataProvider()
      with caplog.at_level(logging.WARNING):
          file_paths, file_sizes = map(
              list, zip(*meta_provider.expand_paths(paths, fs))
          )
      assert (
          "meta_provider=DefaultFileMetadataProvider()" in caplog.text
      )
      assert file_paths == paths
      assert len(file_sizes) == len(file_paths)
  
      meta = meta_provider(
          paths,
          None,
          rows_per_file=3,
          file_sizes=file_sizes,
      )
      assert meta.size_bytes is None
      assert meta.num_rows == 6
      assert len(paths) == 2
      assert all(path in meta.input_files for path in paths)
      assert meta.schema is None
  
imports: import logging
  import os
  import posixpath
  import urllib.parse
  from functools import partial
  from unittest.mock import patch
  import pandas
  import pyarrow
  import pyarrow.parquet
  import pytest
  from pyarrow.fs import LocalFileSystem
  from pytest_lazyfixture import lazy_fixture
  from ray.data.datasource import BaseFileMetadataProvider, DefaultFileMetadataProvider, DefaultParquetMetadataProvider, FastFileMetadataProvider, FileMetadataProvider, ParquetMetadataProvider
  from ray.data.datasource.file_based_datasource import FILE_SIZE_FETCH_PARALLELIZATION_THRESHOLD
  from ray.data.datasource.file_meta_provider import _get_file_infos_common_path_prefix, _get_file_infos_parallel, _get_file_infos_serial
  from ray.data.datasource.path_util import _resolve_paths_and_filesystem, _unwrap_protocol
  from ray.data.tests.conftest import *
  from ray.data.tests.test_partitioning import PathPartitionEncoder
  from ray.tests.conftest import *
label_desc: Use image node_id 11 for calling a global function with example usage: test_fast_file_metadata_provider(propagate_logs, caplog, fs, data_path, endpoint_url) without return types