code: def test_importer_task_scheduler(self):
      with self._mlmd_connection as m:
          ts_result = importer_task_scheduler.ImporterTaskScheduler(
              mlmd_handle=m,
              pipeline=self._pipeline,
              task=self._importer_task,
          ).schedule()
          self.assertEqual(status_lib.Code.OK, ts_result.status.code)
          self.assertIsInstance(
              ts_result.output, task_scheduler.ImporterNodeOutput
          )
          post_execution_utils.publish_execution_results_for_task(
              m, self._importer_task, ts_result
          )
          [artifact] = m.store.get_artifacts_by_type("Schema")
          self.assertProtoPartiallyEquals(
              """
            uri: "my_url"
            custom_properties {
              key: "int_custom_property"
              value {
                int_value: 123
              }
            }
            custom_properties {
              key: "is_external"
              value {
                int_value: 1
              }
            }
            custom_properties {
              key: "str_custom_property"
              value {
                string_value: "abc"
              }
            }
            custom_properties {
              key: "tfx_version"
              value {
                string_value: "0.123.4.dev"
              }
            }
            state: LIVE""",
              artifact,
              ignored_fields=[
                  "id",
                  "type_id",
                  "type",
                  "create_time_since_epoch",
                  "last_update_time_since_epoch",
              ],
          )
  
          [execution] = m.store.get_executions_by_id(
              [self._importer_task.execution_id]
          )
          self.assertProtoPartiallyEquals(
              """
            last_known_state: COMPLETE
            custom_properties {
              key: "__external_execution_index__"
              value {
                int_value: 0
              }
            }
            custom_properties {
              key: "__stateful_working_dir_index__"
              value {
                string_value: "mocked-index-123"
              }
            }
            custom_properties {
              key: "artifact_uri"
              value {
                string_value: "my_url"
              }
            }
            custom_properties {
              key: "output_key"
              value {
                string_value: "result"
              }
            }
            custom_properties {
              key: "reimport"
              value {
                int_value: 1
              }
            }
            """,
              execution,
              ignored_fields=[
                  "id",
                  "type_id",
                  "type",
                  "create_time_since_epoch",
                  "last_update_time_since_epoch",
                  "name",
              ],
          )
  
imports: import os
  from unittest import mock
  import uuid
  import tensorflow
  from tfx.dsl.compiler import constants
  from tfx.orchestration.experimental.core import post_execution_utils
  from tfx.orchestration.experimental.core import sync_pipeline_task_gen
  from tfx.orchestration.experimental.core import task_queue
  from tfx.orchestration.experimental.core import task_scheduler
  from tfx.orchestration.experimental.core import test_utils
  from tfx.orchestration.experimental.core.task_schedulers import importer_task_scheduler
  from tfx.orchestration.experimental.core.testing import test_pipeline_with_importer
  from tfx.orchestration import mlmd_connection_manager
  from tfx.orchestration.portable import runtime_parameter_utils
  from tfx.utils import status
label_desc: Use image node_id 3 for calling the ImporterTaskSchedulerTest obj's underlying member method code with example usage: obj.test_importer_task_scheduler() without return types