code: def test_file_download(self):
      artifact_file = ArtifactFileData(
          file_path="to/file1",
          file_hash="2f249230a8e7c2bf6005ccd2679259ec",
          type=ArtifactFileType.S3.value,
          metadata={
              "location": f"s3://{self.bucket_name}/path/to/file1"
          },
      )
  
      with tempfile.TemporaryDirectory() as temporary:
          local_destination = Path(temporary) / "target.txt"
  
          S3ArtifactDriver.download_file(
              destination=local_destination,
              file_definition=artifact_file,
          )
  
          self.assertEqual(
              "2f249230a8e7c2bf6005ccd2679259ec", md5(local_destination)
          )
  
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 4 for calling the TestS3ArtifactDrivers obj's underlying member method code with example usage: obj.test_file_download() without return types