code: def test_single_retrieval(self):
      files = S3ArtifactDriver.get_tracked_files(
          f"s3://{self.bucket_name}/path/to/file1"
      )
  
      self.assertEqual(1, len(files))
      self.assertIsInstance(files[0], ArtifactFileData)
      self.assertEqual(ArtifactFileType.S3.value, files[0].type)
      self.assertEqual(
          "2f249230a8e7c2bf6005ccd2679259ec", files[0].file_hash
      )
      self.assertEqual("file1", files[0].file_path)
      self.assertEqual(4, files[0].size)
      self.assertEqual(
          {"location", "last_modified"}, files[0].metadata.keys()
      )
      self.assertEqual(
          f"s3://{self.bucket_name}/path/to/file1",
          files[0].metadata["location"],
      )
      self.assertEqual(
          self.update_time.strftime(S3ArtifactDriver.DATETIME_FORMAT),
          files[0].metadata["last_modified"],
      )
  
imports: import datetime
  import tempfile
  import unittest
  from pathlib import Path
  import boto3
  import freezegun
  from moto import mock_s3
  from neptune.exceptions import NeptuneUnsupportedArtifactFunctionalityException
  from neptune.internal.artifacts.drivers.s3 import S3ArtifactDriver
  from neptune.internal.artifacts.types import ArtifactDriversMap, ArtifactFileData, ArtifactFileType
  from tests.unit.neptune.new.internal.artifacts.utils import md5
label_desc: Use image node_id 5 for calling the TestS3ArtifactDrivers obj's underlying member method code with example usage: obj.test_single_retrieval() without return types