code: def testGetMetadataValue(self):
      # Wrap an arbitrary proto message in an MLMD Value.
      original_proto_value = struct_pb2.Value(
          string_value="message in a proto"
      )
      mlmd_value = metadata_store_pb2.Value()
      mlmd_value.proto_value.Pack(original_proto_value)
      # Get the raw metadata value, which should be a google.protobuf.Any type
      # since the property has a proto_value.
      raw_property_value = data_types_utils.get_metadata_value(
          mlmd_value
      )
      # Unpack the Any protobuf and compare against the original proto message.
      unpacked_value = proto_utils.unpack_proto_any(raw_property_value)
      self.assertEqual(
          unpacked_value.string_value, "message in a proto"
      )
  
imports: from absl.testing import parameterized
  import tensorflow
  from tfx import types
  from tfx.orchestration import data_types_utils
  from tfx.proto.orchestration import execution_result_pb2
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.types import artifact_utils
  from tfx.utils import proto_utils
  from tfx.utils import test_case_utils
  from google.protobuf import struct_pb2
  from google.protobuf import text_format
  from ml_metadata.proto import metadata_store_pb2
  from ml_metadata.proto import metadata_store_service_pb2
label_desc: Use image node_id 9 for calling the DataTypesUtilsTest obj's underlying member method code with example usage: obj.testGetMetadataValue() without return types