code: def test_publisher_client_creation(self, mock_client, mock_get_creds):
      assert self.pubsub_hook._client is None
      result = self.pubsub_hook.get_conn()
      mock_client.assert_called_once_with(
          credentials=mock_get_creds.return_value,
          client_info=CLIENT_INFO,
      )
      assert mock_client.return_value == result
      assert self.pubsub_hook._client == result
  
imports: from __future__ import annotations
  from unittest import mock
  from uuid import UUID
  import httplib2
  import pytest
  from google.api_core.exceptions import AlreadyExists, GoogleAPICallError
  from google.api_core.gapic_v1.method import DEFAULT
  from google.cloud.exceptions import NotFound
  from google.cloud.pubsub_v1.types import ReceivedMessage
  from googleapiclient.errors import HttpError
  from airflow.providers.google.cloud.hooks.pubsub import PubSubAsyncHook, PubSubException, PubSubHook
  from airflow.providers.google.common.consts import CLIENT_INFO
  from airflow.version import version
label_desc: Use image node_id 3 for calling the TestPubSubHook obj's underlying member method code with example usage: obj.test_publisher_client_creation(mock_client, mock_get_creds) without return types