code: def testRegisterTypeModifiedKey(self, metadata_type_class):
      with metadata.Metadata(
          connection_config=self._connection_config
      ) as m:
          type_with_two_properties = _create_type(metadata_type_class)
          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 conflicting property types. We expect
          # this to fail.
          type_with_different_properties = metadata_type_class()
          text_format.Parse(
              """
            name: 'my_type'
            properties {
              key: 'p1'
              value: STRING  # This is different from the original registered type
            }
            """,
              type_with_different_properties,
          )
          with self.assertRaisesRegex(
              RuntimeError, "Conflicting properties"
          ):
              common_utils.register_type_if_not_exist(
                  m, type_with_different_properties
              )
  
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 5 for calling the CommonUtilsTest obj's underlying member method code with example usage: obj.testRegisterTypeModifiedKey(metadata_type_class) without return types