class_docstr: Checks the full filesystem resolution functionality, exercising each URL interpretation case.
code: def test_s3_url(self):
      suj = FilesystemResolver(
          "s3://bucket{}".format(ABS_PATH),
          self._hadoop_configuration,
          connector=self.mock,
      )
      self.assertTrue(isinstance(suj.filesystem(), s3fs.S3FileSystem))
      self.assertEqual("bucket", suj.parsed_dataset_url().netloc)
      self.assertEqual("bucket" + ABS_PATH, suj.get_dataset_path())
  
      # Make sure we did not capture FilesystemResolver in a closure by mistake
      dill.dumps(suj.filesystem_factory())
  
imports: import unittest
  import dill
  from pyarrow.filesystem import LocalFileSystem
  from pyarrow.lib import ArrowIOError
  from six.moves.urllib.parse import urlparse
  import gcsfs
  import s3fs
  from petastorm.fs_utils import FilesystemResolver, get_filesystem_and_path_or_paths
  from petastorm.hdfs.tests.test_hdfs_namenode import HC, MockHadoopConfiguration, MockHdfs, MockHdfsConnector
label_desc: Use image node_id 10 for calling the FilesystemResolverTest obj's underlying member method code with example usage: obj.test_s3_url() without return types