code: def test_generate_model_card_for_model(self):
      store = tf_testdata_utils.get_tfx_pipeline_metadata_store(
          self.tmp_db_path
      )
      model_card = tf_utils.generate_model_card_for_model(
          store, tf_testdata_utils.TFX_0_21_MODEL_ARTIFACT_ID
      )
      trainers = store.get_executions_by_id(
          [tf_testdata_utils.TFX_0_21_TRAINER_ID]
      )
      self.assertNotEmpty(trainers)
      model_details = model_card.model_details
      self.assertEqual(
          model_details.name,
          trainers[-1].properties["module_file"].string_value,
      )
      self.assertEqual(
          model_details.version.name,
          trainers[-1].properties["checksum_md5"].string_value,
      )
      self.assertIn(
          trainers[-1].properties["pipeline_name"].string_value,
          [
              reference.reference
              for reference in model_details.references
          ],
      )
  
      datasets = store.get_artifacts_by_id(
          [tf_testdata_utils.TFX_0_21_MODEL_DATASET_ID]
      )
      self.assertNotEmpty(datasets)
  
imports: import os
  import uuid
  import ml_metadata
  import tensorflow_model_analysis
  from absl.testing import absltest
  from ml_metadata.proto import metadata_store_pb2
  from model_card_toolkit.model_card import ModelCard, PerformanceMetric
  from model_card_toolkit.utils import tf_utils
  from model_card_toolkit.utils.testdata import tf_testdata_utils
label_desc: Use image node_id 11 for calling the TfUtilsTest obj's underlying member method code with example usage: obj.test_generate_model_card_for_model() without return types