code: def test_get_conn_iap_tunnel_with_impersonation_chain(
      self,
      mock_ssh_client,
      mock_paramiko,
      mock_os_login_hook,
      mock_compute_hook,
  ):
      del mock_os_login_hook
      mock_paramiko.SSHException = Exception
  
      mock_compute_hook.return_value.project_id = TEST_PROJECT_ID
  
      hook = ComputeEngineSSHHook(
          instance_name=TEST_INSTANCE_NAME,
          zone=TEST_ZONE,
          use_oslogin=False,
          use_iap_tunnel=True,
          impersonation_chain=IMPERSONATION_CHAIN,
      )
      result = hook.get_conn()
      assert mock_ssh_client.return_value == result
  
      mock_ssh_client.return_value.connect.assert_called_once_with(
          hostname=mock.ANY,
          look_for_keys=mock.ANY,
          pkey=mock.ANY,
          sock=mock_paramiko.ProxyCommand.return_value,
          username=mock.ANY,
      )
      mock_paramiko.ProxyCommand.assert_called_once_with(
          f"gcloud compute start-iap-tunnel {TEST_INSTANCE_NAME} 22 "
          f"--listen-on-stdin --project={TEST_PROJECT_ID} "
          f"--zone={TEST_ZONE} --verbosity=warning --impersonate-service-account={IMPERSONATION_CHAIN}"
      )
  
imports: from __future__ import annotations
  import json
  import logging
  from unittest import mock
  import httplib2
  import pytest
  from googleapiclient.errors import HttpError
  from paramiko.ssh_exception import SSHException
  from airflow.exceptions import AirflowException
  from airflow.models import Connection
  from airflow.providers.google.cloud.hooks.compute_ssh import ComputeEngineSSHHook
label_desc: Use image node_id 10 for calling the TestComputeEngineHookWithPassedProjectId obj's underlying member method code with example usage: obj.test_get_conn_iap_tunnel_with_impersonation_chain(mock_ssh_client, mock_paramiko, mock_os_login_hook, mock_compute_hook) without return types