code: def test_start_instance_overridden_project_id(
      self, wait_for_operation_to_complete, get_conn
  ):
      start_method = get_conn.return_value.instances.return_value.start
      execute_method = start_method.return_value.execute
      execute_method.return_value = {"name": "operation_id"}
      wait_for_operation_to_complete.return_value = None
      res = self.gce_hook_no_project_id.start_instance(
          project_id="example-project",
          zone=GCE_ZONE,
          resource_id=GCE_INSTANCE,
      )
      assert res is None
      start_method.assert_called_once_with(
          instance="instance", project="example-project", zone="zone"
      )
      execute_method.assert_called_once_with(num_retries=5)
      wait_for_operation_to_complete.assert_called_once_with(
          project_id="example-project",
          operation_name="operation_id",
          zone="zone",
      )
  
imports: from __future__ import annotations
  from unittest import mock
  from unittest.mock import PropertyMock
  import pytest
  from google.api_core.retry import Retry
  from airflow.exceptions import AirflowException
  from airflow.providers.google.cloud.hooks.compute import ComputeEngineHook, GceOperationStatus
  from tests.providers.google.cloud.utils.base_gcp_mock import GCP_PROJECT_ID_HOOK_UNIT_TEST, mock_base_gcp_hook_default_project_id, mock_base_gcp_hook_no_default_project_id
label_desc: Use image node_id 3 for calling the TestGcpComputeHookNoDefaultProjectId obj's underlying member method code with example usage: obj.test_start_instance_overridden_project_id(wait_for_operation_to_complete, get_conn) without return types