code: def testGetCacheContextTwiceDifferentParameters(self):
      with metadata.Metadata(
          connection_config=self._connection_config
      ) as m:
          self._get_cache_context(m)
          self._get_cache_context(
              m, custom_parameters={"new_prop": "value"}
          )
          # Different parameters will result in new cache context.
          self.assertLen(m.store.get_contexts(), 2)
  
imports: import os
  from unittest import mock
  import tensorflow
  from tfx.dsl.io import fileio
  from tfx.orchestration import metadata
  from tfx.orchestration.portable import cache_utils
  from tfx.orchestration.portable import execution_publish_utils
  from tfx.orchestration.portable.mlmd import context_lib
  from tfx.proto.orchestration import executable_spec_pb2
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.types import standard_artifacts
  from tfx.utils import test_case_utils
  from google.protobuf import text_format
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 8 for calling the CacheUtilsTest obj's underlying member method code with example usage: obj.testGetCacheContextTwiceDifferentParameters() without return types