code: def test_job_no_awslogs_stream(self, caplog):
      self.client_mock.describe_jobs.return_value = {
          "jobs": [
              {
                  "jobId": JOB_ID,
                  "container": {"logConfiguration": {}},
              }
          ]
      }
  
      with caplog.at_level(level=logging.WARNING):
          assert self.batch_client.get_job_awslogs_info(JOB_ID) is None
          assert len(caplog.records) == 1
          assert (
              "doesn't have any AWS CloudWatch Stream"
              in caplog.messages[0]
          )
  
imports: from __future__ import annotations
  import logging
  import time
  from unittest import mock
  import botocore.exceptions
  import pytest
  from airflow.exceptions import AirflowException
  from airflow.providers.amazon.aws.hooks.batch_client import BatchClientHook
  from airflow.providers.amazon.aws.utils.task_log_fetcher import AwsTaskLogFetcher
label_desc: Use image node_id 20 for calling the TestBatchClient obj's underlying member method code with example usage: obj.test_job_no_awslogs_stream(caplog) without return types