code: def test_cache_again(
      temp_cache: TrainingCache,
      default_model_storage: ModelStorage,
      initial_output_fingerprint: Text,
      second_output_fingerprint: Text,
  ):
      # Cache something
      fingerprint_key = uuid.uuid4().hex
      temp_cache.cache_output(
          fingerprint_key,
          None,
          initial_output_fingerprint,
          default_model_storage,
      )
  
      # Pretend we are caching the same fingerprint again
      # Note that it can't happen that we cache a `Cacheable` result twice as we would
      # have replaced the component with a `PrecomputedValueProvider` otherwise
      temp_cache.cache_output(
          fingerprint_key,
          None,
          second_output_fingerprint,
          default_model_storage,
      )
  
      assert (
          temp_cache.get_cached_output_fingerprint(fingerprint_key)
          == second_output_fingerprint
      )
  
imports: import dataclasses
  import logging
  import shutil
  import uuid
  from pathlib import Path
  from typing import Dict, Text, Optional, Any, Callable
  from unittest.mock import Mock
  import pytest
  from _pytest.logging import LogCaptureFixture
  from _pytest.monkeypatch import MonkeyPatch
  from sqlalchemy.exc import OperationalError
  import rasa.shared.utils.io
  import rasa.shared.utils.common
  from rasa.engine.caching import LocalTrainingCache, CACHE_LOCATION_ENV, DEFAULT_CACHE_NAME, CACHE_SIZE_ENV, CACHE_DB_NAME_ENV, TrainingCache
  import tests.conftest
  from rasa.engine.storage.local_model_storage import LocalModelStorage
  from rasa.engine.storage.resource import Resource
  from rasa.engine.storage.storage import ModelStorage
label_desc: Use image node_id 6 for calling a global function with example usage: test_cache_again(temp_cache, default_model_storage, initial_output_fingerprint, second_output_fingerprint) without return types