code: def testLaunch_loadKubeConfigSucceed(
      self,
      mock_core_api_cls,
      mock_kube_config,
      mock_incluster_config,
      mock_publisher,
  ):
      mock_publisher.return_value.publish_execution.return_value = {}
      mock_incluster_config.side_effect = (
          config.config_exception.ConfigException()
      )
      core_api = mock_core_api_cls.return_value
      core_api.read_namespaced_pod.side_effect = [
          client.rest.ApiException(
              status=404
          ),  # Mock no existing pod state.
          self._mock_executor_pod(
              "Pending"
          ),  # Mock pending state after creation.
          self._mock_executor_pod(
              "Running"
          ),  # Mock running state after pending.
          self._mock_executor_pod("Succeeded"),  # Mock Succeeded state.
      ]
      # Mock successful pod creation.
      core_api.create_namespaced_pod.return_value = client.V1Pod()
      core_api.read_namespaced_pod_log.return_value.stream.return_value = [
          b"log-1"
      ]
      context = self._create_launcher_context()
  
      context["launcher"].launch()
  
      self.assertEqual(4, core_api.read_namespaced_pod.call_count)
      core_api.create_namespaced_pod.assert_called_once()
      core_api.read_namespaced_pod_log.assert_called_once()
      _, mock_kwargs = core_api.create_namespaced_pod.call_args
      self.assertEqual("kubeflow", mock_kwargs["namespace"])
      pod_manifest = mock_kwargs["body"]
      self.assertDictEqual(
          {
              "apiVersion": "v1",
              "kind": "Pod",
              "metadata": {
                  "name": "test-123-fakecomponent-fakecomponent-123",
              },
              "spec": {
                  "restartPolicy": "Never",
                  "serviceAccount": "tfx-service-account",
                  "serviceAccountName": "tfx-service-account",
                  "containers": [
                      {
                          "name": "main",
                          "image": "gcr://test",
                          "command": None,
                          "args": [context["input_artifact"].uri],
                      }
                  ],
              },
          },
          pod_manifest,
      )
  
imports: import os
  from unittest import mock
  from kubernetes import client
  from kubernetes import config
  import tensorflow
  from tfx.dsl.components.base import base_executor
  from tfx.dsl.components.base import executor_spec
  from tfx.orchestration import data_types
  from tfx.orchestration import metadata
  from tfx.orchestration import publisher
  from tfx.orchestration.config import kubernetes_component_config
  from tfx.orchestration.launcher import kubernetes_component_launcher
  from tfx.orchestration.launcher import test_utils
  from tfx.types import channel_utils
  from tfx.utils import kube_utils
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 3 for calling the KubernetesComponentLauncherTest obj's underlying member method code with example usage: obj.testLaunch_loadKubeConfigSucceed(mock_core_api_cls, mock_kube_config, mock_incluster_config, mock_publisher) without return types