code: def test_update_instance_that_doesnt_exists_empty_project_id(
      self, mock_hook
  ):
      mock_hook.return_value.get_instance.return_value = None
  
      with pytest.raises(AirflowException) as ctx:
          op = BigtableUpdateInstanceOperator(
              instance_id=INSTANCE_ID,
              instance_display_name=INSTANCE_DISPLAY_NAME,
              instance_type=INSTANCE_TYPE,
              instance_labels=INSTANCE_LABELS,
              task_id="id",
              gcp_conn_id=GCP_CONN_ID,
              impersonation_chain=IMPERSONATION_CHAIN,
          )
          op.execute(None)
  
      err = ctx.value
      assert (
          str(err)
          == f"Dependency: instance '{INSTANCE_ID}' does not exist."
      )
  
      mock_hook.assert_called_once_with(
          gcp_conn_id=GCP_CONN_ID,
          impersonation_chain=IMPERSONATION_CHAIN,
      )
      mock_hook.return_value.update_instance.assert_not_called()
  
imports: from __future__ import annotations
  from unittest import mock
  import google.api_core.exceptions
  import pytest
  from google.cloud.bigtable import enums
  from google.cloud.bigtable.column_family import MaxVersionsGCRule
  from google.cloud.bigtable.instance import Instance
  from airflow.exceptions import AirflowException
  from airflow.providers.google.cloud.operators.bigtable import BigtableCreateInstanceOperator, BigtableCreateTableOperator, BigtableDeleteInstanceOperator, BigtableDeleteTableOperator, BigtableUpdateClusterOperator, BigtableUpdateInstanceOperator
label_desc: Use image node_id 5 for calling the TestBigtableInstanceUpdate obj's underlying member method code with example usage: obj.test_update_instance_that_doesnt_exists_empty_project_id(mock_hook) without return types