code: def params_for_test_container_is_running():
      """The `container_is_running` method is designed to handle an assortment of bad objects
      returned from `read_pod`.  E.g. a None object, an object `e` such that `e.status` is None,
      an object `e` such that `e.status.container_statuses` is None, and so on.  This function
      emits params used in `test_container_is_running` to verify this behavior.
  
      We create mock classes not derived from MagicMock because with an instance `e` of MagicMock,
      tests like `e.hello is not None` are always True.
      """
  
      class RemotePodMock:
          pass
  
      class ContainerStatusMock:
          def __init__(self, name):
              self.name = name
  
      def remote_pod(running=None, not_running=None):
          e = RemotePodMock()
          e.status = RemotePodMock()
          e.status.container_statuses = []
          for r in not_running or []:
              e.status.container_statuses.append(container(r, False))
          for r in running or []:
              e.status.container_statuses.append(container(r, True))
          return e
  
      def container(name, running):
          c = ContainerStatusMock(name)
          c.state = RemotePodMock()
          c.state.running = {"a": "b"} if running else None
          return c
  
      pod_mock_list = []
      pod_mock_list.append(
          pytest.param(None, False, id="None remote_pod")
      )
      p = RemotePodMock()
      p.status = None
      pod_mock_list.append(
          pytest.param(p, False, id="None remote_pod.status")
      )
      p = RemotePodMock()
      p.status = RemotePodMock()
      p.status.container_statuses = []
      pod_mock_list.append(
          pytest.param(
              p, False, id="empty remote_pod.status.container_statuses"
          )
      )
      pod_mock_list.append(
          pytest.param(remote_pod(), False, id="filter empty")
      )
      pod_mock_list.append(
          pytest.param(
              remote_pod(None, ["base"]), False, id="filter 0 running"
          )
      )
      pod_mock_list.append(
          pytest.param(
              remote_pod(["hello"], ["base"]),
              False,
              id="filter 1 not running",
          )
      )
      pod_mock_list.append(
          pytest.param(
              remote_pod(["base"], ["hello"]),
              True,
              id="filter 1 running",
          )
      )
      return pod_mock_list
  
imports: from __future__ import annotations
  import logging
  from datetime import datetime
  from json.decoder import JSONDecodeError
  from types import SimpleNamespace
  from typing import TYPE_CHECKING, cast
  from unittest import mock
  from unittest.mock import MagicMock
  import pendulum
  import pytest
  import time_machine
  from kubernetes.client.rest import ApiException
  from urllib3.exceptions import HTTPError
  from airflow.exceptions import AirflowException
  from airflow.providers.cncf.kubernetes.utils.pod_manager import PodLogsConsumer, PodManager, PodPhase, container_is_running, container_is_succeeded, container_is_terminated
  from airflow.utils.timezone import utc
label_desc: Use image node_id 1 for calling a global function with example usage: params_for_test_container_is_running() and returns: pod_mock_list, e, c