code: def testImporterDefinitionWithSingleUri(self):
      impt = importer.Importer(
          source_uri="m/y/u/r/i",
          properties={
              "split_names": '["train", "eval"]',
          },
          custom_properties={
              "str_custom_property": "abc",
              "int_custom_property": 123,
          },
          artifact_type=standard_artifacts.Examples,
          output_key="examples",
      ).with_id("my_importer")
      self.assertDictEqual(
          impt.exec_properties,
          {
              importer.SOURCE_URI_KEY: "m/y/u/r/i",
              importer.REIMPORT_OPTION_KEY: 0,
              importer.OUTPUT_KEY_KEY: "examples",
          },
      )
      self.assertEmpty(impt.inputs)
      output_channel = impt.outputs[
          impt.exec_properties[importer.OUTPUT_KEY_KEY]
      ]
      self.assertEqual(output_channel.type, standard_artifacts.Examples)
      # Tests properties in channel.
      self.assertEqual(
          output_channel.additional_properties,
          {
              "split_names": '["train", "eval"]',
          },
      )
      self.assertEqual(
          output_channel.additional_custom_properties,
          {
              "str_custom_property": "abc",
              "int_custom_property": 123,
          },
      )
      # Tests properties in artifact.
      output_artifact = list(output_channel.get())[0]
      self.assertTrue(output_artifact.is_external)
      self.assertEqual(output_artifact.split_names, '["train", "eval"]')
      self.assertEqual(
          output_artifact.get_string_custom_property(
              "str_custom_property"
          ),
          "abc",
      )
      self.assertEqual(
          output_artifact.get_int_custom_property(
              "int_custom_property"
          ),
          123,
      )
  
imports: from absl.testing import parameterized
  import tensorflow
  from tfx import types
  from tfx.dsl.components.common import importer
  from tfx.orchestration import data_types
  from tfx.orchestration import data_types_utils
  from tfx.orchestration import metadata
  from tfx.types import artifact_utils
  from tfx.types import standard_artifacts
  from tfx.utils import json_utils
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 5 for calling the ImporterTest obj's underlying member method code with example usage: obj.testImporterDefinitionWithSingleUri() without return types