code: def setUp(self):
      super().setUp()
      _ARTIFACT_1.uri = "gs://root/string/"
      # Hash value of
      # 'projects/123456789/locations/us-central1/metadataStores/default/artifacts/11111'
      _ARTIFACT_1.id = 9171918664759481579
      _ARTIFACT_1.set_string_custom_property(
          key="my_property_1", value="Test string."
      )
      _ARTIFACT_2.uri = "gs://root/model/"
      # Hash value of
      # 'projects/123456789/locations/us-central1/metadataStores/default/artifacts/22222'
      _ARTIFACT_2.id = 6826273797600318744
      _ARTIFACT_2.set_float_custom_property(
          key="my_property_2", value=42.0
      )
      _ARTIFACT_3.uri = "gs://root/examples/"
      _ARTIFACT_3.span = 9000
      # Hash value of
      # 'projects/123456789/locations/us-central1/metadataStores/default/artifacts/33333'
      _ARTIFACT_3.id = 27709763105391302
      self._expected_dict = {
          _KEY_1: [_ARTIFACT_1],
          _KEY_2: [_ARTIFACT_2],
          _KEY_3: [_ARTIFACT_3],
      }
      source_data_dir = os.path.join(
          os.path.dirname(__file__), "testdata"
      )
      # Use two protos to store the testdata.
      artifacts_pb = pipeline_pb2.ExecutorInput()
      io_utils.parse_json_file(
          os.path.join(source_data_dir, "artifacts.json"), artifacts_pb
      )
      self._artifacts = artifacts_pb.inputs.artifacts
  
      # Test legacy properties/custom properties deserialization.
      artifacts_legacy_pb = pipeline_pb2.ExecutorInput()
      io_utils.parse_json_file(
          os.path.join(source_data_dir, "artifacts_legacy.json"),
          artifacts_legacy_pb,
      )
      self._artifacts_legacy = artifacts_legacy_pb.inputs.artifacts
  
      properties_pb = pipeline_pb2.ExecutorInput()
      io_utils.parse_json_file(
          os.path.join(source_data_dir, "exec_properties.json"),
          properties_pb,
      )
      self._properties = properties_pb.inputs.parameters
  
file_path: tfx/tfx/orchestration/kubeflow/v2/container/kubeflow_v2_entrypoint_utils_test.py
imports: import os
  from kfp.pipeline_spec import pipeline_spec_pb2
  import tensorflow
  from tfx.components.evaluator import constants
  from tfx.orchestration.kubeflow.v2.container import kubeflow_v2_entrypoint_utils
  from tfx.types import standard_artifacts
  from tfx.utils import io_utils
label_desc: Use image node_id 1 for calling the KubeflowV2EntrypointUtilsTest obj's underlying member method code with example usage: obj.setUp() without return types