code: def test_parse_multi_line_logs(
      self, mock_read_pod_logs, mock_container_is_running, caplog
  ):
      log = (
          "2020-10-08T14:16:17.793417674Z message1 line1\n"
          "message1 line2\n"
          "message1 line3\n"
          "2020-10-08T14:16:18.793417674Z message2 line1\n"
          "message2 line2\n"
          "2020-10-08T14:16:19.793417674Z message3 line1\n"
      )
      mock_read_pod_logs.return_value = [
          bytes(log_line, "utf-8") for log_line in log.split("\n")
      ]
      mock_container_is_running.return_value = False
  
      with caplog.at_level(logging.INFO):
          self.pod_manager.fetch_container_logs(
              mock.MagicMock(), mock.MagicMock(), follow=True
          )
  
      assert "message1 line1" in caplog.text
      assert "message1 line2" in caplog.text
      assert "message1 line3" in caplog.text
      assert "message2 line1" in caplog.text
      assert "message2 line2" in caplog.text
      assert "message3 line1" in caplog.text
      assert "ERROR" not in caplog.text
  
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 19 for calling the TestPodManager obj's underlying member method code with example usage: obj.test_parse_multi_line_logs(mock_read_pod_logs, mock_container_is_running, caplog) without return types