code: def testRegisterTypeReuseExisting(self, metadata_type_class):
      with metadata.Metadata(
          connection_config=self._connection_config
      ) as m:
          type_with_two_properties = _create_type(metadata_type_class)
          result_one = common_utils.register_type_if_not_exist(
              m, type_with_two_properties
          )
          # Tries to register a type that shares the same name of the type
          # previously registered but with no properties. We expect the previously
          # registered type to be reused.
          type_without_properties = metadata_type_class()
          text_format.Parse("name: 'my_type'", type_without_properties)
          result_two = common_utils.register_type_if_not_exist(
              m, type_without_properties
          )
          self.assertProtoEquals(result_one, result_two)
  
file_path: tfx/tfx/orchestration/portable/mlmd/common_utils_test.py
imports: from absl.testing import parameterized
  import tensorflow
  from tfx.orchestration import metadata
  from tfx.orchestration.portable.mlmd import common_utils
  from google.protobuf import text_format
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 3 for calling the CommonUtilsTest obj's underlying member method code with example usage: obj.testRegisterTypeReuseExisting(metadata_type_class) without return types