code: def test_save_url_to_cache(self, gradio_temp_dir):
      url1 = "https://raw.githubusercontent.com/gradio-app/gradio/main/gradio/test_data/test_image.png"
      url2 = "https://raw.githubusercontent.com/gradio-app/gradio/main/gradio/test_data/cheetah1.jpg"
  
      f = processing_utils.save_url_to_cache(
          url1, cache_dir=gradio_temp_dir
      )
      try:  # Delete if already exists from before this test
          os.remove(f)
      except OSError:
          pass
  
      f = processing_utils.save_url_to_cache(
          url1, cache_dir=gradio_temp_dir
      )
      assert (
          len([f for f in gradio_temp_dir.glob("**/*") if f.is_file()])
          == 1
      )
  
      f = processing_utils.save_url_to_cache(
          url1, cache_dir=gradio_temp_dir
      )
      assert (
          len([f for f in gradio_temp_dir.glob("**/*") if f.is_file()])
          == 1
      )
  
      f = processing_utils.save_url_to_cache(
          url2, cache_dir=gradio_temp_dir
      )
      assert (
          len([f for f in gradio_temp_dir.glob("**/*") if f.is_file()])
          == 2
      )
  
imports: import os
  import shutil
  import tempfile
  from copy import deepcopy
  from pathlib import Path
  from unittest.mock import patch
  import ffmpy
  import numpy
  import pytest
  from gradio_client import media_data
  from PIL import Image, ImageCms
  from gradio import processing_utils, utils
label_desc: Use image node_id 4 for calling the TestTempFileManagement obj's underlying member method code with example usage: obj.test_save_url_to_cache(gradio_temp_dir) without return types