code: def test_job_awslogs_user_defined(self):
      self.client_mock.describe_jobs.return_value = {
          "jobs": [
              {
                  "jobId": JOB_ID,
                  "container": {
                      "logStreamName": LOG_STREAM_NAME,
                      "logConfiguration": {
                          "logDriver": "awslogs",
                          "options": {
                              "awslogs-group": "/test/batch/job",
                              "awslogs-region": "ap-southeast-2",
                          },
                      },
                  },
              }
          ]
      }
      awslogs = self.batch_client.get_job_awslogs_info(JOB_ID)
      assert awslogs["awslogs_stream_name"] == LOG_STREAM_NAME
      assert awslogs["awslogs_group"] == "/test/batch/job"
      assert awslogs["awslogs_region"] == "ap-southeast-2"
  
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 19 for calling the TestBatchClient obj's underlying member method code with example usage: obj.test_job_awslogs_user_defined() without return types